From b1c010eca96441b41474c775ecc14895152d6d6a Mon Sep 17 00:00:00 2001 From: couchot Date: Tue, 29 May 2012 10:00:56 +0200 Subject: [PATCH] ajout initial --- IEEEtran.cls | 4702 +++++++++++++++++ IEEEtran_HOWTO.pdf | Bin 0 -> 674724 bytes biblio.bib | 56 + canny.tex | 6 - main.tex | 510 ++ stc/exp/ml_stc_linux_make_v1.0.tar.gz | Bin 0 -> 1164180 bytes stc/exp/ml_stc_linux_make_v1.0/Makefile | 19 + stc/exp/ml_stc_linux_make_v1.0/example.sh | 10 + .../include/boost/any.hpp | 253 + .../include/boost/assert.hpp | 50 + .../include/boost/bind/apply.hpp | 74 + .../include/boost/bind/arg.hpp | 62 + .../include/boost/bind/bind.hpp | 1751 ++++++ .../include/boost/bind/bind_cc.hpp | 117 + .../include/boost/bind/bind_mf2_cc.hpp | 228 + .../include/boost/bind/bind_mf_cc.hpp | 227 + .../include/boost/bind/bind_template.hpp | 345 ++ .../include/boost/bind/make_adaptable.hpp | 187 + .../include/boost/bind/mem_fn.hpp | 389 ++ .../include/boost/bind/mem_fn_cc.hpp | 103 + .../include/boost/bind/mem_fn_template.hpp | 1047 ++++ .../include/boost/bind/mem_fn_vw.hpp | 130 + .../include/boost/bind/placeholders.hpp | 69 + .../include/boost/bind/protect.hpp | 304 ++ .../include/boost/bind/storage.hpp | 475 ++ .../include/boost/call_traits.hpp | 24 + .../include/boost/cerrno.hpp | 331 ++ .../include/boost/checked_delete.hpp | 69 + .../include/boost/config.hpp | 70 + .../boost/config/abi/borland_prefix.hpp | 27 + .../boost/config/abi/borland_suffix.hpp | 12 + .../include/boost/config/abi/msvc_prefix.hpp | 22 + .../include/boost/config/abi/msvc_suffix.hpp | 8 + .../include/boost/config/abi_prefix.hpp | 25 + .../include/boost/config/abi_suffix.hpp | 27 + .../include/boost/config/auto_link.hpp | 373 ++ .../include/boost/config/compiler/borland.hpp | 267 + .../boost/config/compiler/codegear.hpp | 163 + .../include/boost/config/compiler/comeau.hpp | 59 + .../boost/config/compiler/common_edg.hpp | 97 + .../boost/config/compiler/compaq_cxx.hpp | 19 + .../boost/config/compiler/digitalmars.hpp | 93 + .../include/boost/config/compiler/gcc.hpp | 204 + .../include/boost/config/compiler/gcc_xml.hpp | 30 + .../boost/config/compiler/greenhills.hpp | 28 + .../include/boost/config/compiler/hp_acc.hpp | 127 + .../include/boost/config/compiler/intel.hpp | 173 + .../include/boost/config/compiler/kai.hpp | 33 + .../boost/config/compiler/metrowerks.hpp | 139 + .../include/boost/config/compiler/mpw.hpp | 81 + .../include/boost/config/compiler/pgi.hpp | 62 + .../boost/config/compiler/sgi_mipspro.hpp | 29 + .../boost/config/compiler/sunpro_cc.hpp | 130 + .../include/boost/config/compiler/vacpp.hpp | 88 + .../include/boost/config/compiler/visualc.hpp | 258 + .../include/boost/config/no_tr1/cmath.hpp | 28 + .../include/boost/config/no_tr1/complex.hpp | 28 + .../boost/config/no_tr1/functional.hpp | 28 + .../include/boost/config/no_tr1/memory.hpp | 28 + .../include/boost/config/no_tr1/utility.hpp | 28 + .../include/boost/config/platform/aix.hpp | 33 + .../include/boost/config/platform/amigaos.hpp | 15 + .../include/boost/config/platform/beos.hpp | 26 + .../include/boost/config/platform/bsd.hpp | 86 + .../include/boost/config/platform/cygwin.hpp | 51 + .../include/boost/config/platform/hpux.hpp | 87 + .../include/boost/config/platform/irix.hpp | 31 + .../include/boost/config/platform/linux.hpp | 98 + .../include/boost/config/platform/macos.hpp | 86 + .../include/boost/config/platform/qnxnto.hpp | 31 + .../include/boost/config/platform/solaris.hpp | 28 + .../include/boost/config/platform/vxworks.hpp | 31 + .../include/boost/config/platform/win32.hpp | 58 + .../include/boost/config/posix_features.hpp | 95 + .../include/boost/config/requires_threads.hpp | 92 + .../boost/config/select_compiler_config.hpp | 119 + .../boost/config/select_platform_config.hpp | 94 + .../boost/config/select_stdlib_config.hpp | 77 + .../boost/config/stdlib/dinkumware.hpp | 138 + .../include/boost/config/stdlib/libcomo.hpp | 71 + .../boost/config/stdlib/libstdcpp3.hpp | 127 + .../include/boost/config/stdlib/modena.hpp | 55 + .../include/boost/config/stdlib/msl.hpp | 83 + .../include/boost/config/stdlib/roguewave.hpp | 179 + .../include/boost/config/stdlib/sgi.hpp | 136 + .../include/boost/config/stdlib/stlport.hpp | 236 + .../include/boost/config/stdlib/vacpp.hpp | 43 + .../include/boost/config/suffix.hpp | 601 +++ .../include/boost/config/user.hpp | 124 + .../include/boost/config/warning_disable.hpp | 47 + .../include/boost/cstdint.hpp | 472 ++ .../include/boost/cstdlib.hpp | 41 + .../include/boost/current_function.hpp | 67 + .../include/boost/detail/algorithm.hpp | 222 + .../boost/detail/allocator_utilities.hpp | 212 + .../include/boost/detail/atomic_count.hpp | 21 + .../include/boost/detail/binary_search.hpp | 216 + .../include/boost/detail/call_traits.hpp | 164 + .../include/boost/detail/catch_exceptions.hpp | 146 + .../include/boost/detail/compressed_pair.hpp | 443 ++ .../include/boost/detail/container_fwd.hpp | 99 + .../include/boost/detail/dynamic_bitset.hpp | 229 + .../include/boost/detail/endian.hpp | 73 + .../boost/detail/has_default_constructor.hpp | 29 + .../include/boost/detail/identifier.hpp | 89 + .../include/boost/detail/indirect_traits.hpp | 487 ++ .../include/boost/detail/interlocked.hpp | 142 + .../boost/detail/is_function_ref_tester.hpp | 135 + .../include/boost/detail/is_incrementable.hpp | 134 + .../include/boost/detail/is_xxx.hpp | 61 + .../include/boost/detail/iterator.hpp | 494 ++ .../include/boost/detail/lcast_precision.hpp | 184 + .../boost/detail/lightweight_mutex.hpp | 22 + .../include/boost/detail/lightweight_test.hpp | 91 + .../boost/detail/lightweight_thread.hpp | 135 + .../include/boost/detail/limits.hpp | 449 ++ .../boost/detail/named_template_params.hpp | 177 + .../boost/detail/no_exceptions_support.hpp | 87 + .../include/boost/detail/none_t.hpp | 28 + .../include/boost/detail/numeric_traits.hpp | 191 + .../include/boost/detail/ob_call_traits.hpp | 168 + .../boost/detail/ob_compressed_pair.hpp | 510 ++ .../include/boost/detail/quick_allocator.hpp | 23 + .../boost/detail/reference_content.hpp | 141 + .../boost/detail/scoped_enum_emulation.hpp | 56 + .../include/boost/detail/select_type.hpp | 36 + .../include/boost/detail/sp_typeinfo.hpp | 129 + .../boost/detail/templated_streams.hpp | 74 + .../boost/detail/utf8_codecvt_facet.hpp | 190 + .../include/boost/detail/workaround.hpp | 262 + .../include/boost/exception/all.hpp | 36 + .../exception/current_exception_cast.hpp | 43 + .../exception/detail/attribute_noreturn.hpp | 17 + .../exception/detail/error_info_impl.hpp | 75 + .../boost/exception/detail/exception_ptr.hpp | 490 ++ .../exception/detail/is_output_streamable.hpp | 47 + .../exception/detail/object_hex_dump.hpp | 50 + .../boost/exception/detail/type_info.hpp | 79 + .../exception/diagnostic_information.hpp | 182 + .../exception/enable_current_exception.hpp | 6 + .../boost/exception/enable_error_info.hpp | 6 + .../boost/exception/errinfo_api_function.hpp | 22 + .../boost/exception/errinfo_at_line.hpp | 18 + .../include/boost/exception/errinfo_errno.hpp | 44 + .../boost/exception/errinfo_file_handle.hpp | 20 + .../boost/exception/errinfo_file_name.hpp | 26 + .../exception/errinfo_file_open_mode.hpp | 26 + .../exception/errinfo_nested_exception.hpp | 17 + .../exception/errinfo_type_info_name.hpp | 23 + .../include/boost/exception/error_info.hpp | 6 + .../include/boost/exception/exception.hpp | 422 ++ .../boost/exception/get_error_info.hpp | 130 + .../include/boost/exception/info.hpp | 167 + .../include/boost/exception/info_tuple.hpp | 76 + .../include/boost/exception/to_string.hpp | 83 + .../boost/exception/to_string_stub.hpp | 109 + .../include/boost/filesystem.hpp | 20 + .../include/boost/filesystem/config.hpp | 113 + .../include/boost/filesystem/convenience.hpp | 306 ++ .../include/boost/filesystem/exception.hpp | 9 + .../include/boost/filesystem/fstream.hpp | 584 ++ .../include/boost/filesystem/operations.hpp | 1179 +++++ .../include/boost/filesystem/path.hpp | 1531 ++++++ .../include/boost/function.hpp | 66 + .../function/detail/function_iterate.hpp | 16 + .../function/detail/gen_maybe_include.pl | 37 + .../boost/function/detail/maybe_include.hpp | 267 + .../boost/function/detail/prologue.hpp | 26 + .../include/boost/function/function0.hpp | 12 + .../include/boost/function/function1.hpp | 12 + .../include/boost/function/function10.hpp | 12 + .../include/boost/function/function2.hpp | 12 + .../include/boost/function/function3.hpp | 12 + .../include/boost/function/function4.hpp | 12 + .../include/boost/function/function5.hpp | 12 + .../include/boost/function/function6.hpp | 12 + .../include/boost/function/function7.hpp | 12 + .../include/boost/function/function8.hpp | 12 + .../include/boost/function/function9.hpp | 12 + .../include/boost/function/function_base.hpp | 904 ++++ .../include/boost/function/function_fwd.hpp | 70 + .../boost/function/function_template.hpp | 1158 ++++ .../boost/function/function_typeof.hpp | 45 + .../include/boost/function/gen_function_N.pl | 26 + .../include/boost/function_equal.hpp | 28 + .../include/boost/get_pointer.hpp | 33 + .../include/boost/implicit_cast.hpp | 29 + .../include/boost/integer.hpp | 253 + .../include/boost/integer/integer_mask.hpp | 102 + .../include/boost/integer/static_log2.hpp | 127 + .../include/boost/integer/static_min_max.hpp | 51 + .../include/boost/integer_fwd.hpp | 174 + .../include/boost/integer_traits.hpp | 261 + .../include/boost/iterator.hpp | 59 + .../boost/iterator/counting_iterator.hpp | 215 + .../iterator/detail/any_conversion_eater.hpp | 19 + .../boost/iterator/detail/config_def.hpp | 137 + .../boost/iterator/detail/config_undef.hpp | 25 + .../boost/iterator/detail/enable_if.hpp | 86 + .../detail/facade_iterator_category.hpp | 200 + .../iterator/detail/minimum_category.hpp | 116 + .../boost/iterator/filter_iterator.hpp | 135 + .../boost/iterator/indirect_iterator.hpp | 139 + .../include/boost/iterator/interoperable.hpp | 50 + .../boost/iterator/is_lvalue_iterator.hpp | 150 + .../boost/iterator/is_readable_iterator.hpp | 108 + .../boost/iterator/iterator_adaptor.hpp | 371 ++ .../boost/iterator/iterator_archetypes.hpp | 515 ++ .../boost/iterator/iterator_categories.hpp | 188 + .../boost/iterator/iterator_concepts.hpp | 284 + .../boost/iterator/iterator_facade.hpp | 878 +++ .../boost/iterator/iterator_traits.hpp | 92 + .../boost/iterator/new_iterator_tests.hpp | 264 + .../boost/iterator/permutation_iterator.hpp | 72 + .../boost/iterator/reverse_iterator.hpp | 69 + .../boost/iterator/transform_iterator.hpp | 188 + .../include/boost/iterator/zip_iterator.hpp | 585 ++ .../include/boost/lexical_cast.hpp | 1213 +++++ .../include/boost/limits.hpp | 146 + .../include/boost/mem_fn.hpp | 24 + .../include/boost/memory_order.hpp | 53 + .../include/boost/mpl/O1_size.hpp | 40 + .../include/boost/mpl/O1_size_fwd.hpp | 24 + .../include/boost/mpl/accumulate.hpp | 39 + .../include/boost/mpl/advance.hpp | 76 + .../include/boost/mpl/advance_fwd.hpp | 28 + .../include/boost/mpl/alias.hpp | 21 + .../include/boost/mpl/always.hpp | 39 + .../include/boost/mpl/and.hpp | 60 + .../include/boost/mpl/apply.hpp | 229 + .../include/boost/mpl/apply_fwd.hpp | 107 + .../include/boost/mpl/apply_wrap.hpp | 234 + .../include/boost/mpl/arg.hpp | 131 + .../include/boost/mpl/arg_fwd.hpp | 28 + .../include/boost/mpl/arithmetic.hpp | 25 + .../include/boost/mpl/as_sequence.hpp | 38 + .../include/boost/mpl/assert.hpp | 370 ++ .../include/boost/mpl/at.hpp | 52 + .../include/boost/mpl/at_fwd.hpp | 24 + .../include/boost/mpl/aux_/O1_size_impl.hpp | 87 + .../include/boost/mpl/aux_/adl_barrier.hpp | 48 + .../boost/mpl/aux_/advance_backward.hpp | 128 + .../boost/mpl/aux_/advance_forward.hpp | 127 + .../include/boost/mpl/aux_/apply_1st.hpp | 35 + .../include/boost/mpl/aux_/arg_typedef.hpp | 31 + .../include/boost/mpl/aux_/arithmetic_op.hpp | 92 + .../include/boost/mpl/aux_/arity.hpp | 39 + .../include/boost/mpl/aux_/arity_spec.hpp | 67 + .../include/boost/mpl/aux_/at_impl.hpp | 45 + .../include/boost/mpl/aux_/back_impl.hpp | 43 + .../include/boost/mpl/aux_/basic_bind.hpp | 21 + .../include/boost/mpl/aux_/begin_end_impl.hpp | 101 + .../include/boost/mpl/aux_/clear_impl.hpp | 35 + .../boost/mpl/aux_/common_name_wknd.hpp | 34 + .../include/boost/mpl/aux_/comparison_op.hpp | 83 + .../include/boost/mpl/aux_/config/adl.hpp | 40 + .../include/boost/mpl/aux_/config/arrays.hpp | 30 + .../include/boost/mpl/aux_/config/bcc.hpp | 28 + .../include/boost/mpl/aux_/config/bind.hpp | 33 + .../boost/mpl/aux_/config/compiler.hpp | 66 + .../include/boost/mpl/aux_/config/ctps.hpp | 30 + .../boost/mpl/aux_/config/dependent_nttp.hpp | 35 + .../mpl/aux_/config/dmc_ambiguous_ctps.hpp | 27 + .../include/boost/mpl/aux_/config/dtp.hpp | 46 + .../include/boost/mpl/aux_/config/eti.hpp | 47 + .../boost/mpl/aux_/config/forwarding.hpp | 27 + .../include/boost/mpl/aux_/config/gcc.hpp | 23 + .../boost/mpl/aux_/config/has_apply.hpp | 32 + .../include/boost/mpl/aux_/config/has_xxx.hpp | 33 + .../boost/mpl/aux_/config/integral.hpp | 38 + .../include/boost/mpl/aux_/config/intel.hpp | 21 + .../include/boost/mpl/aux_/config/lambda.hpp | 32 + .../include/boost/mpl/aux_/config/msvc.hpp | 21 + .../boost/mpl/aux_/config/msvc_typename.hpp | 26 + .../include/boost/mpl/aux_/config/nttp.hpp | 41 + .../boost/mpl/aux_/config/operators.hpp | 33 + .../mpl/aux_/config/overload_resolution.hpp | 29 + .../boost/mpl/aux_/config/pp_counter.hpp | 26 + .../boost/mpl/aux_/config/preprocessor.hpp | 39 + .../boost/mpl/aux_/config/static_constant.hpp | 25 + .../include/boost/mpl/aux_/config/ttp.hpp | 41 + .../include/boost/mpl/aux_/config/typeof.hpp | 38 + .../mpl/aux_/config/use_preprocessed.hpp | 19 + .../boost/mpl/aux_/config/workaround.hpp | 19 + .../include/boost/mpl/aux_/contains_impl.hpp | 61 + .../include/boost/mpl/aux_/count_args.hpp | 105 + .../include/boost/mpl/aux_/count_impl.hpp | 44 + .../include/boost/mpl/aux_/empty_impl.hpp | 43 + .../include/boost/mpl/aux_/erase_impl.hpp | 69 + .../include/boost/mpl/aux_/erase_key_impl.hpp | 32 + .../include/boost/mpl/aux_/filter_iter.hpp | 140 + .../include/boost/mpl/aux_/find_if_pred.hpp | 31 + .../include/boost/mpl/aux_/fold_impl.hpp | 43 + .../include/boost/mpl/aux_/fold_impl_body.hpp | 365 ++ .../include/boost/mpl/aux_/fold_op.hpp | 37 + .../include/boost/mpl/aux_/fold_pred.hpp | 37 + .../include/boost/mpl/aux_/front_impl.hpp | 41 + .../include/boost/mpl/aux_/full_lambda.hpp | 354 ++ .../include/boost/mpl/aux_/has_apply.hpp | 32 + .../include/boost/mpl/aux_/has_begin.hpp | 23 + .../include/boost/mpl/aux_/has_key_impl.hpp | 34 + .../include/boost/mpl/aux_/has_rebind.hpp | 99 + .../include/boost/mpl/aux_/has_size.hpp | 23 + .../include/boost/mpl/aux_/has_tag.hpp | 23 + .../include/boost/mpl/aux_/has_type.hpp | 23 + .../boost/mpl/aux_/include_preprocessed.hpp | 42 + .../include/boost/mpl/aux_/insert_impl.hpp | 68 + .../boost/mpl/aux_/insert_range_impl.hpp | 77 + .../boost/mpl/aux_/inserter_algorithm.hpp | 159 + .../boost/mpl/aux_/integral_wrapper.hpp | 93 + .../boost/mpl/aux_/is_msvc_eti_arg.hpp | 64 + .../include/boost/mpl/aux_/iter_apply.hpp | 47 + .../boost/mpl/aux_/iter_fold_if_impl.hpp | 210 + .../include/boost/mpl/aux_/iter_fold_impl.hpp | 42 + .../boost/mpl/aux_/iter_push_front.hpp | 36 + .../include/boost/mpl/aux_/joint_iter.hpp | 120 + .../boost/mpl/aux_/lambda_arity_param.hpp | 25 + .../include/boost/mpl/aux_/lambda_no_ctps.hpp | 193 + .../include/boost/mpl/aux_/lambda_spec.hpp | 49 + .../include/boost/mpl/aux_/lambda_support.hpp | 169 + .../include/boost/mpl/aux_/largest_int.hpp | 63 + .../include/boost/mpl/aux_/logical_op.hpp | 165 + .../include/boost/mpl/aux_/msvc_dtw.hpp | 68 + .../include/boost/mpl/aux_/msvc_eti_base.hpp | 77 + .../include/boost/mpl/aux_/msvc_is_class.hpp | 58 + .../boost/mpl/aux_/msvc_never_true.hpp | 34 + .../include/boost/mpl/aux_/msvc_type.hpp | 62 + .../include/boost/mpl/aux_/na.hpp | 95 + .../include/boost/mpl/aux_/na_assert.hpp | 34 + .../include/boost/mpl/aux_/na_fwd.hpp | 31 + .../include/boost/mpl/aux_/na_spec.hpp | 175 + .../boost/mpl/aux_/nested_type_wknd.hpp | 48 + .../include/boost/mpl/aux_/nttp_decl.hpp | 35 + .../boost/mpl/aux_/numeric_cast_utils.hpp | 77 + .../include/boost/mpl/aux_/numeric_op.hpp | 315 ++ .../include/boost/mpl/aux_/order_impl.hpp | 76 + .../include/boost/mpl/aux_/overload_names.hpp | 48 + .../include/boost/mpl/aux_/partition_op.hpp | 58 + .../include/boost/mpl/aux_/pop_back_impl.hpp | 34 + .../include/boost/mpl/aux_/pop_front_impl.hpp | 44 + .../preprocessed/bcc/advance_backward.hpp | 97 + .../aux_/preprocessed/bcc/advance_forward.hpp | 97 + .../boost/mpl/aux_/preprocessed/bcc/and.hpp | 69 + .../boost/mpl/aux_/preprocessed/bcc/apply.hpp | 169 + .../mpl/aux_/preprocessed/bcc/apply_fwd.hpp | 52 + .../mpl/aux_/preprocessed/bcc/apply_wrap.hpp | 461 ++ .../boost/mpl/aux_/preprocessed/bcc/arg.hpp | 117 + .../mpl/aux_/preprocessed/bcc/basic_bind.hpp | 300 ++ .../boost/mpl/aux_/preprocessed/bcc/bind.hpp | 397 ++ .../mpl/aux_/preprocessed/bcc/bind_fwd.hpp | 46 + .../mpl/aux_/preprocessed/bcc/bitand.hpp | 147 + .../boost/mpl/aux_/preprocessed/bcc/bitor.hpp | 147 + .../mpl/aux_/preprocessed/bcc/bitxor.hpp | 147 + .../boost/mpl/aux_/preprocessed/bcc/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc/divides.hpp | 146 + .../mpl/aux_/preprocessed/bcc/equal_to.hpp | 94 + .../mpl/aux_/preprocessed/bcc/fold_impl.hpp | 180 + .../mpl/aux_/preprocessed/bcc/full_lambda.hpp | 558 ++ .../mpl/aux_/preprocessed/bcc/greater.hpp | 94 + .../aux_/preprocessed/bcc/greater_equal.hpp | 94 + .../mpl/aux_/preprocessed/bcc/inherit.hpp | 139 + .../preprocessed/bcc/iter_fold_if_impl.hpp | 133 + .../aux_/preprocessed/bcc/iter_fold_impl.hpp | 180 + .../aux_/preprocessed/bcc/lambda_no_ctps.hpp | 229 + .../boost/mpl/aux_/preprocessed/bcc/less.hpp | 94 + .../mpl/aux_/preprocessed/bcc/less_equal.hpp | 94 + .../boost/mpl/aux_/preprocessed/bcc/list.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc/list_c.hpp | 328 ++ .../boost/mpl/aux_/preprocessed/bcc/map.hpp | 323 ++ .../boost/mpl/aux_/preprocessed/bcc/minus.hpp | 146 + .../mpl/aux_/preprocessed/bcc/modulus.hpp | 101 + .../aux_/preprocessed/bcc/not_equal_to.hpp | 94 + .../boost/mpl/aux_/preprocessed/bcc/or.hpp | 69 + .../aux_/preprocessed/bcc/placeholders.hpp | 105 + .../boost/mpl/aux_/preprocessed/bcc/plus.hpp | 146 + .../boost/mpl/aux_/preprocessed/bcc/quote.hpp | 119 + .../preprocessed/bcc/reverse_fold_impl.hpp | 295 ++ .../bcc/reverse_iter_fold_impl.hpp | 295 ++ .../boost/mpl/aux_/preprocessed/bcc/set.hpp | 323 ++ .../boost/mpl/aux_/preprocessed/bcc/set_c.hpp | 328 ++ .../mpl/aux_/preprocessed/bcc/shift_left.hpp | 99 + .../mpl/aux_/preprocessed/bcc/shift_right.hpp | 99 + .../aux_/preprocessed/bcc/template_arity.hpp | 40 + .../boost/mpl/aux_/preprocessed/bcc/times.hpp | 146 + .../mpl/aux_/preprocessed/bcc/unpack_args.hpp | 97 + .../mpl/aux_/preprocessed/bcc/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc/vector_c.hpp | 309 ++ .../preprocessed/bcc551/advance_backward.hpp | 97 + .../preprocessed/bcc551/advance_forward.hpp | 97 + .../mpl/aux_/preprocessed/bcc551/and.hpp | 69 + .../mpl/aux_/preprocessed/bcc551/apply.hpp | 169 + .../aux_/preprocessed/bcc551/apply_fwd.hpp | 52 + .../aux_/preprocessed/bcc551/apply_wrap.hpp | 456 ++ .../mpl/aux_/preprocessed/bcc551/arg.hpp | 123 + .../aux_/preprocessed/bcc551/basic_bind.hpp | 306 ++ .../mpl/aux_/preprocessed/bcc551/bind.hpp | 403 ++ .../mpl/aux_/preprocessed/bcc551/bind_fwd.hpp | 46 + .../mpl/aux_/preprocessed/bcc551/bitand.hpp | 147 + .../mpl/aux_/preprocessed/bcc551/bitor.hpp | 147 + .../mpl/aux_/preprocessed/bcc551/bitxor.hpp | 147 + .../mpl/aux_/preprocessed/bcc551/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc551/divides.hpp | 146 + .../mpl/aux_/preprocessed/bcc551/equal_to.hpp | 94 + .../aux_/preprocessed/bcc551/fold_impl.hpp | 180 + .../aux_/preprocessed/bcc551/full_lambda.hpp | 558 ++ .../mpl/aux_/preprocessed/bcc551/greater.hpp | 94 + .../preprocessed/bcc551/greater_equal.hpp | 94 + .../mpl/aux_/preprocessed/bcc551/inherit.hpp | 141 + .../preprocessed/bcc551/iter_fold_if_impl.hpp | 133 + .../preprocessed/bcc551/iter_fold_impl.hpp | 180 + .../preprocessed/bcc551/lambda_no_ctps.hpp | 229 + .../mpl/aux_/preprocessed/bcc551/less.hpp | 94 + .../aux_/preprocessed/bcc551/less_equal.hpp | 94 + .../mpl/aux_/preprocessed/bcc551/list.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc551/list_c.hpp | 328 ++ .../mpl/aux_/preprocessed/bcc551/map.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc551/minus.hpp | 146 + .../mpl/aux_/preprocessed/bcc551/modulus.hpp | 101 + .../aux_/preprocessed/bcc551/not_equal_to.hpp | 94 + .../boost/mpl/aux_/preprocessed/bcc551/or.hpp | 69 + .../aux_/preprocessed/bcc551/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/bcc551/plus.hpp | 146 + .../mpl/aux_/preprocessed/bcc551/quote.hpp | 11 + .../preprocessed/bcc551/reverse_fold_impl.hpp | 295 ++ .../bcc551/reverse_iter_fold_impl.hpp | 295 ++ .../mpl/aux_/preprocessed/bcc551/set.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc551/set_c.hpp | 328 ++ .../aux_/preprocessed/bcc551/shift_left.hpp | 99 + .../aux_/preprocessed/bcc551/shift_right.hpp | 99 + .../preprocessed/bcc551/template_arity.hpp | 40 + .../mpl/aux_/preprocessed/bcc551/times.hpp | 146 + .../aux_/preprocessed/bcc551/unpack_args.hpp | 97 + .../mpl/aux_/preprocessed/bcc551/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/bcc551/vector_c.hpp | 309 ++ .../bcc_pre590/advance_backward.hpp | 97 + .../bcc_pre590/advance_forward.hpp | 97 + .../mpl/aux_/preprocessed/bcc_pre590/and.hpp | 69 + .../aux_/preprocessed/bcc_pre590/apply.hpp | 169 + .../preprocessed/bcc_pre590/apply_fwd.hpp | 52 + .../preprocessed/bcc_pre590/apply_wrap.hpp | 456 ++ .../mpl/aux_/preprocessed/bcc_pre590/arg.hpp | 117 + .../preprocessed/bcc_pre590/basic_bind.hpp | 300 ++ .../mpl/aux_/preprocessed/bcc_pre590/bind.hpp | 397 ++ .../aux_/preprocessed/bcc_pre590/bind_fwd.hpp | 46 + .../aux_/preprocessed/bcc_pre590/bitand.hpp | 147 + .../aux_/preprocessed/bcc_pre590/bitor.hpp | 147 + .../aux_/preprocessed/bcc_pre590/bitxor.hpp | 147 + .../aux_/preprocessed/bcc_pre590/deque.hpp | 323 ++ .../aux_/preprocessed/bcc_pre590/divides.hpp | 146 + .../aux_/preprocessed/bcc_pre590/equal_to.hpp | 94 + .../preprocessed/bcc_pre590/fold_impl.hpp | 180 + .../preprocessed/bcc_pre590/full_lambda.hpp | 558 ++ .../aux_/preprocessed/bcc_pre590/greater.hpp | 94 + .../preprocessed/bcc_pre590/greater_equal.hpp | 94 + .../aux_/preprocessed/bcc_pre590/inherit.hpp | 139 + .../bcc_pre590/iter_fold_if_impl.hpp | 133 + .../bcc_pre590/iter_fold_impl.hpp | 180 + .../bcc_pre590/lambda_no_ctps.hpp | 229 + .../mpl/aux_/preprocessed/bcc_pre590/less.hpp | 94 + .../preprocessed/bcc_pre590/less_equal.hpp | 94 + .../mpl/aux_/preprocessed/bcc_pre590/list.hpp | 323 ++ .../aux_/preprocessed/bcc_pre590/list_c.hpp | 328 ++ .../mpl/aux_/preprocessed/bcc_pre590/map.hpp | 323 ++ .../aux_/preprocessed/bcc_pre590/minus.hpp | 146 + .../aux_/preprocessed/bcc_pre590/modulus.hpp | 101 + .../preprocessed/bcc_pre590/not_equal_to.hpp | 94 + .../mpl/aux_/preprocessed/bcc_pre590/or.hpp | 69 + .../preprocessed/bcc_pre590/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/bcc_pre590/plus.hpp | 146 + .../aux_/preprocessed/bcc_pre590/quote.hpp | 11 + .../bcc_pre590/reverse_fold_impl.hpp | 295 ++ .../bcc_pre590/reverse_iter_fold_impl.hpp | 295 ++ .../mpl/aux_/preprocessed/bcc_pre590/set.hpp | 323 ++ .../aux_/preprocessed/bcc_pre590/set_c.hpp | 328 ++ .../preprocessed/bcc_pre590/shift_left.hpp | 99 + .../preprocessed/bcc_pre590/shift_right.hpp | 99 + .../bcc_pre590/template_arity.hpp | 40 + .../aux_/preprocessed/bcc_pre590/times.hpp | 146 + .../preprocessed/bcc_pre590/unpack_args.hpp | 97 + .../aux_/preprocessed/bcc_pre590/vector.hpp | 323 ++ .../aux_/preprocessed/bcc_pre590/vector_c.hpp | 309 ++ .../preprocessed/dmc/advance_backward.hpp | 97 + .../aux_/preprocessed/dmc/advance_forward.hpp | 97 + .../boost/mpl/aux_/preprocessed/dmc/and.hpp | 69 + .../boost/mpl/aux_/preprocessed/dmc/apply.hpp | 169 + .../mpl/aux_/preprocessed/dmc/apply_fwd.hpp | 52 + .../mpl/aux_/preprocessed/dmc/apply_wrap.hpp | 84 + .../boost/mpl/aux_/preprocessed/dmc/arg.hpp | 123 + .../mpl/aux_/preprocessed/dmc/basic_bind.hpp | 406 ++ .../boost/mpl/aux_/preprocessed/dmc/bind.hpp | 515 ++ .../mpl/aux_/preprocessed/dmc/bind_fwd.hpp | 53 + .../mpl/aux_/preprocessed/dmc/bitand.hpp | 147 + .../boost/mpl/aux_/preprocessed/dmc/bitor.hpp | 147 + .../mpl/aux_/preprocessed/dmc/bitxor.hpp | 147 + .../boost/mpl/aux_/preprocessed/dmc/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/dmc/divides.hpp | 146 + .../mpl/aux_/preprocessed/dmc/equal_to.hpp | 94 + .../mpl/aux_/preprocessed/dmc/fold_impl.hpp | 180 + .../mpl/aux_/preprocessed/dmc/full_lambda.hpp | 536 ++ .../mpl/aux_/preprocessed/dmc/greater.hpp | 94 + .../aux_/preprocessed/dmc/greater_equal.hpp | 94 + .../mpl/aux_/preprocessed/dmc/inherit.hpp | 141 + .../preprocessed/dmc/iter_fold_if_impl.hpp | 133 + .../aux_/preprocessed/dmc/iter_fold_impl.hpp | 180 + .../aux_/preprocessed/dmc/lambda_no_ctps.hpp | 229 + .../boost/mpl/aux_/preprocessed/dmc/less.hpp | 94 + .../mpl/aux_/preprocessed/dmc/less_equal.hpp | 94 + .../boost/mpl/aux_/preprocessed/dmc/list.hpp | 323 ++ .../mpl/aux_/preprocessed/dmc/list_c.hpp | 328 ++ .../boost/mpl/aux_/preprocessed/dmc/map.hpp | 323 ++ .../boost/mpl/aux_/preprocessed/dmc/minus.hpp | 146 + .../mpl/aux_/preprocessed/dmc/modulus.hpp | 101 + .../aux_/preprocessed/dmc/not_equal_to.hpp | 94 + .../boost/mpl/aux_/preprocessed/dmc/or.hpp | 69 + .../aux_/preprocessed/dmc/placeholders.hpp | 105 + .../boost/mpl/aux_/preprocessed/dmc/plus.hpp | 146 + .../boost/mpl/aux_/preprocessed/dmc/quote.hpp | 123 + .../preprocessed/dmc/reverse_fold_impl.hpp | 231 + .../dmc/reverse_iter_fold_impl.hpp | 231 + .../boost/mpl/aux_/preprocessed/dmc/set.hpp | 323 ++ .../boost/mpl/aux_/preprocessed/dmc/set_c.hpp | 328 ++ .../mpl/aux_/preprocessed/dmc/shift_left.hpp | 99 + .../mpl/aux_/preprocessed/dmc/shift_right.hpp | 99 + .../aux_/preprocessed/dmc/template_arity.hpp | 11 + .../boost/mpl/aux_/preprocessed/dmc/times.hpp | 146 + .../mpl/aux_/preprocessed/dmc/unpack_args.hpp | 94 + .../mpl/aux_/preprocessed/dmc/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/dmc/vector_c.hpp | 309 ++ .../preprocessed/gcc/advance_backward.hpp | 97 + .../aux_/preprocessed/gcc/advance_forward.hpp | 97 + .../boost/mpl/aux_/preprocessed/gcc/and.hpp | 69 + .../boost/mpl/aux_/preprocessed/gcc/apply.hpp | 169 + .../mpl/aux_/preprocessed/gcc/apply_fwd.hpp | 52 + .../mpl/aux_/preprocessed/gcc/apply_wrap.hpp | 84 + .../boost/mpl/aux_/preprocessed/gcc/arg.hpp | 123 + .../mpl/aux_/preprocessed/gcc/basic_bind.hpp | 440 ++ .../boost/mpl/aux_/preprocessed/gcc/bind.hpp | 561 ++ .../mpl/aux_/preprocessed/gcc/bind_fwd.hpp | 52 + .../mpl/aux_/preprocessed/gcc/bitand.hpp | 147 + .../boost/mpl/aux_/preprocessed/gcc/bitor.hpp | 147 + .../mpl/aux_/preprocessed/gcc/bitxor.hpp | 147 + .../boost/mpl/aux_/preprocessed/gcc/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/gcc/divides.hpp | 146 + .../mpl/aux_/preprocessed/gcc/equal_to.hpp | 94 + .../mpl/aux_/preprocessed/gcc/fold_impl.hpp | 180 + .../mpl/aux_/preprocessed/gcc/full_lambda.hpp | 558 ++ .../mpl/aux_/preprocessed/gcc/greater.hpp | 94 + .../aux_/preprocessed/gcc/greater_equal.hpp | 94 + .../mpl/aux_/preprocessed/gcc/inherit.hpp | 141 + .../preprocessed/gcc/iter_fold_if_impl.hpp | 133 + .../aux_/preprocessed/gcc/iter_fold_impl.hpp | 180 + .../aux_/preprocessed/gcc/lambda_no_ctps.hpp | 229 + .../boost/mpl/aux_/preprocessed/gcc/less.hpp | 94 + .../mpl/aux_/preprocessed/gcc/less_equal.hpp | 94 + .../boost/mpl/aux_/preprocessed/gcc/list.hpp | 323 ++ .../mpl/aux_/preprocessed/gcc/list_c.hpp | 328 ++ .../boost/mpl/aux_/preprocessed/gcc/map.hpp | 323 ++ .../boost/mpl/aux_/preprocessed/gcc/minus.hpp | 146 + .../mpl/aux_/preprocessed/gcc/modulus.hpp | 101 + .../aux_/preprocessed/gcc/not_equal_to.hpp | 94 + .../boost/mpl/aux_/preprocessed/gcc/or.hpp | 69 + .../aux_/preprocessed/gcc/placeholders.hpp | 105 + .../boost/mpl/aux_/preprocessed/gcc/plus.hpp | 146 + .../boost/mpl/aux_/preprocessed/gcc/quote.hpp | 123 + .../preprocessed/gcc/reverse_fold_impl.hpp | 231 + .../gcc/reverse_iter_fold_impl.hpp | 231 + .../boost/mpl/aux_/preprocessed/gcc/set.hpp | 323 ++ .../boost/mpl/aux_/preprocessed/gcc/set_c.hpp | 328 ++ .../mpl/aux_/preprocessed/gcc/shift_left.hpp | 99 + .../mpl/aux_/preprocessed/gcc/shift_right.hpp | 99 + .../aux_/preprocessed/gcc/template_arity.hpp | 101 + .../boost/mpl/aux_/preprocessed/gcc/times.hpp | 146 + .../mpl/aux_/preprocessed/gcc/unpack_args.hpp | 94 + .../mpl/aux_/preprocessed/gcc/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/gcc/vector_c.hpp | 309 ++ .../preprocessed/msvc60/advance_backward.hpp | 132 + .../preprocessed/msvc60/advance_forward.hpp | 132 + .../mpl/aux_/preprocessed/msvc60/and.hpp | 73 + .../mpl/aux_/preprocessed/msvc60/apply.hpp | 166 + .../aux_/preprocessed/msvc60/apply_fwd.hpp | 46 + .../aux_/preprocessed/msvc60/apply_wrap.hpp | 247 + .../mpl/aux_/preprocessed/msvc60/arg.hpp | 123 + .../aux_/preprocessed/msvc60/basic_bind.hpp | 328 ++ .../mpl/aux_/preprocessed/msvc60/bind.hpp | 432 ++ .../mpl/aux_/preprocessed/msvc60/bind_fwd.hpp | 46 + .../mpl/aux_/preprocessed/msvc60/bitand.hpp | 149 + .../mpl/aux_/preprocessed/msvc60/bitor.hpp | 149 + .../mpl/aux_/preprocessed/msvc60/bitxor.hpp | 149 + .../mpl/aux_/preprocessed/msvc60/deque.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc60/divides.hpp | 148 + .../mpl/aux_/preprocessed/msvc60/equal_to.hpp | 102 + .../aux_/preprocessed/msvc60/fold_impl.hpp | 293 + .../aux_/preprocessed/msvc60/full_lambda.hpp | 554 ++ .../mpl/aux_/preprocessed/msvc60/greater.hpp | 102 + .../preprocessed/msvc60/greater_equal.hpp | 102 + .../mpl/aux_/preprocessed/msvc60/inherit.hpp | 166 + .../preprocessed/msvc60/iter_fold_if_impl.hpp | 133 + .../preprocessed/msvc60/iter_fold_impl.hpp | 293 + .../preprocessed/msvc60/lambda_no_ctps.hpp | 229 + .../mpl/aux_/preprocessed/msvc60/less.hpp | 102 + .../aux_/preprocessed/msvc60/less_equal.hpp | 102 + .../mpl/aux_/preprocessed/msvc60/list.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc60/list_c.hpp | 534 ++ .../mpl/aux_/preprocessed/msvc60/map.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc60/minus.hpp | 148 + .../mpl/aux_/preprocessed/msvc60/modulus.hpp | 115 + .../aux_/preprocessed/msvc60/not_equal_to.hpp | 102 + .../boost/mpl/aux_/preprocessed/msvc60/or.hpp | 73 + .../aux_/preprocessed/msvc60/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/msvc60/plus.hpp | 148 + .../mpl/aux_/preprocessed/msvc60/quote.hpp | 11 + .../preprocessed/msvc60/reverse_fold_impl.hpp | 343 ++ .../msvc60/reverse_iter_fold_impl.hpp | 343 ++ .../mpl/aux_/preprocessed/msvc60/set.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc60/set_c.hpp | 534 ++ .../aux_/preprocessed/msvc60/shift_left.hpp | 114 + .../aux_/preprocessed/msvc60/shift_right.hpp | 114 + .../preprocessed/msvc60/template_arity.hpp | 46 + .../mpl/aux_/preprocessed/msvc60/times.hpp | 148 + .../aux_/preprocessed/msvc60/unpack_args.hpp | 109 + .../mpl/aux_/preprocessed/msvc60/vector.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc60/vector_c.hpp | 534 ++ .../preprocessed/msvc70/advance_backward.hpp | 97 + .../preprocessed/msvc70/advance_forward.hpp | 97 + .../mpl/aux_/preprocessed/msvc70/and.hpp | 71 + .../mpl/aux_/preprocessed/msvc70/apply.hpp | 160 + .../aux_/preprocessed/msvc70/apply_fwd.hpp | 46 + .../aux_/preprocessed/msvc70/apply_wrap.hpp | 138 + .../mpl/aux_/preprocessed/msvc70/arg.hpp | 123 + .../aux_/preprocessed/msvc70/basic_bind.hpp | 328 ++ .../mpl/aux_/preprocessed/msvc70/bind.hpp | 432 ++ .../mpl/aux_/preprocessed/msvc70/bind_fwd.hpp | 46 + .../mpl/aux_/preprocessed/msvc70/bitand.hpp | 151 + .../mpl/aux_/preprocessed/msvc70/bitor.hpp | 151 + .../mpl/aux_/preprocessed/msvc70/bitxor.hpp | 151 + .../mpl/aux_/preprocessed/msvc70/deque.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc70/divides.hpp | 150 + .../mpl/aux_/preprocessed/msvc70/equal_to.hpp | 102 + .../aux_/preprocessed/msvc70/fold_impl.hpp | 245 + .../aux_/preprocessed/msvc70/full_lambda.hpp | 554 ++ .../mpl/aux_/preprocessed/msvc70/greater.hpp | 102 + .../preprocessed/msvc70/greater_equal.hpp | 102 + .../mpl/aux_/preprocessed/msvc70/inherit.hpp | 166 + .../preprocessed/msvc70/iter_fold_if_impl.hpp | 133 + .../preprocessed/msvc70/iter_fold_impl.hpp | 245 + .../preprocessed/msvc70/lambda_no_ctps.hpp | 229 + .../mpl/aux_/preprocessed/msvc70/less.hpp | 102 + .../aux_/preprocessed/msvc70/less_equal.hpp | 102 + .../mpl/aux_/preprocessed/msvc70/list.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc70/list_c.hpp | 534 ++ .../mpl/aux_/preprocessed/msvc70/map.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc70/minus.hpp | 150 + .../mpl/aux_/preprocessed/msvc70/modulus.hpp | 115 + .../aux_/preprocessed/msvc70/not_equal_to.hpp | 102 + .../boost/mpl/aux_/preprocessed/msvc70/or.hpp | 71 + .../aux_/preprocessed/msvc70/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/msvc70/plus.hpp | 150 + .../mpl/aux_/preprocessed/msvc70/quote.hpp | 116 + .../preprocessed/msvc70/reverse_fold_impl.hpp | 295 ++ .../msvc70/reverse_iter_fold_impl.hpp | 295 ++ .../mpl/aux_/preprocessed/msvc70/set.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc70/set_c.hpp | 534 ++ .../aux_/preprocessed/msvc70/shift_left.hpp | 114 + .../aux_/preprocessed/msvc70/shift_right.hpp | 114 + .../preprocessed/msvc70/template_arity.hpp | 46 + .../mpl/aux_/preprocessed/msvc70/times.hpp | 150 + .../aux_/preprocessed/msvc70/unpack_args.hpp | 109 + .../mpl/aux_/preprocessed/msvc70/vector.hpp | 556 ++ .../mpl/aux_/preprocessed/msvc70/vector_c.hpp | 534 ++ .../preprocessed/mwcw/advance_backward.hpp | 97 + .../preprocessed/mwcw/advance_forward.hpp | 97 + .../boost/mpl/aux_/preprocessed/mwcw/and.hpp | 69 + .../mpl/aux_/preprocessed/mwcw/apply.hpp | 169 + .../mpl/aux_/preprocessed/mwcw/apply_fwd.hpp | 52 + .../mpl/aux_/preprocessed/mwcw/apply_wrap.hpp | 456 ++ .../boost/mpl/aux_/preprocessed/mwcw/arg.hpp | 123 + .../mpl/aux_/preprocessed/mwcw/basic_bind.hpp | 440 ++ .../boost/mpl/aux_/preprocessed/mwcw/bind.hpp | 561 ++ .../mpl/aux_/preprocessed/mwcw/bind_fwd.hpp | 52 + .../mpl/aux_/preprocessed/mwcw/bitand.hpp | 147 + .../mpl/aux_/preprocessed/mwcw/bitor.hpp | 147 + .../mpl/aux_/preprocessed/mwcw/bitxor.hpp | 147 + .../mpl/aux_/preprocessed/mwcw/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/mwcw/divides.hpp | 146 + .../mpl/aux_/preprocessed/mwcw/equal_to.hpp | 94 + .../mpl/aux_/preprocessed/mwcw/fold_impl.hpp | 180 + .../aux_/preprocessed/mwcw/full_lambda.hpp | 554 ++ .../mpl/aux_/preprocessed/mwcw/greater.hpp | 94 + .../aux_/preprocessed/mwcw/greater_equal.hpp | 94 + .../mpl/aux_/preprocessed/mwcw/inherit.hpp | 141 + .../preprocessed/mwcw/iter_fold_if_impl.hpp | 133 + .../aux_/preprocessed/mwcw/iter_fold_impl.hpp | 180 + .../aux_/preprocessed/mwcw/lambda_no_ctps.hpp | 229 + .../boost/mpl/aux_/preprocessed/mwcw/less.hpp | 94 + .../mpl/aux_/preprocessed/mwcw/less_equal.hpp | 94 + .../boost/mpl/aux_/preprocessed/mwcw/list.hpp | 323 ++ .../mpl/aux_/preprocessed/mwcw/list_c.hpp | 328 ++ .../boost/mpl/aux_/preprocessed/mwcw/map.hpp | 323 ++ .../mpl/aux_/preprocessed/mwcw/minus.hpp | 146 + .../mpl/aux_/preprocessed/mwcw/modulus.hpp | 101 + .../aux_/preprocessed/mwcw/not_equal_to.hpp | 94 + .../boost/mpl/aux_/preprocessed/mwcw/or.hpp | 69 + .../aux_/preprocessed/mwcw/placeholders.hpp | 105 + .../boost/mpl/aux_/preprocessed/mwcw/plus.hpp | 146 + .../mpl/aux_/preprocessed/mwcw/quote.hpp | 123 + .../preprocessed/mwcw/reverse_fold_impl.hpp | 231 + .../mwcw/reverse_iter_fold_impl.hpp | 231 + .../boost/mpl/aux_/preprocessed/mwcw/set.hpp | 323 ++ .../mpl/aux_/preprocessed/mwcw/set_c.hpp | 328 ++ .../mpl/aux_/preprocessed/mwcw/shift_left.hpp | 99 + .../aux_/preprocessed/mwcw/shift_right.hpp | 99 + .../aux_/preprocessed/mwcw/template_arity.hpp | 11 + .../mpl/aux_/preprocessed/mwcw/times.hpp | 146 + .../aux_/preprocessed/mwcw/unpack_args.hpp | 94 + .../mpl/aux_/preprocessed/mwcw/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/mwcw/vector_c.hpp | 309 ++ .../preprocessed/no_ctps/advance_backward.hpp | 97 + .../preprocessed/no_ctps/advance_forward.hpp | 97 + .../mpl/aux_/preprocessed/no_ctps/and.hpp | 73 + .../mpl/aux_/preprocessed/no_ctps/apply.hpp | 268 + .../aux_/preprocessed/no_ctps/apply_fwd.hpp | 50 + .../aux_/preprocessed/no_ctps/apply_wrap.hpp | 78 + .../mpl/aux_/preprocessed/no_ctps/arg.hpp | 123 + .../aux_/preprocessed/no_ctps/basic_bind.hpp | 486 ++ .../mpl/aux_/preprocessed/no_ctps/bind.hpp | 590 +++ .../aux_/preprocessed/no_ctps/bind_fwd.hpp | 52 + .../mpl/aux_/preprocessed/no_ctps/bitand.hpp | 134 + .../mpl/aux_/preprocessed/no_ctps/bitor.hpp | 134 + .../mpl/aux_/preprocessed/no_ctps/bitxor.hpp | 134 + .../mpl/aux_/preprocessed/no_ctps/deque.hpp | 556 ++ .../mpl/aux_/preprocessed/no_ctps/divides.hpp | 133 + .../aux_/preprocessed/no_ctps/equal_to.hpp | 94 + .../aux_/preprocessed/no_ctps/fold_impl.hpp | 245 + .../aux_/preprocessed/no_ctps/full_lambda.hpp | 554 ++ .../mpl/aux_/preprocessed/no_ctps/greater.hpp | 94 + .../preprocessed/no_ctps/greater_equal.hpp | 94 + .../mpl/aux_/preprocessed/no_ctps/inherit.hpp | 166 + .../no_ctps/iter_fold_if_impl.hpp | 133 + .../preprocessed/no_ctps/iter_fold_impl.hpp | 245 + .../preprocessed/no_ctps/lambda_no_ctps.hpp | 229 + .../mpl/aux_/preprocessed/no_ctps/less.hpp | 94 + .../aux_/preprocessed/no_ctps/less_equal.hpp | 94 + .../mpl/aux_/preprocessed/no_ctps/list.hpp | 556 ++ .../mpl/aux_/preprocessed/no_ctps/list_c.hpp | 534 ++ .../mpl/aux_/preprocessed/no_ctps/map.hpp | 556 ++ .../mpl/aux_/preprocessed/no_ctps/minus.hpp | 133 + .../mpl/aux_/preprocessed/no_ctps/modulus.hpp | 101 + .../preprocessed/no_ctps/not_equal_to.hpp | 94 + .../mpl/aux_/preprocessed/no_ctps/or.hpp | 73 + .../preprocessed/no_ctps/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/no_ctps/plus.hpp | 133 + .../mpl/aux_/preprocessed/no_ctps/quote.hpp | 116 + .../no_ctps/reverse_fold_impl.hpp | 295 ++ .../no_ctps/reverse_iter_fold_impl.hpp | 295 ++ .../mpl/aux_/preprocessed/no_ctps/set.hpp | 556 ++ .../mpl/aux_/preprocessed/no_ctps/set_c.hpp | 534 ++ .../aux_/preprocessed/no_ctps/shift_left.hpp | 99 + .../aux_/preprocessed/no_ctps/shift_right.hpp | 99 + .../preprocessed/no_ctps/template_arity.hpp | 40 + .../mpl/aux_/preprocessed/no_ctps/times.hpp | 133 + .../aux_/preprocessed/no_ctps/unpack_args.hpp | 109 + .../mpl/aux_/preprocessed/no_ctps/vector.hpp | 556 ++ .../aux_/preprocessed/no_ctps/vector_c.hpp | 534 ++ .../preprocessed/no_ttp/advance_backward.hpp | 97 + .../preprocessed/no_ttp/advance_forward.hpp | 97 + .../mpl/aux_/preprocessed/no_ttp/and.hpp | 69 + .../mpl/aux_/preprocessed/no_ttp/apply.hpp | 169 + .../aux_/preprocessed/no_ttp/apply_fwd.hpp | 52 + .../aux_/preprocessed/no_ttp/apply_wrap.hpp | 84 + .../mpl/aux_/preprocessed/no_ttp/arg.hpp | 123 + .../aux_/preprocessed/no_ttp/basic_bind.hpp | 369 ++ .../mpl/aux_/preprocessed/no_ttp/bind.hpp | 466 ++ .../mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp | 52 + .../mpl/aux_/preprocessed/no_ttp/bitand.hpp | 157 + .../mpl/aux_/preprocessed/no_ttp/bitor.hpp | 157 + .../mpl/aux_/preprocessed/no_ttp/bitxor.hpp | 157 + .../mpl/aux_/preprocessed/no_ttp/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/no_ttp/divides.hpp | 156 + .../mpl/aux_/preprocessed/no_ttp/equal_to.hpp | 98 + .../aux_/preprocessed/no_ttp/fold_impl.hpp | 180 + .../aux_/preprocessed/no_ttp/full_lambda.hpp | 554 ++ .../mpl/aux_/preprocessed/no_ttp/greater.hpp | 98 + .../preprocessed/no_ttp/greater_equal.hpp | 98 + .../mpl/aux_/preprocessed/no_ttp/inherit.hpp | 141 + .../preprocessed/no_ttp/iter_fold_if_impl.hpp | 133 + .../preprocessed/no_ttp/iter_fold_impl.hpp | 180 + .../preprocessed/no_ttp/lambda_no_ctps.hpp | 229 + .../mpl/aux_/preprocessed/no_ttp/less.hpp | 98 + .../aux_/preprocessed/no_ttp/less_equal.hpp | 98 + .../mpl/aux_/preprocessed/no_ttp/list.hpp | 323 ++ .../mpl/aux_/preprocessed/no_ttp/list_c.hpp | 328 ++ .../mpl/aux_/preprocessed/no_ttp/map.hpp | 323 ++ .../mpl/aux_/preprocessed/no_ttp/minus.hpp | 156 + .../mpl/aux_/preprocessed/no_ttp/modulus.hpp | 111 + .../aux_/preprocessed/no_ttp/not_equal_to.hpp | 98 + .../boost/mpl/aux_/preprocessed/no_ttp/or.hpp | 69 + .../aux_/preprocessed/no_ttp/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/no_ttp/plus.hpp | 156 + .../mpl/aux_/preprocessed/no_ttp/quote.hpp | 11 + .../preprocessed/no_ttp/reverse_fold_impl.hpp | 231 + .../no_ttp/reverse_iter_fold_impl.hpp | 231 + .../mpl/aux_/preprocessed/no_ttp/set.hpp | 323 ++ .../mpl/aux_/preprocessed/no_ttp/set_c.hpp | 328 ++ .../aux_/preprocessed/no_ttp/shift_left.hpp | 110 + .../aux_/preprocessed/no_ttp/shift_right.hpp | 110 + .../preprocessed/no_ttp/template_arity.hpp | 40 + .../mpl/aux_/preprocessed/no_ttp/times.hpp | 156 + .../aux_/preprocessed/no_ttp/unpack_args.hpp | 94 + .../mpl/aux_/preprocessed/no_ttp/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/no_ttp/vector_c.hpp | 309 ++ .../preprocessed/plain/advance_backward.hpp | 97 + .../preprocessed/plain/advance_forward.hpp | 97 + .../boost/mpl/aux_/preprocessed/plain/and.hpp | 64 + .../mpl/aux_/preprocessed/plain/apply.hpp | 139 + .../mpl/aux_/preprocessed/plain/apply_fwd.hpp | 52 + .../aux_/preprocessed/plain/apply_wrap.hpp | 84 + .../boost/mpl/aux_/preprocessed/plain/arg.hpp | 123 + .../aux_/preprocessed/plain/basic_bind.hpp | 440 ++ .../mpl/aux_/preprocessed/plain/bind.hpp | 561 ++ .../mpl/aux_/preprocessed/plain/bind_fwd.hpp | 52 + .../mpl/aux_/preprocessed/plain/bitand.hpp | 142 + .../mpl/aux_/preprocessed/plain/bitor.hpp | 142 + .../mpl/aux_/preprocessed/plain/bitxor.hpp | 142 + .../mpl/aux_/preprocessed/plain/deque.hpp | 323 ++ .../mpl/aux_/preprocessed/plain/divides.hpp | 141 + .../mpl/aux_/preprocessed/plain/equal_to.hpp | 92 + .../mpl/aux_/preprocessed/plain/fold_impl.hpp | 180 + .../aux_/preprocessed/plain/full_lambda.hpp | 554 ++ .../mpl/aux_/preprocessed/plain/greater.hpp | 92 + .../aux_/preprocessed/plain/greater_equal.hpp | 92 + .../mpl/aux_/preprocessed/plain/inherit.hpp | 125 + .../preprocessed/plain/iter_fold_if_impl.hpp | 133 + .../preprocessed/plain/iter_fold_impl.hpp | 180 + .../preprocessed/plain/lambda_no_ctps.hpp | 228 + .../mpl/aux_/preprocessed/plain/less.hpp | 92 + .../aux_/preprocessed/plain/less_equal.hpp | 92 + .../mpl/aux_/preprocessed/plain/list.hpp | 323 ++ .../mpl/aux_/preprocessed/plain/list_c.hpp | 328 ++ .../boost/mpl/aux_/preprocessed/plain/map.hpp | 323 ++ .../mpl/aux_/preprocessed/plain/minus.hpp | 141 + .../mpl/aux_/preprocessed/plain/modulus.hpp | 99 + .../aux_/preprocessed/plain/not_equal_to.hpp | 92 + .../boost/mpl/aux_/preprocessed/plain/or.hpp | 64 + .../aux_/preprocessed/plain/placeholders.hpp | 105 + .../mpl/aux_/preprocessed/plain/plus.hpp | 141 + .../mpl/aux_/preprocessed/plain/quote.hpp | 123 + .../preprocessed/plain/reverse_fold_impl.hpp | 231 + .../plain/reverse_iter_fold_impl.hpp | 231 + .../boost/mpl/aux_/preprocessed/plain/set.hpp | 323 ++ .../mpl/aux_/preprocessed/plain/set_c.hpp | 328 ++ .../aux_/preprocessed/plain/shift_left.hpp | 97 + .../aux_/preprocessed/plain/shift_right.hpp | 97 + .../preprocessed/plain/template_arity.hpp | 11 + .../mpl/aux_/preprocessed/plain/times.hpp | 141 + .../aux_/preprocessed/plain/unpack_args.hpp | 94 + .../mpl/aux_/preprocessed/plain/vector.hpp | 323 ++ .../mpl/aux_/preprocessed/plain/vector_c.hpp | 309 ++ .../boost/mpl/aux_/preprocessor/add.hpp | 65 + .../mpl/aux_/preprocessor/def_params_tail.hpp | 105 + .../mpl/aux_/preprocessor/default_params.hpp | 67 + .../boost/mpl/aux_/preprocessor/enum.hpp | 62 + .../mpl/aux_/preprocessor/ext_params.hpp | 78 + .../mpl/aux_/preprocessor/filter_params.hpp | 28 + .../boost/mpl/aux_/preprocessor/is_seq.hpp | 54 + .../boost/mpl/aux_/preprocessor/params.hpp | 65 + .../aux_/preprocessor/partial_spec_params.hpp | 32 + .../boost/mpl/aux_/preprocessor/range.hpp | 23 + .../boost/mpl/aux_/preprocessor/repeat.hpp | 51 + .../boost/mpl/aux_/preprocessor/sub.hpp | 65 + .../mpl/aux_/preprocessor/token_equal.hpp | 56 + .../boost/mpl/aux_/preprocessor/tuple.hpp | 29 + .../include/boost/mpl/aux_/ptr_to_ref.hpp | 46 + .../include/boost/mpl/aux_/push_back_impl.hpp | 70 + .../boost/mpl/aux_/push_front_impl.hpp | 71 + .../boost/mpl/aux_/range_c/O1_size.hpp | 31 + .../include/boost/mpl/aux_/range_c/back.hpp | 34 + .../include/boost/mpl/aux_/range_c/empty.hpp | 37 + .../include/boost/mpl/aux_/range_c/front.hpp | 33 + .../boost/mpl/aux_/range_c/iterator.hpp | 106 + .../include/boost/mpl/aux_/range_c/size.hpp | 37 + .../include/boost/mpl/aux_/range_c/tag.hpp | 24 + .../boost/mpl/aux_/reverse_fold_impl.hpp | 44 + .../boost/mpl/aux_/reverse_fold_impl_body.hpp | 412 ++ .../boost/mpl/aux_/reverse_iter_fold_impl.hpp | 43 + .../boost/mpl/aux_/sequence_wrapper.hpp | 292 + .../include/boost/mpl/aux_/shift_op.hpp | 87 + .../boost/mpl/aux_/single_element_iter.hpp | 118 + .../include/boost/mpl/aux_/size_impl.hpp | 52 + .../include/boost/mpl/aux_/sort_impl.hpp | 121 + .../include/boost/mpl/aux_/static_cast.hpp | 27 + .../include/boost/mpl/aux_/template_arity.hpp | 189 + .../boost/mpl/aux_/template_arity_fwd.hpp | 23 + .../include/boost/mpl/aux_/test.hpp | 32 + .../include/boost/mpl/aux_/test/assert.hpp | 29 + .../include/boost/mpl/aux_/test/data.hpp | 25 + .../include/boost/mpl/aux_/test/test_case.hpp | 21 + .../boost/mpl/aux_/traits_lambda_spec.hpp | 63 + .../include/boost/mpl/aux_/transform_iter.hpp | 123 + .../include/boost/mpl/aux_/type_wrapper.hpp | 47 + .../include/boost/mpl/aux_/unwrap.hpp | 47 + .../include/boost/mpl/aux_/value_wknd.hpp | 89 + .../include/boost/mpl/aux_/yes_no.hpp | 58 + .../include/boost/mpl/back.hpp | 39 + .../include/boost/mpl/back_fwd.hpp | 24 + .../include/boost/mpl/back_inserter.hpp | 34 + .../include/boost/mpl/base.hpp | 35 + .../include/boost/mpl/begin.hpp | 19 + .../include/boost/mpl/begin_end.hpp | 57 + .../include/boost/mpl/begin_end_fwd.hpp | 27 + .../include/boost/mpl/bind.hpp | 551 ++ .../include/boost/mpl/bind_fwd.hpp | 99 + .../include/boost/mpl/bitand.hpp | 23 + .../include/boost/mpl/bitor.hpp | 23 + .../include/boost/mpl/bitwise.hpp | 24 + .../include/boost/mpl/bitxor.hpp | 23 + .../include/boost/mpl/bool.hpp | 39 + .../include/boost/mpl/bool_fwd.hpp | 33 + .../include/boost/mpl/char.hpp | 22 + .../include/boost/mpl/char_fwd.hpp | 27 + .../include/boost/mpl/clear.hpp | 39 + .../include/boost/mpl/clear_fwd.hpp | 24 + .../include/boost/mpl/comparison.hpp | 24 + .../include/boost/mpl/contains.hpp | 41 + .../include/boost/mpl/contains_fwd.hpp | 25 + .../include/boost/mpl/copy.hpp | 58 + .../include/boost/mpl/copy_if.hpp | 96 + .../include/boost/mpl/count.hpp | 40 + .../include/boost/mpl/count_fwd.hpp | 24 + .../include/boost/mpl/count_if.hpp | 79 + .../include/boost/mpl/deque.hpp | 58 + .../include/boost/mpl/deref.hpp | 41 + .../include/boost/mpl/distance.hpp | 78 + .../include/boost/mpl/distance_fwd.hpp | 28 + .../include/boost/mpl/divides.hpp | 21 + .../include/boost/mpl/empty.hpp | 39 + .../include/boost/mpl/empty_base.hpp | 59 + .../include/boost/mpl/empty_fwd.hpp | 24 + .../include/boost/mpl/empty_sequence.hpp | 42 + .../include/boost/mpl/end.hpp | 19 + .../include/boost/mpl/equal.hpp | 112 + .../include/boost/mpl/equal_to.hpp | 21 + .../include/boost/mpl/erase.hpp | 42 + .../include/boost/mpl/erase_fwd.hpp | 24 + .../include/boost/mpl/erase_key.hpp | 41 + .../include/boost/mpl/erase_key_fwd.hpp | 24 + .../include/boost/mpl/eval_if.hpp | 71 + .../include/boost/mpl/filter_view.hpp | 46 + .../include/boost/mpl/find.hpp | 38 + .../include/boost/mpl/find_if.hpp | 50 + .../include/boost/mpl/fold.hpp | 48 + .../include/boost/mpl/for_each.hpp | 116 + .../include/boost/mpl/front.hpp | 39 + .../include/boost/mpl/front_fwd.hpp | 24 + .../include/boost/mpl/front_inserter.hpp | 33 + .../include/boost/mpl/greater.hpp | 21 + .../include/boost/mpl/greater_equal.hpp | 21 + .../include/boost/mpl/has_key.hpp | 41 + .../include/boost/mpl/has_key_fwd.hpp | 25 + .../include/boost/mpl/has_xxx.hpp | 274 + .../include/boost/mpl/identity.hpp | 45 + .../include/boost/mpl/if.hpp | 135 + .../include/boost/mpl/index_if.hpp | 60 + .../include/boost/mpl/index_of.hpp | 39 + .../include/boost/mpl/inherit.hpp | 229 + .../include/boost/mpl/inherit_linearly.hpp | 39 + .../include/boost/mpl/insert.hpp | 41 + .../include/boost/mpl/insert_fwd.hpp | 24 + .../include/boost/mpl/insert_range.hpp | 41 + .../include/boost/mpl/insert_range_fwd.hpp | 24 + .../include/boost/mpl/inserter.hpp | 32 + .../include/boost/mpl/int.hpp | 22 + .../include/boost/mpl/int_fwd.hpp | 27 + .../include/boost/mpl/integral_c.hpp | 51 + .../include/boost/mpl/integral_c_fwd.hpp | 32 + .../include/boost/mpl/integral_c_tag.hpp | 26 + .../include/boost/mpl/is_placeholder.hpp | 67 + .../include/boost/mpl/is_sequence.hpp | 112 + .../include/boost/mpl/iter_fold.hpp | 49 + .../include/boost/mpl/iter_fold_if.hpp | 117 + .../include/boost/mpl/iterator_category.hpp | 35 + .../include/boost/mpl/iterator_range.hpp | 42 + .../include/boost/mpl/iterator_tags.hpp | 27 + .../include/boost/mpl/joint_view.hpp | 65 + .../include/boost/mpl/key_type.hpp | 42 + .../include/boost/mpl/key_type_fwd.hpp | 25 + .../include/boost/mpl/lambda.hpp | 29 + .../include/boost/mpl/lambda_fwd.hpp | 57 + .../include/boost/mpl/less.hpp | 21 + .../include/boost/mpl/less_equal.hpp | 21 + .../include/boost/mpl/limits/arity.hpp | 21 + .../include/boost/mpl/limits/list.hpp | 21 + .../include/boost/mpl/limits/map.hpp | 21 + .../include/boost/mpl/limits/set.hpp | 21 + .../include/boost/mpl/limits/string.hpp | 21 + .../include/boost/mpl/limits/unrolling.hpp | 21 + .../include/boost/mpl/limits/vector.hpp | 21 + .../include/boost/mpl/list.hpp | 57 + .../include/boost/mpl/list/aux_/O1_size.hpp | 33 + .../include/boost/mpl/list/aux_/begin_end.hpp | 44 + .../include/boost/mpl/list/aux_/clear.hpp | 34 + .../include/boost/mpl/list/aux_/empty.hpp | 34 + .../include/boost/mpl/list/aux_/front.hpp | 33 + .../mpl/list/aux_/include_preprocessed.hpp | 35 + .../include/boost/mpl/list/aux_/item.hpp | 55 + .../include/boost/mpl/list/aux_/iterator.hpp | 76 + .../include/boost/mpl/list/aux_/numbered.hpp | 68 + .../boost/mpl/list/aux_/numbered_c.hpp | 71 + .../include/boost/mpl/list/aux_/pop_front.hpp | 34 + .../list/aux_/preprocessed/plain/list10.hpp | 149 + .../list/aux_/preprocessed/plain/list10_c.hpp | 164 + .../list/aux_/preprocessed/plain/list20.hpp | 169 + .../list/aux_/preprocessed/plain/list20_c.hpp | 173 + .../list/aux_/preprocessed/plain/list30.hpp | 189 + .../list/aux_/preprocessed/plain/list30_c.hpp | 183 + .../list/aux_/preprocessed/plain/list40.hpp | 209 + .../list/aux_/preprocessed/plain/list40_c.hpp | 193 + .../list/aux_/preprocessed/plain/list50.hpp | 229 + .../list/aux_/preprocessed/plain/list50_c.hpp | 203 + .../include/boost/mpl/list/aux_/push_back.hpp | 36 + .../boost/mpl/list/aux_/push_front.hpp | 39 + .../include/boost/mpl/list/aux_/size.hpp | 33 + .../include/boost/mpl/list/aux_/tag.hpp | 24 + .../include/boost/mpl/list/list0.hpp | 42 + .../include/boost/mpl/list/list0_c.hpp | 31 + .../include/boost/mpl/list/list10.hpp | 43 + .../include/boost/mpl/list/list10_c.hpp | 43 + .../include/boost/mpl/list/list20.hpp | 43 + .../include/boost/mpl/list/list20_c.hpp | 43 + .../include/boost/mpl/list/list30.hpp | 43 + .../include/boost/mpl/list/list30_c.hpp | 43 + .../include/boost/mpl/list/list40.hpp | 43 + .../include/boost/mpl/list/list40_c.hpp | 43 + .../include/boost/mpl/list/list50.hpp | 43 + .../include/boost/mpl/list/list50_c.hpp | 43 + .../include/boost/mpl/list_c.hpp | 60 + .../include/boost/mpl/logical.hpp | 21 + .../include/boost/mpl/long.hpp | 22 + .../include/boost/mpl/long_fwd.hpp | 27 + .../include/boost/mpl/lower_bound.hpp | 143 + .../include/boost/mpl/map.hpp | 57 + .../include/boost/mpl/map/aux_/at_impl.hpp | 144 + .../boost/mpl/map/aux_/begin_end_impl.hpp | 50 + .../include/boost/mpl/map/aux_/clear_impl.hpp | 35 + .../boost/mpl/map/aux_/contains_impl.hpp | 43 + .../include/boost/mpl/map/aux_/empty_impl.hpp | 34 + .../include/boost/mpl/map/aux_/erase_impl.hpp | 41 + .../boost/mpl/map/aux_/erase_key_impl.hpp | 53 + .../boost/mpl/map/aux_/has_key_impl.hpp | 44 + .../mpl/map/aux_/include_preprocessed.hpp | 53 + .../boost/mpl/map/aux_/insert_impl.hpp | 72 + .../include/boost/mpl/map/aux_/item.hpp | 138 + .../include/boost/mpl/map/aux_/iterator.hpp | 169 + .../boost/mpl/map/aux_/key_type_impl.hpp | 36 + .../include/boost/mpl/map/aux_/map0.hpp | 74 + .../include/boost/mpl/map/aux_/numbered.hpp | 110 + .../map/aux_/preprocessed/no_ctps/map10.hpp | 350 ++ .../map/aux_/preprocessed/no_ctps/map20.hpp | 370 ++ .../map/aux_/preprocessed/no_ctps/map30.hpp | 390 ++ .../map/aux_/preprocessed/no_ctps/map40.hpp | 410 ++ .../map/aux_/preprocessed/no_ctps/map50.hpp | 430 ++ .../mpl/map/aux_/preprocessed/plain/map10.hpp | 290 + .../mpl/map/aux_/preprocessed/plain/map20.hpp | 310 ++ .../mpl/map/aux_/preprocessed/plain/map30.hpp | 330 ++ .../mpl/map/aux_/preprocessed/plain/map40.hpp | 350 ++ .../mpl/map/aux_/preprocessed/plain/map50.hpp | 370 ++ .../aux_/preprocessed/typeof_based/map10.hpp | 150 + .../aux_/preprocessed/typeof_based/map20.hpp | 170 + .../aux_/preprocessed/typeof_based/map30.hpp | 190 + .../aux_/preprocessed/typeof_based/map40.hpp | 210 + .../aux_/preprocessed/typeof_based/map50.hpp | 230 + .../include/boost/mpl/map/aux_/size_impl.hpp | 33 + .../include/boost/mpl/map/aux_/tag.hpp | 24 + .../boost/mpl/map/aux_/value_type_impl.hpp | 36 + .../include/boost/mpl/map/map0.hpp | 36 + .../include/boost/mpl/map/map10.hpp | 44 + .../include/boost/mpl/map/map20.hpp | 44 + .../include/boost/mpl/map/map30.hpp | 44 + .../include/boost/mpl/map/map40.hpp | 44 + .../include/boost/mpl/map/map50.hpp | 44 + .../include/boost/mpl/math/fixed_c.hpp | 36 + .../include/boost/mpl/math/is_even.hpp | 54 + .../include/boost/mpl/math/rational_c.hpp | 37 + .../include/boost/mpl/max.hpp | 19 + .../include/boost/mpl/max_element.hpp | 72 + .../include/boost/mpl/min.hpp | 19 + .../include/boost/mpl/min_element.hpp | 40 + .../include/boost/mpl/min_max.hpp | 46 + .../include/boost/mpl/minus.hpp | 21 + .../include/boost/mpl/modulus.hpp | 22 + .../include/boost/mpl/multiplies.hpp | 53 + .../boost/mpl/multiset/aux_/count_impl.hpp | 82 + .../boost/mpl/multiset/aux_/insert_impl.hpp | 34 + .../include/boost/mpl/multiset/aux_/item.hpp | 114 + .../boost/mpl/multiset/aux_/multiset0.hpp | 34 + .../include/boost/mpl/multiset/aux_/tag.hpp | 23 + .../include/boost/mpl/multiset/multiset0.hpp | 36 + .../include/boost/mpl/negate.hpp | 81 + .../include/boost/mpl/next.hpp | 19 + .../include/boost/mpl/next_prior.hpp | 49 + .../include/boost/mpl/not.hpp | 51 + .../include/boost/mpl/not_equal_to.hpp | 21 + .../include/boost/mpl/numeric_cast.hpp | 41 + .../include/boost/mpl/or.hpp | 61 + .../include/boost/mpl/order.hpp | 41 + .../include/boost/mpl/order_fwd.hpp | 25 + .../include/boost/mpl/pair.hpp | 70 + .../include/boost/mpl/pair_view.hpp | 169 + .../include/boost/mpl/partition.hpp | 53 + .../include/boost/mpl/placeholders.hpp | 100 + .../include/boost/mpl/plus.hpp | 21 + .../include/boost/mpl/pop_back.hpp | 39 + .../include/boost/mpl/pop_back_fwd.hpp | 24 + .../include/boost/mpl/pop_front.hpp | 39 + .../include/boost/mpl/pop_front_fwd.hpp | 24 + .../include/boost/mpl/print.hpp | 74 + .../include/boost/mpl/prior.hpp | 19 + .../include/boost/mpl/protect.hpp | 55 + .../include/boost/mpl/push_back.hpp | 53 + .../include/boost/mpl/push_back_fwd.hpp | 24 + .../include/boost/mpl/push_front.hpp | 52 + .../include/boost/mpl/push_front_fwd.hpp | 24 + .../include/boost/mpl/quote.hpp | 151 + .../include/boost/mpl/range_c.hpp | 48 + .../include/boost/mpl/remove.hpp | 52 + .../include/boost/mpl/remove_if.hpp | 83 + .../include/boost/mpl/replace.hpp | 55 + .../include/boost/mpl/replace_if.hpp | 88 + .../include/boost/mpl/reverse.hpp | 38 + .../include/boost/mpl/reverse_fold.hpp | 50 + .../include/boost/mpl/reverse_iter_fold.hpp | 56 + .../include/boost/mpl/same_as.hpp | 55 + .../include/boost/mpl/sequence_tag.hpp | 124 + .../include/boost/mpl/sequence_tag_fwd.hpp | 26 + .../include/boost/mpl/set.hpp | 57 + .../include/boost/mpl/set/aux_/at_impl.hpp | 40 + .../boost/mpl/set/aux_/begin_end_impl.hpp | 43 + .../include/boost/mpl/set/aux_/clear_impl.hpp | 35 + .../include/boost/mpl/set/aux_/empty_impl.hpp | 34 + .../include/boost/mpl/set/aux_/erase_impl.hpp | 41 + .../boost/mpl/set/aux_/erase_key_impl.hpp | 53 + .../boost/mpl/set/aux_/has_key_impl.hpp | 60 + .../mpl/set/aux_/include_preprocessed.hpp | 42 + .../boost/mpl/set/aux_/insert_impl.hpp | 65 + .../include/boost/mpl/set/aux_/item.hpp | 80 + .../include/boost/mpl/set/aux_/iterator.hpp | 98 + .../boost/mpl/set/aux_/key_type_impl.hpp | 34 + .../include/boost/mpl/set/aux_/numbered.hpp | 48 + .../include/boost/mpl/set/aux_/numbered_c.hpp | 48 + .../mpl/set/aux_/preprocessed/plain/set10.hpp | 140 + .../set/aux_/preprocessed/plain/set10_c.hpp | 145 + .../mpl/set/aux_/preprocessed/plain/set20.hpp | 168 + .../set/aux_/preprocessed/plain/set20_c.hpp | 154 + .../mpl/set/aux_/preprocessed/plain/set30.hpp | 195 + .../set/aux_/preprocessed/plain/set30_c.hpp | 164 + .../mpl/set/aux_/preprocessed/plain/set40.hpp | 221 + .../set/aux_/preprocessed/plain/set40_c.hpp | 174 + .../mpl/set/aux_/preprocessed/plain/set50.hpp | 250 + .../set/aux_/preprocessed/plain/set50_c.hpp | 184 + .../include/boost/mpl/set/aux_/set0.hpp | 69 + .../include/boost/mpl/set/aux_/size_impl.hpp | 33 + .../include/boost/mpl/set/aux_/tag.hpp | 24 + .../boost/mpl/set/aux_/value_type_impl.hpp | 34 + .../include/boost/mpl/set/set0.hpp | 35 + .../include/boost/mpl/set/set0_c.hpp | 32 + .../include/boost/mpl/set/set10.hpp | 44 + .../include/boost/mpl/set/set10_c.hpp | 45 + .../include/boost/mpl/set/set20.hpp | 44 + .../include/boost/mpl/set/set20_c.hpp | 45 + .../include/boost/mpl/set/set30.hpp | 44 + .../include/boost/mpl/set/set30_c.hpp | 45 + .../include/boost/mpl/set/set40.hpp | 44 + .../include/boost/mpl/set/set40_c.hpp | 45 + .../include/boost/mpl/set/set50.hpp | 44 + .../include/boost/mpl/set/set50_c.hpp | 45 + .../include/boost/mpl/set_c.hpp | 60 + .../include/boost/mpl/shift_left.hpp | 22 + .../include/boost/mpl/shift_right.hpp | 22 + .../include/boost/mpl/single_view.hpp | 38 + .../include/boost/mpl/size.hpp | 42 + .../include/boost/mpl/size_fwd.hpp | 24 + .../include/boost/mpl/size_t.hpp | 25 + .../include/boost/mpl/size_t_fwd.hpp | 28 + .../include/boost/mpl/sizeof.hpp | 36 + .../include/boost/mpl/sort.hpp | 27 + .../include/boost/mpl/stable_partition.hpp | 75 + .../include/boost/mpl/string.hpp | 559 ++ .../include/boost/mpl/switch.hpp | 49 + .../include/boost/mpl/tag.hpp | 52 + .../include/boost/mpl/times.hpp | 21 + .../include/boost/mpl/transform.hpp | 145 + .../include/boost/mpl/transform_view.hpp | 46 + .../include/boost/mpl/unique.hpp | 85 + .../include/boost/mpl/unpack_args.hpp | 150 + .../include/boost/mpl/upper_bound.hpp | 141 + .../include/boost/mpl/value_type.hpp | 42 + .../include/boost/mpl/value_type_fwd.hpp | 25 + .../include/boost/mpl/vector.hpp | 57 + .../include/boost/mpl/vector/aux_/O1_size.hpp | 56 + .../include/boost/mpl/vector/aux_/at.hpp | 116 + .../include/boost/mpl/vector/aux_/back.hpp | 59 + .../boost/mpl/vector/aux_/begin_end.hpp | 49 + .../include/boost/mpl/vector/aux_/clear.hpp | 55 + .../include/boost/mpl/vector/aux_/empty.hpp | 68 + .../include/boost/mpl/vector/aux_/front.hpp | 56 + .../mpl/vector/aux_/include_preprocessed.hpp | 55 + .../include/boost/mpl/vector/aux_/item.hpp | 103 + .../boost/mpl/vector/aux_/iterator.hpp | 130 + .../boost/mpl/vector/aux_/numbered.hpp | 218 + .../boost/mpl/vector/aux_/numbered_c.hpp | 77 + .../boost/mpl/vector/aux_/pop_back.hpp | 40 + .../boost/mpl/vector/aux_/pop_front.hpp | 40 + .../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/mpl/vector/aux_/push_back.hpp | 40 + .../boost/mpl/vector/aux_/push_front.hpp | 40 + .../include/boost/mpl/vector/aux_/size.hpp | 49 + .../include/boost/mpl/vector/aux_/tag.hpp | 32 + .../include/boost/mpl/vector/aux_/vector0.hpp | 52 + .../include/boost/mpl/vector/vector0.hpp | 34 + .../include/boost/mpl/vector/vector0_c.hpp | 31 + .../include/boost/mpl/vector/vector10.hpp | 45 + .../include/boost/mpl/vector/vector10_c.hpp | 46 + .../include/boost/mpl/vector/vector20.hpp | 45 + .../include/boost/mpl/vector/vector20_c.hpp | 46 + .../include/boost/mpl/vector/vector30.hpp | 45 + .../include/boost/mpl/vector/vector30_c.hpp | 47 + .../include/boost/mpl/vector/vector40.hpp | 45 + .../include/boost/mpl/vector/vector40_c.hpp | 46 + .../include/boost/mpl/vector/vector50.hpp | 45 + .../include/boost/mpl/vector/vector50_c.hpp | 46 + .../include/boost/mpl/vector_c.hpp | 61 + .../include/boost/mpl/void.hpp | 76 + .../include/boost/mpl/void_fwd.hpp | 26 + .../include/boost/mpl/zip_view.hpp | 64 + .../include/boost/noncopyable.hpp | 36 + .../include/boost/operators.hpp | 976 ++++ .../include/boost/preprocessor/arithmetic.hpp | 25 + .../boost/preprocessor/arithmetic/add.hpp | 51 + .../boost/preprocessor/arithmetic/dec.hpp | 288 + .../arithmetic/detail/div_base.hpp | 61 + .../boost/preprocessor/arithmetic/div.hpp | 39 + .../boost/preprocessor/arithmetic/inc.hpp | 288 + .../boost/preprocessor/arithmetic/mod.hpp | 39 + .../boost/preprocessor/arithmetic/mul.hpp | 53 + .../boost/preprocessor/arithmetic/sub.hpp | 50 + .../include/boost/preprocessor/array.hpp | 27 + .../include/boost/preprocessor/array/data.hpp | 28 + .../include/boost/preprocessor/array/elem.hpp | 29 + .../boost/preprocessor/array/insert.hpp | 55 + .../boost/preprocessor/array/pop_back.hpp | 37 + .../boost/preprocessor/array/pop_front.hpp | 38 + .../boost/preprocessor/array/push_back.hpp | 33 + .../boost/preprocessor/array/push_front.hpp | 33 + .../boost/preprocessor/array/remove.hpp | 54 + .../boost/preprocessor/array/replace.hpp | 49 + .../boost/preprocessor/array/reverse.hpp | 29 + .../include/boost/preprocessor/array/size.hpp | 28 + .../include/boost/preprocessor/assert_msg.hpp | 17 + .../include/boost/preprocessor/cat.hpp | 35 + .../include/boost/preprocessor/comma.hpp | 17 + .../include/boost/preprocessor/comma_if.hpp | 17 + .../include/boost/preprocessor/comparison.hpp | 24 + .../boost/preprocessor/comparison/equal.hpp | 34 + .../boost/preprocessor/comparison/greater.hpp | 38 + .../preprocessor/comparison/greater_equal.hpp | 38 + .../boost/preprocessor/comparison/less.hpp | 46 + .../preprocessor/comparison/less_equal.hpp | 39 + .../preprocessor/comparison/not_equal.hpp | 814 +++ .../boost/preprocessor/config/config.hpp | 70 + .../boost/preprocessor/config/limits.hpp | 29 + .../include/boost/preprocessor/control.hpp | 22 + .../boost/preprocessor/control/deduce_d.hpp | 22 + .../preprocessor/control/detail/dmc/while.hpp | 536 ++ .../preprocessor/control/detail/edg/while.hpp | 534 ++ .../control/detail/msvc/while.hpp | 277 + .../preprocessor/control/detail/while.hpp | 536 ++ .../boost/preprocessor/control/expr_if.hpp | 30 + .../boost/preprocessor/control/expr_iif.hpp | 31 + .../include/boost/preprocessor/control/if.hpp | 30 + .../boost/preprocessor/control/iif.hpp | 34 + .../boost/preprocessor/control/while.hpp | 312 ++ .../include/boost/preprocessor/debug.hpp | 18 + .../boost/preprocessor/debug/assert.hpp | 44 + .../boost/preprocessor/debug/error.hpp | 33 + .../include/boost/preprocessor/debug/line.hpp | 35 + .../include/boost/preprocessor/dec.hpp | 17 + .../boost/preprocessor/detail/auto_rec.hpp | 293 + .../boost/preprocessor/detail/check.hpp | 48 + .../preprocessor/detail/dmc/auto_rec.hpp | 286 + .../boost/preprocessor/detail/is_binary.hpp | 30 + .../boost/preprocessor/detail/is_nullary.hpp | 30 + .../boost/preprocessor/detail/is_unary.hpp | 30 + .../boost/preprocessor/detail/null.hpp | 17 + .../boost/preprocessor/detail/split.hpp | 35 + .../include/boost/preprocessor/empty.hpp | 17 + .../include/boost/preprocessor/enum.hpp | 17 + .../boost/preprocessor/enum_params.hpp | 17 + .../enum_params_with_a_default.hpp | 17 + .../enum_params_with_defaults.hpp | 17 + .../boost/preprocessor/enum_shifted.hpp | 17 + .../preprocessor/enum_shifted_params.hpp | 17 + .../include/boost/preprocessor/expand.hpp | 17 + .../include/boost/preprocessor/expr_if.hpp | 17 + .../include/boost/preprocessor/facilities.hpp | 21 + .../boost/preprocessor/facilities/apply.hpp | 34 + .../boost/preprocessor/facilities/empty.hpp | 21 + .../boost/preprocessor/facilities/expand.hpp | 28 + .../preprocessor/facilities/identity.hpp | 23 + .../preprocessor/facilities/intercept.hpp | 277 + .../boost/preprocessor/facilities/is_1.hpp | 23 + .../preprocessor/facilities/is_empty.hpp | 43 + .../preprocessor/facilities/is_empty_or_1.hpp | 30 + .../include/boost/preprocessor/for.hpp | 17 + .../include/boost/preprocessor/identity.hpp | 17 + .../include/boost/preprocessor/if.hpp | 17 + .../include/boost/preprocessor/inc.hpp | 17 + .../include/boost/preprocessor/iterate.hpp | 17 + .../include/boost/preprocessor/iteration.hpp | 19 + .../iteration/detail/bounds/lower1.hpp | 99 + .../iteration/detail/bounds/lower2.hpp | 99 + .../iteration/detail/bounds/lower3.hpp | 99 + .../iteration/detail/bounds/lower4.hpp | 99 + .../iteration/detail/bounds/lower5.hpp | 99 + .../iteration/detail/bounds/upper1.hpp | 99 + .../iteration/detail/bounds/upper2.hpp | 99 + .../iteration/detail/bounds/upper3.hpp | 99 + .../iteration/detail/bounds/upper4.hpp | 99 + .../iteration/detail/bounds/upper5.hpp | 99 + .../preprocessor/iteration/detail/finish.hpp | 99 + .../iteration/detail/iter/forward1.hpp | 1342 +++++ .../iteration/detail/iter/forward2.hpp | 1338 +++++ .../iteration/detail/iter/forward3.hpp | 1338 +++++ .../iteration/detail/iter/forward4.hpp | 1338 +++++ .../iteration/detail/iter/forward5.hpp | 1338 +++++ .../iteration/detail/iter/reverse1.hpp | 1296 +++++ .../iteration/detail/iter/reverse2.hpp | 1296 +++++ .../iteration/detail/iter/reverse3.hpp | 1296 +++++ .../iteration/detail/iter/reverse4.hpp | 1296 +++++ .../iteration/detail/iter/reverse5.hpp | 1296 +++++ .../preprocessor/iteration/detail/local.hpp | 812 +++ .../preprocessor/iteration/detail/rlocal.hpp | 782 +++ .../preprocessor/iteration/detail/self.hpp | 21 + .../preprocessor/iteration/detail/start.hpp | 99 + .../boost/preprocessor/iteration/iterate.hpp | 82 + .../boost/preprocessor/iteration/local.hpp | 26 + .../boost/preprocessor/iteration/self.hpp | 19 + .../include/boost/preprocessor/library.hpp | 34 + .../include/boost/preprocessor/limits.hpp | 17 + .../include/boost/preprocessor/list.hpp | 35 + .../include/boost/preprocessor/list/adt.hpp | 73 + .../boost/preprocessor/list/append.hpp | 40 + .../include/boost/preprocessor/list/at.hpp | 39 + .../include/boost/preprocessor/list/cat.hpp | 42 + .../list/detail/dmc/fold_left.hpp | 279 + .../list/detail/edg/fold_left.hpp | 536 ++ .../list/detail/edg/fold_right.hpp | 794 +++ .../preprocessor/list/detail/fold_left.hpp | 279 + .../preprocessor/list/detail/fold_right.hpp | 277 + .../include/boost/preprocessor/list/enum.hpp | 41 + .../boost/preprocessor/list/filter.hpp | 54 + .../boost/preprocessor/list/first_n.hpp | 58 + .../boost/preprocessor/list/fold_left.hpp | 303 ++ .../boost/preprocessor/list/fold_right.hpp | 40 + .../boost/preprocessor/list/for_each.hpp | 49 + .../boost/preprocessor/list/for_each_i.hpp | 65 + .../preprocessor/list/for_each_product.hpp | 141 + .../boost/preprocessor/list/rest_n.hpp | 55 + .../boost/preprocessor/list/reverse.hpp | 40 + .../include/boost/preprocessor/list/size.hpp | 58 + .../boost/preprocessor/list/to_tuple.hpp | 38 + .../boost/preprocessor/list/transform.hpp | 49 + .../include/boost/preprocessor/logical.hpp | 29 + .../boost/preprocessor/logical/and.hpp | 30 + .../boost/preprocessor/logical/bitand.hpp | 38 + .../boost/preprocessor/logical/bitnor.hpp | 38 + .../boost/preprocessor/logical/bitor.hpp | 38 + .../boost/preprocessor/logical/bitxor.hpp | 38 + .../boost/preprocessor/logical/bool.hpp | 288 + .../boost/preprocessor/logical/compl.hpp | 36 + .../boost/preprocessor/logical/nor.hpp | 30 + .../boost/preprocessor/logical/not.hpp | 30 + .../include/boost/preprocessor/logical/or.hpp | 30 + .../boost/preprocessor/logical/xor.hpp | 30 + .../include/boost/preprocessor/max.hpp | 17 + .../include/boost/preprocessor/min.hpp | 17 + .../boost/preprocessor/punctuation.hpp | 20 + .../boost/preprocessor/punctuation/comma.hpp | 21 + .../preprocessor/punctuation/comma_if.hpp | 31 + .../boost/preprocessor/punctuation/paren.hpp | 23 + .../preprocessor/punctuation/paren_if.hpp | 38 + .../include/boost/preprocessor/repeat.hpp | 17 + .../include/boost/preprocessor/repeat_2nd.hpp | 17 + .../include/boost/preprocessor/repeat_3rd.hpp | 17 + .../boost/preprocessor/repeat_from_to.hpp | 17 + .../boost/preprocessor/repeat_from_to_2nd.hpp | 17 + .../boost/preprocessor/repeat_from_to_3rd.hpp | 17 + .../include/boost/preprocessor/repetition.hpp | 32 + .../preprocessor/repetition/deduce_r.hpp | 22 + .../preprocessor/repetition/deduce_z.hpp | 22 + .../repetition/detail/dmc/for.hpp | 536 ++ .../repetition/detail/edg/for.hpp | 534 ++ .../preprocessor/repetition/detail/for.hpp | 536 ++ .../repetition/detail/msvc/for.hpp | 277 + .../boost/preprocessor/repetition/enum.hpp | 66 + .../repetition/enum_binary_params.hpp | 54 + .../preprocessor/repetition/enum_params.hpp | 41 + .../repetition/enum_params_with_a_default.hpp | 25 + .../repetition/enum_params_with_defaults.hpp | 24 + .../preprocessor/repetition/enum_shifted.hpp | 68 + .../repetition/enum_shifted_binary_params.hpp | 51 + .../repetition/enum_shifted_params.hpp | 44 + .../preprocessor/repetition/enum_trailing.hpp | 63 + .../enum_trailing_binary_params.hpp | 53 + .../repetition/enum_trailing_params.hpp | 38 + .../boost/preprocessor/repetition/for.hpp | 306 ++ .../boost/preprocessor/repetition/repeat.hpp | 825 +++ .../repetition/repeat_from_to.hpp | 87 + .../include/boost/preprocessor/selection.hpp | 18 + .../boost/preprocessor/selection/max.hpp | 39 + .../boost/preprocessor/selection/min.hpp | 39 + .../include/boost/preprocessor/seq.hpp | 41 + .../include/boost/preprocessor/seq/cat.hpp | 48 + .../boost/preprocessor/seq/detail/split.hpp | 284 + .../include/boost/preprocessor/seq/elem.hpp | 304 ++ .../include/boost/preprocessor/seq/enum.hpp | 288 + .../include/boost/preprocessor/seq/filter.hpp | 54 + .../boost/preprocessor/seq/first_n.hpp | 30 + .../boost/preprocessor/seq/fold_left.hpp | 1070 ++++ .../boost/preprocessor/seq/fold_right.hpp | 288 + .../boost/preprocessor/seq/for_each.hpp | 60 + .../boost/preprocessor/seq/for_each_i.hpp | 61 + .../preprocessor/seq/for_each_product.hpp | 126 + .../include/boost/preprocessor/seq/insert.hpp | 28 + .../boost/preprocessor/seq/pop_back.hpp | 29 + .../boost/preprocessor/seq/pop_front.hpp | 27 + .../boost/preprocessor/seq/push_back.hpp | 19 + .../boost/preprocessor/seq/push_front.hpp | 19 + .../include/boost/preprocessor/seq/remove.hpp | 29 + .../boost/preprocessor/seq/replace.hpp | 29 + .../include/boost/preprocessor/seq/rest_n.hpp | 30 + .../boost/preprocessor/seq/reverse.hpp | 39 + .../include/boost/preprocessor/seq/seq.hpp | 44 + .../include/boost/preprocessor/seq/size.hpp | 548 ++ .../include/boost/preprocessor/seq/subseq.hpp | 28 + .../boost/preprocessor/seq/to_array.hpp | 28 + .../boost/preprocessor/seq/to_tuple.hpp | 27 + .../boost/preprocessor/seq/transform.hpp | 48 + .../include/boost/preprocessor/slot.hpp | 17 + .../boost/preprocessor/slot/counter.hpp | 25 + .../preprocessor/slot/detail/counter.hpp | 269 + .../boost/preprocessor/slot/detail/def.hpp | 49 + .../boost/preprocessor/slot/detail/shared.hpp | 247 + .../boost/preprocessor/slot/detail/slot1.hpp | 267 + .../boost/preprocessor/slot/detail/slot2.hpp | 267 + .../boost/preprocessor/slot/detail/slot3.hpp | 267 + .../boost/preprocessor/slot/detail/slot4.hpp | 267 + .../boost/preprocessor/slot/detail/slot5.hpp | 267 + .../include/boost/preprocessor/slot/slot.hpp | 32 + .../include/boost/preprocessor/stringize.hpp | 33 + .../include/boost/preprocessor/tuple.hpp | 24 + .../include/boost/preprocessor/tuple/eat.hpp | 57 + .../include/boost/preprocessor/tuple/elem.hpp | 385 ++ .../include/boost/preprocessor/tuple/rem.hpp | 72 + .../boost/preprocessor/tuple/reverse.hpp | 62 + .../boost/preprocessor/tuple/to_list.hpp | 62 + .../boost/preprocessor/tuple/to_seq.hpp | 60 + .../include/boost/preprocessor/while.hpp | 17 + .../include/boost/preprocessor/wstringize.hpp | 29 + .../include/boost/program_options.hpp | 25 + .../include/boost/program_options/cmdline.hpp | 90 + .../include/boost/program_options/config.hpp | 55 + .../boost/program_options/detail/cmdline.hpp | 138 + .../program_options/detail/config_file.hpp | 182 + .../boost/program_options/detail/convert.hpp | 107 + .../boost/program_options/detail/parsers.hpp | 146 + .../detail/utf8_codecvt_facet.hpp | 25 + .../program_options/detail/value_semantic.hpp | 207 + .../program_options/environment_iterator.hpp | 51 + .../boost/program_options/eof_iterator.hpp | 97 + .../include/boost/program_options/errors.hpp | 236 + .../include/boost/program_options/option.hpp | 70 + .../program_options/options_description.hpp | 254 + .../include/boost/program_options/parsers.hpp | 262 + .../program_options/positional_options.hpp | 65 + .../boost/program_options/value_semantic.hpp | 405 ++ .../boost/program_options/variables_map.hpp | 206 + .../include/boost/program_options/version.hpp | 19 + .../include/boost/random.hpp | 75 + .../include/boost/random/additive_combine.hpp | 134 + .../boost/random/bernoulli_distribution.hpp | 81 + .../boost/random/binomial_distribution.hpp | 82 + .../boost/random/cauchy_distribution.hpp | 90 + .../include/boost/random/detail/config.hpp | 18 + .../include/boost/random/detail/const_mod.hpp | 363 ++ .../boost/random/detail/disable_warnings.hpp | 22 + .../boost/random/detail/enable_warnings.hpp | 18 + .../boost/random/detail/iterator_mixin.hpp | 45 + .../random/detail/pass_through_engine.hpp | 100 + .../boost/random/detail/ptr_helper.hpp | 94 + .../include/boost/random/detail/seed.hpp | 88 + .../random/detail/signed_unsigned_tools.hpp | 89 + .../boost/random/detail/uniform_int_float.hpp | 85 + .../include/boost/random/discard_block.hpp | 123 + .../boost/random/exponential_distribution.hpp | 82 + .../boost/random/gamma_distribution.hpp | 134 + .../boost/random/geometric_distribution.hpp | 98 + .../boost/random/inversive_congruential.hpp | 129 + .../include/boost/random/lagged_fibonacci.hpp | 469 ++ .../boost/random/linear_congruential.hpp | 284 + .../boost/random/linear_feedback_shift.hpp | 151 + .../boost/random/lognormal_distribution.hpp | 115 + .../include/boost/random/mersenne_twister.hpp | 293 + .../boost/random/normal_distribution.hpp | 112 + .../boost/random/poisson_distribution.hpp | 100 + .../boost/random/random_number_generator.hpp | 56 + .../include/boost/random/ranlux.hpp | 50 + .../include/boost/random/shuffle_output.hpp | 175 + .../boost/random/subtract_with_carry.hpp | 448 ++ .../boost/random/triangle_distribution.hpp | 102 + .../include/boost/random/uniform_01.hpp | 224 + .../include/boost/random/uniform_int.hpp | 264 + .../boost/random/uniform_on_sphere.hpp | 87 + .../include/boost/random/uniform_real.hpp | 86 + .../include/boost/random/uniform_smallint.hpp | 108 + .../boost/random/variate_generator.hpp | 137 + .../include/boost/random/xor_combine.hpp | 134 + .../include/boost/ref.hpp | 189 + .../include/boost/shared_array.hpp | 19 + .../include/boost/shared_ptr.hpp | 19 + .../include/boost/smart_ptr/bad_weak_ptr.hpp | 59 + .../boost/smart_ptr/detail/atomic_count.hpp | 119 + .../smart_ptr/detail/atomic_count_gcc.hpp | 72 + .../smart_ptr/detail/atomic_count_gcc_x86.hpp | 77 + .../detail/atomic_count_pthreads.hpp | 96 + .../smart_ptr/detail/atomic_count_solaris.hpp | 59 + .../smart_ptr/detail/atomic_count_sync.hpp | 61 + .../smart_ptr/detail/atomic_count_win32.hpp | 63 + .../smart_ptr/detail/lightweight_mutex.hpp | 42 + .../boost/smart_ptr/detail/lwm_nop.hpp | 37 + .../boost/smart_ptr/detail/lwm_pthreads.hpp | 87 + .../boost/smart_ptr/detail/lwm_win32_cs.hpp | 108 + .../boost/smart_ptr/detail/operator_bool.hpp | 56 + .../smart_ptr/detail/quick_allocator.hpp | 199 + .../smart_ptr/detail/shared_array_nmt.hpp | 151 + .../boost/smart_ptr/detail/shared_count.hpp | 444 ++ .../boost/smart_ptr/detail/shared_ptr_nmt.hpp | 182 + .../boost/smart_ptr/detail/sp_convertible.hpp | 76 + .../smart_ptr/detail/sp_counted_base.hpp | 70 + .../detail/sp_counted_base_acc_ia64.hpp | 150 + .../detail/sp_counted_base_cw_ppc.hpp | 170 + .../detail/sp_counted_base_cw_x86.hpp | 158 + .../detail/sp_counted_base_gcc_ia64.hpp | 157 + .../detail/sp_counted_base_gcc_mips.hpp | 172 + .../detail/sp_counted_base_gcc_ppc.hpp | 181 + .../detail/sp_counted_base_gcc_sparc.hpp | 166 + .../detail/sp_counted_base_gcc_x86.hpp | 173 + .../smart_ptr/detail/sp_counted_base_nt.hpp | 107 + .../smart_ptr/detail/sp_counted_base_pt.hpp | 135 + .../detail/sp_counted_base_solaris.hpp | 113 + .../smart_ptr/detail/sp_counted_base_spin.hpp | 131 + .../smart_ptr/detail/sp_counted_base_sync.hpp | 155 + .../smart_ptr/detail/sp_counted_base_w32.hpp | 130 + .../smart_ptr/detail/sp_counted_impl.hpp | 231 + .../boost/smart_ptr/detail/sp_has_sync.hpp | 49 + .../boost/smart_ptr/detail/spinlock.hpp | 53 + .../smart_ptr/detail/spinlock_gcc_arm.hpp | 85 + .../boost/smart_ptr/detail/spinlock_nt.hpp | 89 + .../boost/smart_ptr/detail/spinlock_pool.hpp | 87 + .../boost/smart_ptr/detail/spinlock_pt.hpp | 79 + .../boost/smart_ptr/detail/spinlock_sync.hpp | 87 + .../boost/smart_ptr/detail/spinlock_w32.hpp | 113 + .../boost/smart_ptr/detail/yield_k.hpp | 149 + .../smart_ptr/enable_shared_from_this.hpp | 79 + .../smart_ptr/enable_shared_from_this2.hpp | 132 + .../include/boost/smart_ptr/intrusive_ptr.hpp | 299 ++ .../include/boost/smart_ptr/make_shared.hpp | 506 ++ .../include/boost/smart_ptr/scoped_array.hpp | 107 + .../include/boost/smart_ptr/scoped_ptr.hpp | 131 + .../include/boost/smart_ptr/shared_array.hpp | 147 + .../include/boost/smart_ptr/shared_ptr.hpp | 701 +++ .../include/boost/smart_ptr/weak_ptr.hpp | 230 + .../include/boost/static_assert.hpp | 132 + .../include/boost/system/config.hpp | 75 + .../include/boost/system/cygwin_error.hpp | 56 + .../include/boost/system/error_code.hpp | 513 ++ .../include/boost/system/linux_error.hpp | 110 + .../include/boost/system/system_error.hpp | 81 + .../include/boost/system/windows_error.hpp | 118 + .../include/boost/throw_exception.hpp | 75 + .../include/boost/timer.hpp | 72 + .../include/boost/type_traits/add_const.hpp | 47 + .../include/boost/type_traits/add_cv.hpp | 48 + .../include/boost/type_traits/add_pointer.hpp | 72 + .../boost/type_traits/add_reference.hpp | 89 + .../boost/type_traits/add_volatile.hpp | 47 + .../boost/type_traits/aligned_storage.hpp | 13 + .../boost/type_traits/alignment_of.hpp | 128 + .../boost/type_traits/alignment_traits.hpp | 15 + .../boost/type_traits/arithmetic_traits.hpp | 20 + .../boost/type_traits/array_traits.hpp | 15 + .../type_traits/broken_compiler_spec.hpp | 117 + .../boost/type_traits/composite_traits.hpp | 29 + .../include/boost/type_traits/config.hpp | 76 + .../boost/type_traits/conversion_traits.hpp | 17 + .../include/boost/type_traits/cv_traits.hpp | 24 + .../include/boost/type_traits/decay.hpp | 44 + .../type_traits/detail/bool_trait_def.hpp | 173 + .../type_traits/detail/bool_trait_undef.hpp | 27 + .../type_traits/detail/cv_traits_impl.hpp | 97 + .../boost/type_traits/detail/false_result.hpp | 28 + .../boost/type_traits/detail/ice_and.hpp | 35 + .../boost/type_traits/detail/ice_eq.hpp | 36 + .../boost/type_traits/detail/ice_not.hpp | 31 + .../boost/type_traits/detail/ice_or.hpp | 34 + .../detail/is_function_ptr_helper.hpp | 220 + .../detail/is_function_ptr_tester.hpp | 654 +++ .../detail/is_mem_fun_pointer_impl.hpp | 817 +++ .../detail/is_mem_fun_pointer_tester.hpp | 2759 ++++++++++ .../type_traits/detail/size_t_trait_def.hpp | 58 + .../type_traits/detail/size_t_trait_undef.hpp | 16 + .../detail/template_arity_spec.hpp | 31 + .../type_traits/detail/type_trait_def.hpp | 61 + .../type_traits/detail/type_trait_undef.hpp | 19 + .../include/boost/type_traits/detail/wrap.hpp | 18 + .../boost/type_traits/detail/yes_no_type.hpp | 26 + .../include/boost/type_traits/extent.hpp | 145 + .../type_traits/floating_point_promotion.hpp | 91 + .../boost/type_traits/function_traits.hpp | 236 + .../boost/type_traits/has_new_operator.hpp | 140 + .../boost/type_traits/has_nothrow_assign.hpp | 38 + .../type_traits/has_nothrow_constructor.hpp | 39 + .../boost/type_traits/has_nothrow_copy.hpp | 39 + .../type_traits/has_nothrow_destructor.hpp | 25 + .../boost/type_traits/has_trivial_assign.hpp | 50 + .../type_traits/has_trivial_constructor.hpp | 43 + .../boost/type_traits/has_trivial_copy.hpp | 49 + .../type_traits/has_trivial_destructor.hpp | 42 + .../type_traits/has_virtual_destructor.hpp | 25 + .../include/boost/type_traits/ice.hpp | 20 + .../boost/type_traits/integral_constant.hpp | 53 + .../boost/type_traits/integral_promotion.hpp | 195 + .../include/boost/type_traits/intrinsics.hpp | 240 + .../include/boost/type_traits/is_abstract.hpp | 153 + .../boost/type_traits/is_arithmetic.hpp | 51 + .../include/boost/type_traits/is_array.hpp | 91 + .../boost/type_traits/is_base_and_derived.hpp | 254 + .../include/boost/type_traits/is_base_of.hpp | 51 + .../boost/type_traits/is_base_of_tr1.hpp | 50 + .../include/boost/type_traits/is_class.hpp | 140 + .../include/boost/type_traits/is_complex.hpp | 34 + .../include/boost/type_traits/is_compound.hpp | 46 + .../include/boost/type_traits/is_const.hpp | 146 + .../boost/type_traits/is_convertible.hpp | 430 ++ .../include/boost/type_traits/is_empty.hpp | 211 + .../include/boost/type_traits/is_enum.hpp | 189 + .../include/boost/type_traits/is_float.hpp | 27 + .../boost/type_traits/is_floating_point.hpp | 27 + .../include/boost/type_traits/is_function.hpp | 103 + .../boost/type_traits/is_fundamental.hpp | 45 + .../include/boost/type_traits/is_integral.hpp | 78 + .../is_member_function_pointer.hpp | 136 + .../type_traits/is_member_object_pointer.hpp | 46 + .../boost/type_traits/is_member_pointer.hpp | 116 + .../include/boost/type_traits/is_object.hpp | 53 + .../include/boost/type_traits/is_pod.hpp | 135 + .../include/boost/type_traits/is_pointer.hpp | 162 + .../boost/type_traits/is_polymorphic.hpp | 114 + .../boost/type_traits/is_reference.hpp | 118 + .../include/boost/type_traits/is_same.hpp | 103 + .../include/boost/type_traits/is_scalar.hpp | 55 + .../include/boost/type_traits/is_signed.hpp | 135 + .../boost/type_traits/is_stateless.hpp | 48 + .../include/boost/type_traits/is_union.hpp | 49 + .../include/boost/type_traits/is_unsigned.hpp | 130 + .../boost/type_traits/is_virtual_base_of.hpp | 104 + .../include/boost/type_traits/is_void.hpp | 38 + .../include/boost/type_traits/is_volatile.hpp | 133 + .../include/boost/type_traits/make_signed.hpp | 137 + .../boost/type_traits/make_unsigned.hpp | 137 + .../type_traits/msvc/remove_all_extents.hpp | 47 + .../boost/type_traits/msvc/remove_bounds.hpp | 43 + .../boost/type_traits/msvc/remove_const.hpp | 143 + .../boost/type_traits/msvc/remove_cv.hpp | 190 + .../boost/type_traits/msvc/remove_extent.hpp | 43 + .../boost/type_traits/msvc/remove_pointer.hpp | 42 + .../type_traits/msvc/remove_reference.hpp | 42 + .../type_traits/msvc/remove_volatile.hpp | 143 + .../include/boost/type_traits/msvc/typeof.hpp | 50 + .../boost/type_traits/object_traits.hpp | 33 + .../include/boost/type_traits/promote.hpp | 40 + .../include/boost/type_traits/rank.hpp | 89 + .../boost/type_traits/reference_traits.hpp | 15 + .../boost/type_traits/remove_all_extents.hpp | 48 + .../boost/type_traits/remove_bounds.hpp | 48 + .../boost/type_traits/remove_const.hpp | 78 + .../include/boost/type_traits/remove_cv.hpp | 61 + .../boost/type_traits/remove_extent.hpp | 48 + .../boost/type_traits/remove_pointer.hpp | 43 + .../boost/type_traits/remove_reference.hpp | 50 + .../boost/type_traits/remove_volatile.hpp | 77 + .../include/boost/type_traits/same_traits.hpp | 15 + .../boost/type_traits/transform_traits.hpp | 21 + .../type_traits/transform_traits_spec.hpp | 14 + .../boost/type_traits/type_with_alignment.hpp | 393 ++ .../include/boost/utility/addressof.hpp | 102 + .../boost/utility/base_from_member.hpp | 87 + .../include/boost/utility/binary.hpp | 708 +++ .../boost/utility/compare_pointees.hpp | 68 + .../detail/in_place_factory_prefix.hpp | 36 + .../detail/in_place_factory_suffix.hpp | 23 + .../utility/detail/result_of_iterate.hpp | 89 + .../include/boost/utility/enable_if.hpp | 119 + .../boost/utility/in_place_factory.hpp | 88 + .../include/boost/utility/result_of.hpp | 88 + .../include/boost/utility/swap.hpp | 55 + .../boost/utility/typed_in_place_factory.hpp | 77 + .../include/boost/utility/value_init.hpp | 151 + .../include/boost/version.hpp | 35 + .../calc_relative_payload.m | 8 + .../STC matlab implementation/calc_syndrome.m | 21 + .../create_code_from_submatrix.m | 77 + .../create_pcm_from_submatrix.m | 16 + .../STC matlab implementation/dec2binvec.m | 45 + .../STC matlab implementation/draw_pcm.m | 33 + .../STC matlab implementation/dual_viterbi.m | 80 + .../dv_best_submatrices.mat | Bin 0 -> 3818 bytes .../STC matlab implementation/example1.m | 17 + .../STC matlab implementation/example2.m | 25 + .../matlab/ex_pm1_dls.m | 26 + .../matlab/ex_pm1_pls.m | 24 + .../matlab/ex_pm2_dls.m | 29 + .../matlab/ex_pm2_pls.m | 26 + .../ml_stc_linux_make_v1.0/matlab/ex_stc.m | 24 + .../matlab/ex_stc_linear.m | 25 + .../matlab/ex_stc_wet.m | 28 + .../matlab/html/ex_pm1_dls.html | 124 + .../matlab/html/ex_pm1_pls.html | 119 + .../matlab/html/ex_pm2_dls.html | 130 + .../matlab/html/ex_pm2_pls.html | 123 + .../matlab/html/ex_stc.html | 122 + .../ml_stc_linux_make_v1.0/matlab/stc_embed.m | 41 + .../matlab/stc_embed.mexa64 | Bin 0 -> 32696 bytes .../matlab/stc_extract.m | 38 + .../matlab/stc_extract.mexa64 | Bin 0 -> 25708 bytes .../matlab/stc_ml_extract.m | 32 + .../matlab/stc_ml_extract.mexa64 | Bin 0 -> 74254 bytes .../matlab/stc_pm1_dls_embed.m | 57 + .../matlab/stc_pm1_dls_embed.mexa64 | Bin 0 -> 74260 bytes .../matlab/stc_pm1_pls_embed.m | 53 + .../matlab/stc_pm1_pls_embed.mexa64 | Bin 0 -> 74260 bytes .../matlab/stc_pm2_dls_embed.m | 59 + .../matlab/stc_pm2_dls_embed.mexa64 | Bin 0 -> 74260 bytes .../matlab/stc_pm2_pls_embed.m | 55 + .../matlab/stc_pm2_pls_embed.mexa64 | Bin 0 -> 74260 bytes .../ml_stc_src/coding_loss.cpp | 97 + .../ml_stc_src/coding_loss.h | 23 + .../ml_stc_src/common.cpp | 177 + .../ml_stc_src/common.h | 35 + .../ml_stc_src/compile.m | 25 + .../ml_stc_src/example1_ml_stc.cpp | 95 + .../ml_stc_src/example2_ml_stc.cpp | 99 + .../ml_stc_src/mex_stc_ml_extract.cpp | 39 + .../ml_stc_src/mex_stc_pm1_dls_embed.cpp | 79 + .../ml_stc_src/mex_stc_pm1_pls_embed.cpp | 68 + .../ml_stc_src/mex_stc_pm2_dls_embed.cpp | 79 + .../ml_stc_src/mex_stc_pm2_pls_embed.cpp | 68 + .../ml_stc_src/sse_mathfun.h | 762 +++ .../ml_stc_src/stc_embed.cpp | 567 ++ .../ml_stc_src/stc_embed_c.cpp | 464 ++ .../ml_stc_src/stc_embed_c.h | 22 + .../ml_stc_src/stc_extract.cpp | 139 + .../ml_stc_src/stc_extract_c.cpp | 97 + .../ml_stc_src/stc_extract_c.h | 19 + .../ml_stc_src/stc_ml_c.cpp | 888 ++++ .../ml_stc_src/stc_ml_c.h | 64 + .../release/example1_ml_stc.o | Bin 0 -> 5912 bytes stc/exp/python/dummy | 7 + stc/exp/python/stc.py | 210 + stc/exp/python/stc.py~ | 206 + stc/exp/python/stc_lght.py | 206 + stc/exp/python/stc_lght.py* | 108 + stc/exp/python/stc_lght.py~ | 108 + 1810 files changed, 274988 insertions(+), 6 deletions(-) create mode 100755 IEEEtran.cls create mode 100755 IEEEtran_HOWTO.pdf create mode 100644 biblio.bib create mode 100755 main.tex create mode 100644 stc/exp/ml_stc_linux_make_v1.0.tar.gz create mode 100644 stc/exp/ml_stc_linux_make_v1.0/Makefile create mode 100755 stc/exp/ml_stc_linux_make_v1.0/example.sh create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/any.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/assert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_cc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf2_cc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf_cc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_template.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/make_adaptable.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_cc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_template.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_vw.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/protect.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/storage.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/call_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/cerrno.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/checked_delete.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_prefix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_suffix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_prefix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_suffix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_prefix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_suffix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/auto_link.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/borland.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/codegear.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/comeau.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/common_edg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/compaq_cxx.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/digitalmars.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc_xml.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/greenhills.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/hp_acc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/intel.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/kai.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/metrowerks.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/mpw.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/pgi.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sgi_mipspro.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sunpro_cc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/vacpp.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/visualc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/cmath.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/complex.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/functional.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/memory.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/utility.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/aix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/amigaos.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/beos.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/bsd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/cygwin.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/hpux.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/irix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/linux.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/macos.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/qnxnto.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/solaris.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/vxworks.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/win32.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/posix_features.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/requires_threads.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_compiler_config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_platform_config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_stdlib_config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/dinkumware.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libcomo.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libstdcpp3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/modena.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/msl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/roguewave.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/sgi.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/stlport.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/vacpp.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/suffix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/user.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/config/warning_disable.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdint.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdlib.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/current_function.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/algorithm.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/allocator_utilities.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/atomic_count.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/binary_search.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/call_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/catch_exceptions.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/compressed_pair.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/container_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/dynamic_bitset.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/endian.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/has_default_constructor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/identifier.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/indirect_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/interlocked.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_function_ref_tester.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_incrementable.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_xxx.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lcast_precision.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_mutex.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_test.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_thread.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/limits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/named_template_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/no_exceptions_support.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/none_t.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/numeric_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_call_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_compressed_pair.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/quick_allocator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/reference_content.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/scoped_enum_emulation.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/select_type.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/sp_typeinfo.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/templated_streams.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/utf8_codecvt_facet.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/workaround.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/all.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/current_exception_cast.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/attribute_noreturn.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/error_info_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/exception_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/is_output_streamable.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/object_hex_dump.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/type_info.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/diagnostic_information.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_current_exception.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_error_info.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_api_function.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_at_line.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_errno.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_handle.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_name.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_open_mode.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_nested_exception.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_type_info_name.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/error_info.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/exception.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/get_error_info.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info_tuple.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string_stub.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/convenience.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/exception.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/fstream.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/operations.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/path.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/function_iterate.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/gen_maybe_include.pl create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/maybe_include.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/prologue.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function4.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function5.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function6.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function7.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function8.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function9.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_base.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_template.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_typeof.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function/gen_function_N.pl create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/function_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/get_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/implicit_cast.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/integer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/integer_mask.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_log2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_min_max.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/counting_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/any_conversion_eater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_def.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_undef.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/enable_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/facade_iterator_category.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/minimum_category.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/filter_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/indirect_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/interoperable.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_lvalue_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_readable_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_adaptor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_archetypes.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_categories.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_concepts.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_facade.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/new_iterator_tests.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/permutation_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/reverse_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/transform_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/zip_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/lexical_cast.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/limits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mem_fn.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/memory_order.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/accumulate.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/alias.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/always.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arithmetic.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/as_sequence.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/assert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/O1_size_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/adl_barrier.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/apply_1st.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arg_typedef.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arithmetic_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/at_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/back_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/begin_end_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/clear_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/common_name_wknd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/comparison_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/adl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/arrays.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bcc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/compiler.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dependent_nttp.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dtp.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/eti.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/forwarding.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/gcc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_xxx.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/integral.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/intel.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc_typename.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/nttp.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/operators.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/overload_resolution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/pp_counter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/preprocessor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/static_constant.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ttp.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/typeof.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/use_preprocessed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/workaround.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/contains_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/empty_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_key_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/filter_iter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/find_if_pred.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl_body.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_pred.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/front_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_begin.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_key_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_rebind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_type.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/include_preprocessed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_range_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/inserter_algorithm.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/integral_wrapper.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/is_msvc_eti_arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_push_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/joint_iter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_arity_param.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_support.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/largest_int.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/logical_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_dtw.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_eti_base.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_is_class.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_never_true.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_type.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_assert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nested_type_wknd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nttp_decl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_cast_utils.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/order_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/overload_names.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/partition_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_back_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_front_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/arg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/add.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/default_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/enum.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/ext_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/filter_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/is_seq.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/range.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/repeat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/sub.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/token_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/tuple.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/ptr_to_ref.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_back_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_front_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/O1_size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl_body.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sequence_wrapper.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/shift_op.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/single_element_iter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/size_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sort_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/static_cast.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/assert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/data.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/test_case.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/traits_lambda_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/transform_iter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/type_wrapper.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/unwrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/value_wknd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/yes_no.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_inserter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/base.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitwise.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/comparison.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deque.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deref.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/divides.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_base.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_sequence.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/end.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/eval_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/filter_view.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/fold.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/for_each.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_inserter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_xxx.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/identity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_of.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit_linearly.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inserter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_placeholder.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_sequence.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_category.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_range.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_tags.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/joint_view.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/arity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/string.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/unrolling.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/O1_size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/begin_end.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/clear.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/include_preprocessed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/item.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/pop_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/logical.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lower_bound.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/at_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/begin_end_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/clear_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/contains_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/empty_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_key_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/has_key_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/include_preprocessed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/insert_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/item.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/key_type_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/map0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/numbered.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/size_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/value_type_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/fixed_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/is_even.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/rational_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max_element.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_element.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_max.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/minus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/modulus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiplies.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/count_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/insert_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/item.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/multiset0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/multiset0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/negate.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next_prior.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not_equal_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/numeric_cast.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair_view.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/partition.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/placeholders.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/plus.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/print.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/prior.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/protect.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/quote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/range_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_fold.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_iter_fold.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/same_as.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/at_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/begin_end_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/clear_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/empty_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_key_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/has_key_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/include_preprocessed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/insert_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/item.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/key_type_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/set0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/size_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/value_type_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/single_view.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sizeof.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sort.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/stable_partition.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/string.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/switch.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/times.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform_view.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unique.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unpack_args.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/upper_bound.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/O1_size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/at.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/begin_end.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/clear.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/include_preprocessed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/item.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/tag.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/vector0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector_c.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void_fwd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/zip_view.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/noncopyable.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/operators.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/add.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/dec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/detail/div_base.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/div.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/inc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mod.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mul.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/sub.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/data.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/elem.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/insert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/remove.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/replace.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/reverse.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/assert_msg.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/cat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/not_equal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/limits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/deduce_d.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/dmc/while.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/edg/while.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/msvc/while.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/while.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_iif.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/iif.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/while.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/assert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/error.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/line.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/dec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/auto_rec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/check.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/dmc/auto_rec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_binary.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_nullary.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_unary.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/null.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/split.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_a_default.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_defaults.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expr_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/apply.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/expand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/identity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/intercept.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty_or_1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/for.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/identity.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/inc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iterate.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/finish.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward4.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward5.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/local.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/rlocal.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/self.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/start.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/iterate.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/local.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/self.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/library.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/limits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/adt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/append.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/at.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/cat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/dmc/fold_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/enum.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/filter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/first_n.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_i.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_product.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/rest_n.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/reverse.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/to_tuple.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/transform.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitand.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitnor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitxor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bool.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/compl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/nor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/not.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/xor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/max.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/min.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_2nd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_3rd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_2nd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_3rd.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_r.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_z.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/dmc/for.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/edg/for.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/for.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/msvc/for.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_binary_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_params.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/for.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat_from_to.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/max.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/min.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/cat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/detail/split.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/elem.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/enum.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/filter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/first_n.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_left.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_right.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_i.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_product.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/insert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_back.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_front.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/remove.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/replace.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/rest_n.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/reverse.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/seq.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/size.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/subseq.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_array.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_tuple.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/transform.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/counter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/counter.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/def.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/shared.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot3.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot4.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot5.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/slot.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/stringize.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/eat.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/elem.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/rem.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/reverse.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_list.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_seq.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/while.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/wstringize.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/cmdline.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/cmdline.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/config_file.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/convert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/parsers.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/utf8_codecvt_facet.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/value_semantic.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/environment_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/eof_iterator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/errors.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/option.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/options_description.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/parsers.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/positional_options.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/value_semantic.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/variables_map.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/version.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/additive_combine.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/bernoulli_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/binomial_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/cauchy_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/const_mod.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/disable_warnings.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/enable_warnings.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/iterator_mixin.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/pass_through_engine.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/ptr_helper.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/seed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/signed_unsigned_tools.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/detail/uniform_int_float.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/discard_block.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/exponential_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/gamma_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/geometric_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/inversive_congruential.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lagged_fibonacci.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_congruential.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/linear_feedback_shift.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/lognormal_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/mersenne_twister.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/normal_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/poisson_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/random_number_generator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/ranlux.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/shuffle_output.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/subtract_with_carry.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/triangle_distribution.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_01.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_int.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_on_sphere.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_real.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/uniform_smallint.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/variate_generator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/random/xor_combine.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/ref.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_array.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/shared_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/bad_weak_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_pthreads.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_solaris.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_sync.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/atomic_count_win32.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lightweight_mutex.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_nop.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_pthreads.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/lwm_win32_cs.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/operator_bool.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/quick_allocator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_array_nmt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_count.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/shared_ptr_nmt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_convertible.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_nt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_pt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_solaris.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_sync.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_base_w32.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_counted_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/sp_has_sync.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_gcc_arm.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_nt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pool.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_pt.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_sync.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/spinlock_w32.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/detail/yield_k.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/enable_shared_from_this2.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/intrusive_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/make_shared.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_array.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/scoped_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_array.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/shared_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/smart_ptr/weak_ptr.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/static_assert.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/system/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/system/cygwin_error.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/system/error_code.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/system/linux_error.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/system/system_error.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/system/windows_error.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/throw_exception.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/timer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_const.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_cv.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_reference.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/add_volatile.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/aligned_storage.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_of.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/alignment_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/arithmetic_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/array_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/broken_compiler_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/composite_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/config.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/conversion_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/cv_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/decay.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_def.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/bool_trait_undef.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/cv_traits_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/false_result.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_and.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_eq.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_not.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/ice_or.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_helper.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_function_ptr_tester.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_def.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/size_t_trait_undef.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/template_arity_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_def.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/type_trait_undef.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/wrap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/detail/yes_no_type.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/extent.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/floating_point_promotion.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/function_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_new_operator.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_assign.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_constructor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_copy.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_nothrow_destructor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_assign.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_constructor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_copy.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_trivial_destructor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/has_virtual_destructor.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/ice.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_constant.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/integral_promotion.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/intrinsics.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_abstract.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_arithmetic.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_array.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_and_derived.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_base_of_tr1.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_class.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_complex.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_compound.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_const.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_convertible.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_empty.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_enum.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_float.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_floating_point.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_function.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_fundamental.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_integral.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_function_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_object_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_member_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_object.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pod.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_polymorphic.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_reference.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_same.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_scalar.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_signed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_stateless.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_union.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_unsigned.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_virtual_base_of.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_void.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/is_volatile.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_signed.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/make_unsigned.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_all_extents.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_bounds.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_const.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_cv.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_extent.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_reference.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/remove_volatile.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/msvc/typeof.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/object_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/promote.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/rank.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/reference_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_all_extents.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_bounds.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_const.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_cv.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_extent.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_pointer.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_reference.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/remove_volatile.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/same_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/transform_traits_spec.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/type_traits/type_with_alignment.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/addressof.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/base_from_member.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/binary.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/compare_pointees.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_prefix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/in_place_factory_suffix.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/detail/result_of_iterate.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/enable_if.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/in_place_factory.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/result_of.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/swap.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/typed_in_place_factory.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/utility/value_init.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/include/boost/version.hpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_relative_payload.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/calc_syndrome.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_code_from_submatrix.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/create_pcm_from_submatrix.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dec2binvec.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/draw_pcm.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dual_viterbi.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/dv_best_submatrices.mat create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example1.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/matlab/STC matlab implementation/example2.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_dls.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm1_pls.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_dls.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_pm2_pls.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_linear.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/ex_stc_wet.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_dls.html create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_pls.html create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_dls.html create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_pls.html create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_stc.html create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.mexa64 create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.mexa64 create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.mexa64 create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_dls_embed.mexa64 create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm1_pls_embed.mexa64 create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.mexa64 create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.m create mode 100755 stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_pls_embed.mexa64 create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.h create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.h create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/compile.m create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example1_ml_stc.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example2_ml_stc.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_ml_extract.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_dls_embed.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_pls_embed.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_dls_embed.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_pls_embed.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/sse_mathfun.h create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.h create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.h create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.cpp create mode 100644 stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.h create mode 100644 stc/exp/ml_stc_linux_make_v1.0/release/example1_ml_stc.o create mode 100644 stc/exp/python/dummy create mode 100644 stc/exp/python/stc.py create mode 100644 stc/exp/python/stc.py~ create mode 100644 stc/exp/python/stc_lght.py create mode 100644 stc/exp/python/stc_lght.py* create mode 100644 stc/exp/python/stc_lght.py~ diff --git a/IEEEtran.cls b/IEEEtran.cls new file mode 100755 index 0000000..5681714 --- /dev/null +++ b/IEEEtran.cls @@ -0,0 +1,4702 @@ +%% +%% IEEEtran.cls 2007/03/05 version V1.7a +%% +%% +%% This is the official IEEE LaTeX class for authors of the Institute of +%% Electrical and Electronics Engineers (IEEE) Transactions journals and +%% conferences. +%% +%% Support sites: +%% http://www.michaelshell.org/tex/ieeetran/ +%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/ +%% and +%% http://www.ieee.org/ +%% +%% Based on the original 1993 IEEEtran.cls, but with many bug fixes +%% and enhancements (from both JVH and MDS) over the 1996/7 version. +%% +%% +%% Contributors: +%% Gerry Murray (1993), Silvano Balemi (1993), +%% Jon Dixon (1996), Peter N"uchter (1996), +%% Juergen von Hagen (2000), and Michael Shell (2001-2007) +%% +%% +%% Copyright (c) 1993-2000 by Gerry Murray, Silvano Balemi, +%% Jon Dixon, Peter N"uchter, +%% Juergen von Hagen +%% and +%% Copyright (c) 2001-2007 by Michael Shell +%% +%% Current maintainer (V1.3 to V1.7): Michael Shell +%% See: +%% http://www.michaelshell.org/ +%% for current contact information. +%% +%% Special thanks to Peter Wilson (CUA) and Donald Arseneau +%% for allowing the inclusion of the \@ifmtarg command +%% from their ifmtarg LaTeX package. +%% +%%************************************************************************* +%% Legal Notice: +%% This code is offered as-is without any warranty either expressed or +%% implied; without even the implied warranty of MERCHANTABILITY or +%% FITNESS FOR A PARTICULAR PURPOSE! +%% User assumes all risk. +%% In no event shall IEEE or any contributor to this code be liable for +%% any damages or losses, including, but not limited to, incidental, +%% consequential, or any other damages, resulting from the use or misuse +%% of any information contained here. +%% +%% All comments are the opinions of their respective authors and are not +%% necessarily endorsed by the IEEE. +%% +%% This work is distributed under the LaTeX Project Public License (LPPL) +%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used, +%% distributed and modified. A copy of the LPPL, version 1.3, is included +%% in the base LaTeX documentation of all distributions of LaTeX released +%% 2003/12/01 or later. +%% Retain all contribution notices and credits. +%% ** Modified files should be clearly indicated as such, including ** +%% ** renaming them and changing author support contact information. ** +%% +%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex, +%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex +%% +%% Major changes to the user interface should be indicated by an +%% increase in the version numbers. If a version is a beta, it will +%% be indicated with a BETA suffix, i.e., 1.4 BETA. +%% Small changes can be indicated by appending letters to the version +%% such as "IEEEtran_v14a.cls". +%% In all cases, \Providesclass, any \typeout messages to the user, +%% \IEEEtransversionmajor and \IEEEtransversionminor must reflect the +%% correct version information. +%% The changes should also be documented via source comments. +%%************************************************************************* +%% +% +% Available class options +% e.g., \documentclass[10pt,conference]{IEEEtran} +% +% *** choose only one from each category *** +% +% 9pt, 10pt, 11pt, 12pt +% Sets normal font size. The default is 10pt. +% +% conference, journal, technote, peerreview, peerreviewca +% determines format mode - conference papers, journal papers, +% correspondence papers (technotes), or peer review papers. The user +% should also select 9pt when using technote. peerreview is like +% journal mode, but provides for a single-column "cover" title page for +% anonymous peer review. The paper title (without the author names) is +% repeated at the top of the page after the cover page. For peer review +% papers, the \IEEEpeerreviewmaketitle command must be executed (will +% automatically be ignored for non-peerreview modes) at the place the +% cover page is to end, usually just after the abstract (keywords are +% not normally used with peer review papers). peerreviewca is like +% peerreview, but allows the author names to be entered and formatted +% as with conference mode so that author affiliation and contact +% information can be easily seen on the cover page. +% The default is journal. +% +% draft, draftcls, draftclsnofoot, final +% determines if paper is formatted as a widely spaced draft (for +% handwritten editor comments) or as a properly typeset final version. +% draftcls restricts draft mode to the class file while all other LaTeX +% packages (i.e., \usepackage{graphicx}) will behave as final - allows +% for a draft paper with visible figures, etc. draftclsnofoot is like +% draftcls, but does not display the date and the word "DRAFT" at the foot +% of the pages. If using one of the draft modes, the user will probably +% also want to select onecolumn. +% The default is final. +% +% letterpaper, a4paper +% determines paper size: 8.5in X 11in or 210mm X 297mm. CHANGING THE PAPER +% SIZE WILL NOT ALTER THE TYPESETTING OF THE DOCUMENT - ONLY THE MARGINS +% WILL BE AFFECTED. In particular, documents using the a4paper option will +% have reduced side margins (A4 is narrower than US letter) and a longer +% bottom margin (A4 is longer than US letter). For both cases, the top +% margins will be the same and the text will be horizontally centered. +% For final submission to IEEE, authors should use US letter (8.5 X 11in) +% paper. Note that authors should ensure that all post-processing +% (ps, pdf, etc.) uses the same paper specificiation as the .tex document. +% Problems here are by far the number one reason for incorrect margins. +% IEEEtran will automatically set the default paper size under pdflatex +% (without requiring a change to pdftex.cfg), so this issue is more +% important to dvips users. Fix config.ps, config.pdf, or ~/.dvipsrc for +% dvips, or use the dvips -t papersize option instead as needed. See the +% testflow documentation +% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/testflow +% for more details on dvips paper size configuration. +% The default is letterpaper. +% +% oneside, twoside +% determines if layout follows single sided or two sided (duplex) +% printing. The only notable change is with the headings at the top of +% the pages. +% The default is oneside. +% +% onecolumn, twocolumn +% determines if text is organized into one or two columns per page. One +% column mode is usually used only with draft papers. +% The default is twocolumn. +% +% compsoc +% Use the format of the IEEE Computer Society. +% +% romanappendices +% Use the "Appendix I" convention when numbering appendices. IEEEtran.cls +% now defaults to Alpha "Appendix A" convention - the opposite of what +% v1.6b and earlier did. +% +% captionsoff +% disables the display of the figure/table captions. Some IEEE journals +% request that captions be removed and figures/tables be put on pages +% of their own at the end of an initial paper submission. The endfloat +% package can be used with this class option to achieve this format. +% +% nofonttune +% turns off tuning of the font interword spacing. Maybe useful to those +% not using the standard Times fonts or for those who have already "tuned" +% their fonts. +% The default is to enable IEEEtran to tune font parameters. +% +% +%---------- +% Available CLASSINPUTs provided (all are macros unless otherwise noted): +% \CLASSINPUTbaselinestretch +% \CLASSINPUTinnersidemargin +% \CLASSINPUToutersidemargin +% \CLASSINPUTtoptextmargin +% \CLASSINPUTbottomtextmargin +% +% Available CLASSINFOs provided: +% \ifCLASSINFOpdf (TeX if conditional) +% \CLASSINFOpaperwidth (macro) +% \CLASSINFOpaperheight (macro) +% \CLASSINFOnormalsizebaselineskip (length) +% \CLASSINFOnormalsizeunitybaselineskip (length) +% +% Available CLASSOPTIONs provided: +% all class option flags (TeX if conditionals) unless otherwise noted, +% e.g., \ifCLASSOPTIONcaptionsoff +% point size options provided as a single macro: +% \CLASSOPTIONpt +% which will be defined as 9, 10, 11, or 12 depending on the document's +% normalsize point size. +% also, class option peerreviewca implies the use of class option peerreview +% and classoption draft implies the use of class option draftcls + + + + + +\ProvidesClass{IEEEtran}[2007/03/05 V1.7a by Michael Shell] +\typeout{-- See the "IEEEtran_HOWTO" manual for usage information.} +\typeout{-- http://www.michaelshell.org/tex/ieeetran/} +\NeedsTeXFormat{LaTeX2e} + +% IEEEtran.cls version numbers, provided as of V1.3 +% These values serve as a way a .tex file can +% determine if the new features are provided. +% The version number of this IEEEtrans.cls can be obtained from +% these values. i.e., V1.4 +% KEEP THESE AS INTEGERS! i.e., NO {4a} or anything like that- +% (no need to enumerate "a" minor changes here) +\def\IEEEtransversionmajor{1} +\def\IEEEtransversionminor{7} + +% These do nothing, but provide them like in article.cls +\newif\if@restonecol +\newif\if@titlepage + + +% class option conditionals +\newif\ifCLASSOPTIONonecolumn \CLASSOPTIONonecolumnfalse +\newif\ifCLASSOPTIONtwocolumn \CLASSOPTIONtwocolumntrue + +\newif\ifCLASSOPTIONoneside \CLASSOPTIONonesidetrue +\newif\ifCLASSOPTIONtwoside \CLASSOPTIONtwosidefalse + +\newif\ifCLASSOPTIONfinal \CLASSOPTIONfinaltrue +\newif\ifCLASSOPTIONdraft \CLASSOPTIONdraftfalse +\newif\ifCLASSOPTIONdraftcls \CLASSOPTIONdraftclsfalse +\newif\ifCLASSOPTIONdraftclsnofoot \CLASSOPTIONdraftclsnofootfalse + +\newif\ifCLASSOPTIONpeerreview \CLASSOPTIONpeerreviewfalse +\newif\ifCLASSOPTIONpeerreviewca \CLASSOPTIONpeerreviewcafalse + +\newif\ifCLASSOPTIONjournal \CLASSOPTIONjournaltrue +\newif\ifCLASSOPTIONconference \CLASSOPTIONconferencefalse +\newif\ifCLASSOPTIONtechnote \CLASSOPTIONtechnotefalse + +\newif\ifCLASSOPTIONnofonttune \CLASSOPTIONnofonttunefalse + +\newif\ifCLASSOPTIONcaptionsoff \CLASSOPTIONcaptionsofffalse + +\newif\ifCLASSOPTIONcompsoc \CLASSOPTIONcompsocfalse + +\newif\ifCLASSOPTIONromanappendices \CLASSOPTIONromanappendicesfalse + + +% class info conditionals + +% indicates if pdf (via pdflatex) output +\newif\ifCLASSINFOpdf \CLASSINFOpdffalse + + +% V1.6b internal flag to show if using a4paper +\newif\if@IEEEusingAfourpaper \@IEEEusingAfourpaperfalse + + + +% IEEEtran class scratch pad registers +% dimen +\newdimen\@IEEEtrantmpdimenA +\newdimen\@IEEEtrantmpdimenB +% count +\newcount\@IEEEtrantmpcountA +\newcount\@IEEEtrantmpcountB +% token list +\newtoks\@IEEEtrantmptoksA + +% we use \CLASSOPTIONpt so that we can ID the point size (even for 9pt docs) +% as well as LaTeX's \@ptsize to retain some compatability with some +% external packages +\def\@ptsize{0} +% LaTeX does not support 9pt, so we set \@ptsize to 0 - same as that of 10pt +\DeclareOption{9pt}{\def\CLASSOPTIONpt{9}\def\@ptsize{0}} +\DeclareOption{10pt}{\def\CLASSOPTIONpt{10}\def\@ptsize{0}} +\DeclareOption{11pt}{\def\CLASSOPTIONpt{11}\def\@ptsize{1}} +\DeclareOption{12pt}{\def\CLASSOPTIONpt{12}\def\@ptsize{2}} + + + +\DeclareOption{letterpaper}{\setlength{\paperheight}{11in}% + \setlength{\paperwidth}{8.5in}% + \@IEEEusingAfourpaperfalse + \def\CLASSOPTIONpaper{letter}% + \def\CLASSINFOpaperwidth{8.5in}% + \def\CLASSINFOpaperheight{11in}} + + +\DeclareOption{a4paper}{\setlength{\paperheight}{297mm}% + \setlength{\paperwidth}{210mm}% + \@IEEEusingAfourpapertrue + \def\CLASSOPTIONpaper{a4}% + \def\CLASSINFOpaperwidth{210mm}% + \def\CLASSINFOpaperheight{297mm}} + +\DeclareOption{oneside}{\@twosidefalse\@mparswitchfalse + \CLASSOPTIONonesidetrue\CLASSOPTIONtwosidefalse} +\DeclareOption{twoside}{\@twosidetrue\@mparswitchtrue + \CLASSOPTIONtwosidetrue\CLASSOPTIONonesidefalse} + +\DeclareOption{onecolumn}{\CLASSOPTIONonecolumntrue\CLASSOPTIONtwocolumnfalse} +\DeclareOption{twocolumn}{\CLASSOPTIONtwocolumntrue\CLASSOPTIONonecolumnfalse} + +% If the user selects draft, then this class AND any packages +% will go into draft mode. +\DeclareOption{draft}{\CLASSOPTIONdrafttrue\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofootfalse} +% draftcls is for a draft mode which will not affect any packages +% used by the document. +\DeclareOption{draftcls}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofootfalse} +% draftclsnofoot is like draftcls, but without the footer. +\DeclareOption{draftclsnofoot}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclstrue + \CLASSOPTIONdraftclsnofoottrue} +\DeclareOption{final}{\CLASSOPTIONdraftfalse\CLASSOPTIONdraftclsfalse + \CLASSOPTIONdraftclsnofootfalse} + +\DeclareOption{journal}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournaltrue\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{conference}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencetrue\CLASSOPTIONtechnotefalse} + +\DeclareOption{technote}{\CLASSOPTIONpeerreviewfalse\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotetrue} + +\DeclareOption{peerreview}{\CLASSOPTIONpeerreviewtrue\CLASSOPTIONpeerreviewcafalse + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{peerreviewca}{\CLASSOPTIONpeerreviewtrue\CLASSOPTIONpeerreviewcatrue + \CLASSOPTIONjournalfalse\CLASSOPTIONconferencefalse\CLASSOPTIONtechnotefalse} + +\DeclareOption{nofonttune}{\CLASSOPTIONnofonttunetrue} + +\DeclareOption{captionsoff}{\CLASSOPTIONcaptionsofftrue} + +\DeclareOption{compsoc}{\CLASSOPTIONcompsoctrue} + +\DeclareOption{romanappendices}{\CLASSOPTIONromanappendicestrue} + + +% default to US letter paper, 10pt, twocolumn, one sided, final, journal +\ExecuteOptions{letterpaper,10pt,twocolumn,oneside,final,journal} +% overrride these defaults per user requests +\ProcessOptions + + + +% Computer Society conditional execution command +\long\def\@IEEEcompsoconly#1{\relax\ifCLASSOPTIONcompsoc\relax#1\relax\fi\relax} +% inverse +\long\def\@IEEEnotcompsoconly#1{\relax\ifCLASSOPTIONcompsoc\else\relax#1\relax\fi\relax} +% compsoc conference +\long\def\@IEEEcompsocconfonly#1{\relax\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference\relax#1\relax\fi\fi\relax} +% compsoc not conference +\long\def\@IEEEcompsocnotconfonly#1{\relax\ifCLASSOPTIONcompsoc\ifCLASSOPTIONconference\else\relax#1\relax\fi\fi\relax} + + +% IEEE uses Times Roman font, so we'll default to Times. +% These three commands make up the entire times.sty package. +\renewcommand{\sfdefault}{phv} +\renewcommand{\rmdefault}{ptm} +\renewcommand{\ttdefault}{pcr} + +\@IEEEcompsoconly{\typeout{-- Using IEEE Computer Society mode.}} + +% V1.7 compsoc nonconference papers, use Palatino/Palladio as the main text font, +% not Times Roman. +\@IEEEcompsocnotconfonly{\renewcommand{\rmdefault}{ppl}} + +% enable Times/Palatino main text font +\normalfont\selectfont + + + + + +% V1.7 conference notice message hook +\def\@IEEEconsolenoticeconference{\typeout{}% +\typeout{** Conference Paper **}% +\typeout{Before submitting the final camera ready copy, remember to:}% +\typeout{}% +\typeout{ 1. Manually equalize the lengths of two columns on the last page}% +\typeout{ of your paper;}% +\typeout{}% +\typeout{ 2. Ensure that any PostScript and/or PDF output post-processing}% +\typeout{ uses only Type 1 fonts and that every step in the generation}% +\typeout{ process uses the appropriate paper size.}% +\typeout{}} + + +% we can send console reminder messages to the user here +\AtEndDocument{\ifCLASSOPTIONconference\@IEEEconsolenoticeconference\fi} + + +% warn about the use of single column other than for draft mode +\ifCLASSOPTIONtwocolumn\else% + \ifCLASSOPTIONdraftcls\else% + \typeout{** ATTENTION: Single column mode is not typically used with IEEE publications.}% + \fi% +\fi + + +% V1.7 improved paper size setting code. +% Set pdfpage and dvips paper sizes. Conditional tests are similar to that +% of ifpdf.sty. Retain within {} to ensure tested macros are never altered, +% even if only effect is to set them to \relax. +% if \pdfoutput is undefined or equal to relax, output a dvips special +{\@ifundefined{pdfoutput}{\AtBeginDvi{\special{papersize=\CLASSINFOpaperwidth,\CLASSINFOpaperheight}}}{% +% pdfoutput is defined and not equal to \relax +% check for pdfpageheight existence just in case someone sets pdfoutput +% under non-pdflatex. If exists, set them regardless of value of \pdfoutput. +\@ifundefined{pdfpageheight}{\relax}{\global\pdfpagewidth\paperwidth +\global\pdfpageheight\paperheight}% +% if using \pdfoutput=0 under pdflatex, send dvips papersize special +\ifcase\pdfoutput +\AtBeginDvi{\special{papersize=\CLASSINFOpaperwidth,\CLASSINFOpaperheight}}% +\else +% we are using pdf output, set CLASSINFOpdf flag +\global\CLASSINFOpdftrue +\fi}} + +% let the user know the selected papersize +\typeout{-- Using \CLASSINFOpaperwidth\space x \CLASSINFOpaperheight\space +(\CLASSOPTIONpaper)\space paper.} + +\ifCLASSINFOpdf +\typeout{-- Using PDF output.} +\else +\typeout{-- Using DVI output.} +\fi + + +% The idea hinted here is for LaTeX to generate markleft{} and markright{} +% automatically for you after you enter \author{}, \journal{}, +% \journaldate{}, journalvol{}, \journalnum{}, etc. +% However, there may be some backward compatibility issues here as +% well as some special applications for IEEEtran.cls and special issues +% that may require the flexible \markleft{}, \markright{} and/or \markboth{}. +% We'll leave this as an open future suggestion. +%\newcommand{\journal}[1]{\def\@journal{#1}} +%\def\@journal{} + + + +% pointsize values +% used with ifx to determine the document's normal size +\def\@IEEEptsizenine{9} +\def\@IEEEptsizeten{10} +\def\@IEEEptsizeeleven{11} +\def\@IEEEptsizetwelve{12} + + + +% FONT DEFINITIONS (No sizexx.clo file needed) +% V1.6 revised font sizes, displayskip values and +% revised normalsize baselineskip to reduce underfull vbox problems +% on the 58pc = 696pt = 9.5in text height we want +% normalsize #lines/column baselineskip (aka leading) +% 9pt 63 11.0476pt (truncated down) +% 10pt 58 12pt (exact) +% 11pt 52 13.3846pt (truncated down) +% 12pt 50 13.92pt (exact) +% + +% we need to store the nominal baselineskip for the given font size +% in case baselinestretch ever changes. +% this is a dimen, so it will not hold stretch or shrink +\newdimen\@IEEEnormalsizeunitybaselineskip +\@IEEEnormalsizeunitybaselineskip\baselineskip + +\ifx\CLASSOPTIONpt\@IEEEptsizenine +\typeout{-- This is a 9 point document.} +\def\normalsize{\@setfontsize{\normalsize}{9}{11.0476pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{11.0476pt}% +\normalsize +\abovedisplayskip 1.5ex plus3pt minus1pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus3pt% +\belowdisplayshortskip 1.5ex plus3pt minus1pt +\def\small{\@setfontsize{\small}{8.5}{10pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{8}{9pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{7}{8pt}} +\def\tiny{\@setfontsize{\tiny}{5}{6pt}} +% sublargesize is the same as large - 10pt +\def\sublargesize{\@setfontsize{\sublargesize}{10}{12pt}} +\def\large{\@setfontsize{\large}{10}{12pt}} +\def\Large{\@setfontsize{\Large}{12}{14pt}} +\def\LARGE{\@setfontsize{\LARGE}{14}{17pt}} +\def\huge{\@setfontsize{\huge}{17}{20pt}} +\def\Huge{\@setfontsize{\Huge}{20}{24pt}} +\fi + + +% Check if we have selected 10 points +\ifx\CLASSOPTIONpt\@IEEEptsizeten +\typeout{-- This is a 10 point document.} +\def\normalsize{\@setfontsize{\normalsize}{10}{12.00pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{12pt}% +\normalsize +\abovedisplayskip 1.5ex plus4pt minus2pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus4pt% +\belowdisplayshortskip 1.5ex plus4pt minus2pt +\def\small{\@setfontsize{\small}{9}{10pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{8}{9pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{7}{8pt}} +\def\tiny{\@setfontsize{\tiny}{5}{6pt}} +% sublargesize is a tad smaller than large - 11pt +\def\sublargesize{\@setfontsize{\sublargesize}{11}{13.4pt}} +\def\large{\@setfontsize{\large}{12}{14pt}} +\def\Large{\@setfontsize{\Large}{14}{17pt}} +\def\LARGE{\@setfontsize{\LARGE}{17}{20pt}} +\def\huge{\@setfontsize{\huge}{20}{24pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% Check if we have selected 11 points +\ifx\CLASSOPTIONpt\@IEEEptsizeeleven +\typeout{-- This is an 11 point document.} +\def\normalsize{\@setfontsize{\normalsize}{11}{13.3846pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{13.3846pt}% +\normalsize +\abovedisplayskip 1.5ex plus5pt minus3pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus5pt% +\belowdisplayshortskip 1.5ex plus5pt minus3pt +\def\small{\@setfontsize{\small}{10}{12pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{9}{10.5pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{8}{9pt}} +\def\tiny{\@setfontsize{\tiny}{6}{7pt}} +% sublargesize is the same as large - 12pt +\def\sublargesize{\@setfontsize{\sublargesize}{12}{14pt}} +\def\large{\@setfontsize{\large}{12}{14pt}} +\def\Large{\@setfontsize{\Large}{14}{17pt}} +\def\LARGE{\@setfontsize{\LARGE}{17}{20pt}} +\def\huge{\@setfontsize{\huge}{20}{24pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% Check if we have selected 12 points +\ifx\CLASSOPTIONpt\@IEEEptsizetwelve +\typeout{-- This is a 12 point document.} +\def\normalsize{\@setfontsize{\normalsize}{12}{13.92pt}}% +\setlength{\@IEEEnormalsizeunitybaselineskip}{13.92pt}% +\normalsize +\abovedisplayskip 1.5ex plus6pt minus4pt% +\belowdisplayskip \abovedisplayskip% +\abovedisplayshortskip 0pt plus6pt% +\belowdisplayshortskip 1.5ex plus6pt minus4pt +\def\small{\@setfontsize{\small}{10}{12pt}} +\def\footnotesize{\@setfontsize{\footnotesize}{9}{10.5pt}} +\def\scriptsize{\@setfontsize{\scriptsize}{8}{9pt}} +\def\tiny{\@setfontsize{\tiny}{6}{7pt}} +% sublargesize is the same as large - 14pt +\def\sublargesize{\@setfontsize{\sublargesize}{14}{17pt}} +\def\large{\@setfontsize{\large}{14}{17pt}} +\def\Large{\@setfontsize{\Large}{17}{20pt}} +\def\LARGE{\@setfontsize{\LARGE}{20}{24pt}} +\def\huge{\@setfontsize{\huge}{22}{26pt}} +\def\Huge{\@setfontsize{\Huge}{24}{28pt}} +\fi + + +% V1.6 The Computer Modern Fonts will issue a substitution warning for +% 24pt titles (24.88pt is used instead) increase the substitution +% tolerance to turn off this warning +\def\fontsubfuzz{.9pt} +% However, the default (and correct) Times font will scale exactly as needed. + + +% warn the user in case they forget to use the 9pt option with +% technote +\ifCLASSOPTIONtechnote% + \ifx\CLASSOPTIONpt\@IEEEptsizenine\else% + \typeout{** ATTENTION: Technotes are normally 9pt documents.}% + \fi% +\fi + + +% V1.7 +% Improved \textunderscore to provide a much better fake _ when used with +% OT1 encoding. Under OT1, detect use of pcr or cmtt \ttfamily and use +% available true _ glyph for those two typewriter fonts. +\def\@IEEEstringptm{ptm} % Times Roman family +\def\@IEEEstringppl{ppl} % Palatino Roman family +\def\@IEEEstringphv{phv} % Helvetica Sans Serif family +\def\@IEEEstringpcr{pcr} % Courier typewriter family +\def\@IEEEstringcmtt{cmtt} % Computer Modern typewriter family +\DeclareTextCommandDefault{\textunderscore}{\leavevmode +\ifx\f@family\@IEEEstringpcr\string_\else +\ifx\f@family\@IEEEstringcmtt\string_\else +\ifx\f@family\@IEEEstringptm\kern 0em\vbox{\hrule\@width 0.5em\@height 0.5pt\kern -0.3ex}\else +\ifx\f@family\@IEEEstringppl\kern 0em\vbox{\hrule\@width 0.5em\@height 0.5pt\kern -0.3ex}\else +\ifx\f@family\@IEEEstringphv\kern -0.03em\vbox{\hrule\@width 0.62em\@height 0.52pt\kern -0.33ex}\kern -0.03em\else +\kern 0.09em\vbox{\hrule\@width 0.6em\@height 0.44pt\kern -0.63pt\kern -0.42ex}\kern 0.09em\fi\fi\fi\fi\fi\relax} + + + + +% set the default \baselinestretch +\def\baselinestretch{1} +\ifCLASSOPTIONdraftcls + \def\baselinestretch{1.5}% default baselinestretch for draft modes +\fi + + +% process CLASSINPUT baselinestretch +\ifx\CLASSINPUTbaselinestretch\@IEEEundefined +\else + \edef\baselinestretch{\CLASSINPUTbaselinestretch} % user CLASSINPUT override + \typeout{** ATTENTION: Overriding \string\baselinestretch\space to + \baselinestretch\space via \string\CLASSINPUT.} +\fi + +\normalsize % make \baselinestretch take affect + + + + +% store the normalsize baselineskip +\newdimen\CLASSINFOnormalsizebaselineskip +\CLASSINFOnormalsizebaselineskip=\baselineskip\relax +% and the normalsize unity (baselinestretch=1) baselineskip +% we could save a register by giving the user access to +% \@IEEEnormalsizeunitybaselineskip. However, let's protect +% its read only internal status +\newdimen\CLASSINFOnormalsizeunitybaselineskip +\CLASSINFOnormalsizeunitybaselineskip=\@IEEEnormalsizeunitybaselineskip\relax +% store the nominal value of jot +\newdimen\IEEEnormaljot +\IEEEnormaljot=0.25\baselineskip\relax + +% set \jot +\jot=\IEEEnormaljot\relax + + + + +% V1.6, we are now going to fine tune the interword spacing +% The default interword glue for Times under TeX appears to use a +% nominal interword spacing of 25% (relative to the font size, i.e., 1em) +% a maximum of 40% and a minimum of 19%. +% For example, 10pt text uses an interword glue of: +% +% 2.5pt plus 1.49998pt minus 0.59998pt +% +% However, IEEE allows for a more generous range which reduces the need +% for hyphenation, especially for two column text. Furthermore, IEEE +% tends to use a little bit more nominal space between the words. +% IEEE's interword spacing percentages appear to be: +% 35% nominal +% 23% minimum +% 50% maximum +% (They may even be using a tad more for the largest fonts such as 24pt.) +% +% for bold text, IEEE increases the spacing a little more: +% 37.5% nominal +% 23% minimum +% 55% maximum + +% here are the interword spacing ratios we'll use +% for medium (normal weight) +\def\@IEEEinterspaceratioM{0.35} +\def\@IEEEinterspaceMINratioM{0.23} +\def\@IEEEinterspaceMAXratioM{0.50} + +% for bold +\def\@IEEEinterspaceratioB{0.375} +\def\@IEEEinterspaceMINratioB{0.23} +\def\@IEEEinterspaceMAXratioB{0.55} + + +% command to revise the interword spacing for the current font under TeX: +% \fontdimen2 = nominal interword space +% \fontdimen3 = interword stretch +% \fontdimen4 = interword shrink +% since all changes to the \fontdimen are global, we can enclose these commands +% in braces to confine any font attribute or length changes +\def\@@@IEEEsetfontdimens#1#2#3{{% +\setlength{\@IEEEtrantmpdimenB}{\f@size pt}% grab the font size in pt, could use 1em instead. +\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}% +\fontdimen2\font=\@IEEEtrantmpdimenA\relax +\addtolength{\@IEEEtrantmpdimenA}{-#2\@IEEEtrantmpdimenB}% +\fontdimen3\font=-\@IEEEtrantmpdimenA\relax +\setlength{\@IEEEtrantmpdimenA}{#1\@IEEEtrantmpdimenB}% +\addtolength{\@IEEEtrantmpdimenA}{-#3\@IEEEtrantmpdimenB}% +\fontdimen4\font=\@IEEEtrantmpdimenA\relax}} + +% revise the interword spacing for each font weight +\def\@@IEEEsetfontdimens{{% +\mdseries +\@@@IEEEsetfontdimens{\@IEEEinterspaceratioM}{\@IEEEinterspaceMAXratioM}{\@IEEEinterspaceMINratioM}% +\bfseries +\@@@IEEEsetfontdimens{\@IEEEinterspaceratioB}{\@IEEEinterspaceMAXratioB}{\@IEEEinterspaceMINratioB}% +}} + +% revise the interword spacing for each font shape +% \slshape is not often used for IEEE work and is not altered here. The \scshape caps are +% already a tad too large in the free LaTeX fonts (as compared to what IEEE uses) so we +% won't alter these either. +\def\@IEEEsetfontdimens{{% +\normalfont +\@@IEEEsetfontdimens +\normalfont\itshape +\@@IEEEsetfontdimens +}} + +% command to revise the interword spacing for each font size (and shape +% and weight). Only the \rmfamily is done here as \ttfamily uses a +% fixed spacing and \sffamily is not used as the main text of IEEE papers. +\def\@IEEEtunefonts{{\selectfont\rmfamily +\tiny\@IEEEsetfontdimens +\scriptsize\@IEEEsetfontdimens +\footnotesize\@IEEEsetfontdimens +\small\@IEEEsetfontdimens +\normalsize\@IEEEsetfontdimens +\sublargesize\@IEEEsetfontdimens +\large\@IEEEsetfontdimens +\LARGE\@IEEEsetfontdimens +\huge\@IEEEsetfontdimens +\Huge\@IEEEsetfontdimens}} + +% if the nofonttune class option is not given, revise the interword spacing +% now - in case IEEEtran makes any default length measurements, and make +% sure all the default fonts are loaded +\ifCLASSOPTIONnofonttune\else +\@IEEEtunefonts +\fi + +% and again at the start of the document in case the user loaded different fonts +\AtBeginDocument{\ifCLASSOPTIONnofonttune\else\@IEEEtunefonts\fi} + + + +% V1.6 +% LaTeX is a little to quick to use hyphenations +% So, we increase the penalty for their use and raise +% the badness level that triggers an underfull hbox +% warning. The author may still have to tweak things, +% but the appearance will be much better "right out +% of the box" than that under V1.5 and prior. +% TeX default is 50 +\hyphenpenalty=750 +% If we didn't adjust the interword spacing, 2200 might be better. +% The TeX default is 1000 +\hbadness=1350 +% IEEE does not use extra spacing after punctuation +\frenchspacing + +% V1.7 increase this a tad to discourage equation breaks +\binoppenalty=1000 % default 700 +\relpenalty=800 % default 500 + + +% margin note stuff +\marginparsep 10pt +\marginparwidth 20pt +\marginparpush 25pt + + +% if things get too close, go ahead and let them touch +\lineskip 0pt +\normallineskip 0pt +\lineskiplimit 0pt +\normallineskiplimit 0pt + +% The distance from the lower edge of the text body to the +% footline +\footskip 0.4in + +% normally zero, should be relative to font height. +% put in a little rubber to help stop some bad breaks (underfull vboxes) +\parskip 0ex plus 0.2ex minus 0.1ex + +\parindent 1.0em + +\topmargin -49.0pt +\headheight 12pt +\headsep 0.25in + +% use the normal font baselineskip +% so that \topskip is unaffected by changes in \baselinestretch +\topskip=\@IEEEnormalsizeunitybaselineskip +\textheight 58pc % 9.63in, 696pt +% Tweak textheight to a perfect integer number of lines/page. +% The normal baselineskip for each document point size is used +% to determine these values. +\ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=63\@IEEEnormalsizeunitybaselineskip\fi % 63 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=52\@IEEEnormalsizeunitybaselineskip\fi % 52 lines/page +\ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page + + +\columnsep 1pc +\textwidth 43pc % 2 x 21pc + 1pc = 43pc + + +% the default side margins are equal +\if@IEEEusingAfourpaper +\oddsidemargin 14.32mm +\evensidemargin 14.32mm +\else +\oddsidemargin 0.680in +\evensidemargin 0.680in +\fi +% compensate for LaTeX's 1in offset +\addtolength{\oddsidemargin}{-1in} +\addtolength{\evensidemargin}{-1in} + + + +% adjust margins for conference mode +\ifCLASSOPTIONconference + \topmargin -0.25in + % we retain the reserved, but unused space for headers + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \textheight 9.25in % The standard for conferences (668.4975pt) + % Tweak textheight to a perfect integer number of lines/page. + \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=61\@IEEEnormalsizeunitybaselineskip\fi % 61 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=56\@IEEEnormalsizeunitybaselineskip\fi % 56 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=50\@IEEEnormalsizeunitybaselineskip\fi % 50 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page +\fi + + +% compsoc conference +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference + % compsoc conference use a larger value for columnsep + \columnsep 0.375in + % compsoc conferences want 1in top margin, 1.125in bottom margin + \topmargin 0in + \addtolength{\topmargin}{-6pt}% we tweak this a tad to better comply with top of line stuff + % we retain the reserved, but unused space for headers + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \textheight 8.875in % (641.39625pt) + % Tweak textheight to a perfect integer number of lines/page. + \ifx\CLASSOPTIONpt\@IEEEptsizenine\textheight=58\@IEEEnormalsizeunitybaselineskip\fi % 58 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeten\textheight=53\@IEEEnormalsizeunitybaselineskip\fi % 53 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizeeleven\textheight=48\@IEEEnormalsizeunitybaselineskip\fi % 48 lines/page + \ifx\CLASSOPTIONpt\@IEEEptsizetwelve\textheight=46\@IEEEnormalsizeunitybaselineskip\fi % 46 lines/page + \textwidth 6.5in + % the default side margins are equal + \if@IEEEusingAfourpaper + \oddsidemargin 22.45mm + \evensidemargin 22.45mm + \else + \oddsidemargin 1in + \evensidemargin 1in + \fi + % compensate for LaTeX's 1in offset + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} +\fi\fi + + + +% draft mode settings override that of all other modes +% provides a nice 1in margin all around the paper and extra +% space between the lines for editor's comments +\ifCLASSOPTIONdraftcls + % want 1in from top of paper to text + \setlength{\topmargin}{-\headsep}% + \addtolength{\topmargin}{-\headheight}% + % we want 1in side margins regardless of paper type + \oddsidemargin 0in + \evensidemargin 0in + % set the text width + \setlength{\textwidth}{\paperwidth}% + \addtolength{\textwidth}{-2.0in}% + \setlength{\textheight}{\paperheight}% + \addtolength{\textheight}{-2.0in}% + % digitize textheight to be an integer number of lines. + % this may cause the bottom margin to be off a tad + \addtolength{\textheight}{-1\topskip}% + \divide\textheight by \baselineskip% + \multiply\textheight by \baselineskip% + \addtolength{\textheight}{\topskip}% +\fi + + + +% process CLASSINPUT inner/outer margin +% if inner margin defined, but outer margin not, set outer to inner. +\ifx\CLASSINPUTinnersidemargin\@IEEEundefined +\else + \ifx\CLASSINPUToutersidemargin\@IEEEundefined + \edef\CLASSINPUToutersidemargin{\CLASSINPUTinnersidemargin} + \fi +\fi + +\ifx\CLASSINPUToutersidemargin\@IEEEundefined +\else + % if outer margin defined, but inner margin not, set inner to outer. + \ifx\CLASSINPUTinnersidemargin\@IEEEundefined + \edef\CLASSINPUTinnersidemargin{\CLASSINPUToutersidemargin} + \fi + \setlength{\oddsidemargin}{\CLASSINPUTinnersidemargin} + \ifCLASSOPTIONtwoside + \setlength{\evensidemargin}{\CLASSINPUToutersidemargin} + \else + \setlength{\evensidemargin}{\CLASSINPUTinnersidemargin} + \fi + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} + \setlength{\textwidth}{\paperwidth} + \addtolength{\textwidth}{-\CLASSINPUTinnersidemargin} + \addtolength{\textwidth}{-\CLASSINPUToutersidemargin} + \typeout{** ATTENTION: Overriding inner side margin to \CLASSINPUTinnersidemargin\space and + outer side margin to \CLASSINPUToutersidemargin\space via \string\CLASSINPUT.} +\fi + + + +% process CLASSINPUT top/bottom text margin +% if toptext margin defined, but bottomtext margin not, set bottomtext to toptext margin +\ifx\CLASSINPUTtoptextmargin\@IEEEundefined +\else + \ifx\CLASSINPUTbottomtextmargin\@IEEEundefined + \edef\CLASSINPUTbottomtextmargin{\CLASSINPUTtoptextmargin} + \fi +\fi + +\ifx\CLASSINPUTbottomtextmargin\@IEEEundefined +\else + % if bottomtext margin defined, but toptext margin not, set toptext to bottomtext margin + \ifx\CLASSINPUTtoptextmargin\@IEEEundefined + \edef\CLASSINPUTtoptextmargin{\CLASSINPUTbottomtextmargin} + \fi + \setlength{\topmargin}{\CLASSINPUTtoptextmargin} + \addtolength{\topmargin}{-1in} + \addtolength{\topmargin}{-\headheight} + \addtolength{\topmargin}{-\headsep} + \setlength{\textheight}{\paperheight} + \addtolength{\textheight}{-\CLASSINPUTtoptextmargin} + \addtolength{\textheight}{-\CLASSINPUTbottomtextmargin} + % in the default format we use the normal baselineskip as topskip + % we only need 0.7 of this to clear typical top text and we need + % an extra 0.3 spacing at the bottom for descenders. This will + % correct for both. + \addtolength{\topmargin}{-0.3\@IEEEnormalsizeunitybaselineskip} + \typeout{** ATTENTION: Overriding top text margin to \CLASSINPUTtoptextmargin\space and + bottom text margin to \CLASSINPUTbottomtextmargin\space via \string\CLASSINPUT.} +\fi + + + + + + + +% LIST SPACING CONTROLS + +% Controls the amount of EXTRA spacing +% above and below \trivlist +% Both \list and IED lists override this. +% However, \trivlist will use this as will most +% things built from \trivlist like the \center +% environment. +\topsep 0.5\baselineskip + +% Controls the additional spacing around lists preceded +% or followed by blank lines. IEEE does not increase +% spacing before or after paragraphs so it is set to zero. +% \z@ is the same as zero, but faster. +\partopsep \z@ + +% Controls the spacing between paragraphs in lists. +% IEEE does not increase spacing before or after paragraphs +% so this is also zero. +% With IEEEtran.cls, global changes to +% this value DO affect lists (but not IED lists). +\parsep \z@ + +% Controls the extra spacing between list items. +% IEEE does not put extra spacing between items. +% With IEEEtran.cls, global changes to this value DO affect +% lists (but not IED lists). +\itemsep \z@ + +% \itemindent is the amount to indent the FIRST line of a list +% item. It is auto set to zero within the \list environment. To alter +% it, you have to do so when you call the \list. +% However, IEEE uses this for the theorem environment +% There is an alternative value for this near \leftmargini below +\itemindent -1em + +% \leftmargin, the spacing from the left margin of the main text to +% the left of the main body of a list item is set by \list. +% Hence this statement does nothing for lists. +% But, quote and verse do use it for indention. +\leftmargin 2em + +% we retain this stuff from the older IEEEtran.cls so that \list +% will work the same way as before. However, itemize, enumerate and +% description (IED) could care less about what these are as they +% all are overridden. +\leftmargini 2em +%\itemindent 2em % Alternative values: sometimes used. +%\leftmargini 0em +\leftmarginii 1em +\leftmarginiii 1.5em +\leftmarginiv 1.5em +\leftmarginv 1.0em +\leftmarginvi 1.0em +\labelsep 0.5em +\labelwidth \z@ + + +% The old IEEEtran.cls behavior of \list is retained. +% However, the new V1.3 IED list environments override all the +% @list stuff (\@listX is called within \list for the +% appropriate level just before the user's list_decl is called). +% \topsep is now 2pt as IEEE puts a little extra space around +% lists - used by those non-IED macros that depend on \list. +% Note that \parsep and \itemsep are not redefined as in +% the sizexx.clo \@listX (which article.cls uses) so global changes +% of these values DO affect \list +% +\def\@listi{\leftmargin\leftmargini \topsep 2pt plus 1pt minus 1pt} +\let\@listI\@listi +\def\@listii{\leftmargin\leftmarginii\labelwidth\leftmarginii% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listiii{\leftmargin\leftmarginiii\labelwidth\leftmarginiii% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listiv{\leftmargin\leftmarginiv\labelwidth\leftmarginiv% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listv{\leftmargin\leftmarginv\labelwidth\leftmarginv% + \advance\labelwidth-\labelsep \topsep 2pt} +\def\@listvi{\leftmargin\leftmarginvi\labelwidth\leftmarginvi% + \advance\labelwidth-\labelsep \topsep 2pt} + + +% IEEE uses 5) not 5. +\def\labelenumi{\theenumi)} \def\theenumi{\arabic{enumi}} + +% IEEE uses a) not (a) +\def\labelenumii{\theenumii)} \def\theenumii{\alph{enumii}} + +% IEEE uses iii) not iii. +\def\labelenumiii{\theenumiii)} \def\theenumiii{\roman{enumiii}} + +% IEEE uses A) not A. +\def\labelenumiv{\theenumiv)} \def\theenumiv{\Alph{enumiv}} + +% exactly the same as in article.cls +\def\p@enumii{\theenumi} +\def\p@enumiii{\theenumi(\theenumii)} +\def\p@enumiv{\p@enumiii\theenumiii} + +% itemized list label styles +\def\labelitemi{$\scriptstyle\bullet$} +\def\labelitemii{\textbf{--}} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} + + + +% **** V1.3 ENHANCEMENTS **** +% Itemize, Enumerate and Description (IED) List Controls +% *************************** +% +% +% IEEE seems to use at least two different values by +% which ITEMIZED list labels are indented to the right +% For The Journal of Lightwave Technology (JLT) and The Journal +% on Selected Areas in Communications (JSAC), they tend to use +% an indention equal to \parindent. For Transactions on Communications +% they tend to indent ITEMIZED lists a little more--- 1.3\parindent. +% We'll provide both values here for you so that you can choose +% which one you like in your document using a command such as: +% setlength{\IEEEilabelindent}{\IEEEilabelindentB} +\newdimen\IEEEilabelindentA +\IEEEilabelindentA \parindent + +\newdimen\IEEEilabelindentB +\IEEEilabelindentB 1.3\parindent +% However, we'll default to using \parindent +% which makes more sense to me +\newdimen\IEEEilabelindent +\IEEEilabelindent \IEEEilabelindentA + + +% This controls the default amount the enumerated list labels +% are indented to the right. +% Normally, this is the same as the paragraph indention +\newdimen\IEEEelabelindent +\IEEEelabelindent \parindent + +% This controls the default amount the description list labels +% are indented to the right. +% Normally, this is the same as the paragraph indention +\newdimen\IEEEdlabelindent +\IEEEdlabelindent \parindent + +% This is the value actually used within the IED lists. +% The IED environments automatically set its value to +% one of the three values above, so global changes do +% not have any effect +\newdimen\IEEElabelindent +\IEEElabelindent \parindent + +% The actual amount labels will be indented is +% \IEEElabelindent multiplied by the factor below +% corresponding to the level of nesting depth +% This provides a means by which the user can +% alter the effective \IEEElabelindent for deeper +% levels +% There may not be such a thing as correct "standard IEEE" +% values. What IEEE actually does may depend on the specific +% circumstances. +% The first list level almost always has full indention. +% The second levels I've seen have only 75% of the normal indentation +% Three level or greater nestings are very rare. I am guessing +% that they don't use any indentation. +\def\IEEElabelindentfactori{1.0} % almost always one +\def\IEEElabelindentfactorii{0.75} % 0.0 or 1.0 may be used in some cases +\def\IEEElabelindentfactoriii{0.0} % 0.75? 0.5? 0.0? +\def\IEEElabelindentfactoriv{0.0} +\def\IEEElabelindentfactorv{0.0} +\def\IEEElabelindentfactorvi{0.0} + +% value actually used within IED lists, it is auto +% set to one of the 6 values above +% global changes here have no effect +\def\IEEElabelindentfactor{1.0} + +% This controls the default spacing between the end of the IED +% list labels and the list text, when normal text is used for +% the labels. +\newdimen\IEEEiednormlabelsep +\IEEEiednormlabelsep 0.6em + +% This controls the default spacing between the end of the IED +% list labels and the list text, when math symbols are used for +% the labels (nomenclature lists). IEEE usually increases the +% spacing in these cases +\newdimen\IEEEiedmathlabelsep +\IEEEiedmathlabelsep 1.2em + +% This controls the extra vertical separation put above and +% below each IED list. IEEE usually puts a little extra spacing +% around each list. However, this spacing is barely noticeable. +\newskip\IEEEiedtopsep +\IEEEiedtopsep 2pt plus 1pt minus 1pt + + +% This command is executed within each IED list environment +% at the beginning of the list. You can use this to set the +% parameters for some/all your IED list(s) without disturbing +% global parameters that affect things other than lists. +% i.e., renewcommand{\IEEEiedlistdecl}{\setlength{\labelsep}{5em}} +% will alter the \labelsep for the next list(s) until +% \IEEEiedlistdecl is redefined. +\def\IEEEiedlistdecl{\relax} + +% This command provides an easy way to set \leftmargin based +% on the \labelwidth, \labelsep and the argument \IEEElabelindent +% Usage: \IEEEcalcleftmargin{width-to-indent-the-label} +% output is in the \leftmargin variable, i.e., effectively: +% \leftmargin = argument + \labelwidth + \labelsep +% Note controlled spacing here, shield end of lines with % +\def\IEEEcalcleftmargin#1{\setlength{\leftmargin}{#1}% +\addtolength{\leftmargin}{\labelwidth}% +\addtolength{\leftmargin}{\labelsep}} + +% This command provides an easy way to set \labelwidth to the +% width of the given text. It is the same as +% \settowidth{\labelwidth}{label-text} +% and useful as a shorter alternative. +% Typically used to set \labelwidth to be the width +% of the longest label in the list +\def\IEEEsetlabelwidth#1{\settowidth{\labelwidth}{#1}} + +% When this command is executed, IED lists will use the +% IEEEiedmathlabelsep label separation rather than the normal +% spacing. To have an effect, this command must be executed via +% the \IEEEiedlistdecl or within the option of the IED list +% environments. +\def\IEEEusemathlabelsep{\setlength{\labelsep}{\IEEEiedmathlabelsep}} + +% A flag which controls whether the IED lists automatically +% calculate \leftmargin from \IEEElabelindent, \labelwidth and \labelsep +% Useful if you want to specify your own \leftmargin +% This flag must be set (\IEEEnocalcleftmargintrue or \IEEEnocalcleftmarginfalse) +% via the \IEEEiedlistdecl or within the option of the IED list +% environments to have an effect. +\newif\ifIEEEnocalcleftmargin +\IEEEnocalcleftmarginfalse + +% A flag which controls whether \IEEElabelindent is multiplied by +% the \IEEElabelindentfactor for each list level. +% This flag must be set via the \IEEEiedlistdecl or within the option +% of the IED list environments to have an effect. +\newif\ifIEEEnolabelindentfactor +\IEEEnolabelindentfactorfalse + + +% internal variable to indicate type of IED label +% justification +% 0 - left; 1 - center; 2 - right +\def\@IEEEiedjustify{0} + + +% commands to allow the user to control IED +% label justifications. Use these commands within +% the IED environment option or in the \IEEEiedlistdecl +% Note that changing the normal list justifications +% is nonstandard and IEEE may not like it if you do so! +% I include these commands as they may be helpful to +% those who are using these enhanced list controls for +% other non-IEEE related LaTeX work. +% itemize and enumerate automatically default to right +% justification, description defaults to left. +\def\IEEEiedlabeljustifyl{\def\@IEEEiedjustify{0}}%left +\def\IEEEiedlabeljustifyc{\def\@IEEEiedjustify{1}}%center +\def\IEEEiedlabeljustifyr{\def\@IEEEiedjustify{2}}%right + + + + +% commands to save to and restore from the list parameter copies +% this allows us to set all the list parameters within +% the list_decl and prevent \list (and its \@list) +% from overriding any of our parameters +% V1.6 use \edefs instead of dimen's to conserve dimen registers +% Note controlled spacing here, shield end of lines with % +\def\@IEEEsavelistparams{\edef\@IEEEiedtopsep{\the\topsep}% +\edef\@IEEEiedlabelwidth{\the\labelwidth}% +\edef\@IEEEiedlabelsep{\the\labelsep}% +\edef\@IEEEiedleftmargin{\the\leftmargin}% +\edef\@IEEEiedpartopsep{\the\partopsep}% +\edef\@IEEEiedparsep{\the\parsep}% +\edef\@IEEEieditemsep{\the\itemsep}% +\edef\@IEEEiedrightmargin{\the\rightmargin}% +\edef\@IEEEiedlistparindent{\the\listparindent}% +\edef\@IEEEieditemindent{\the\itemindent}} + +% Note controlled spacing here +\def\@IEEErestorelistparams{\topsep\@IEEEiedtopsep\relax% +\labelwidth\@IEEEiedlabelwidth\relax% +\labelsep\@IEEEiedlabelsep\relax% +\leftmargin\@IEEEiedleftmargin\relax% +\partopsep\@IEEEiedpartopsep\relax% +\parsep\@IEEEiedparsep\relax% +\itemsep\@IEEEieditemsep\relax% +\rightmargin\@IEEEiedrightmargin\relax% +\listparindent\@IEEEiedlistparindent\relax% +\itemindent\@IEEEieditemindent\relax} + + +% v1.6b provide original LaTeX IED list environments +% note that latex.ltx defines \itemize and \enumerate, but not \description +% which must be created by the base classes +% save original LaTeX itemize and enumerate +\let\LaTeXitemize\itemize +\let\endLaTeXitemize\enditemize +\let\LaTeXenumerate\enumerate +\let\endLaTeXenumerate\endenumerate + +% provide original LaTeX description environment from article.cls +\newenvironment{LaTeXdescription} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} + + +% override LaTeX's default IED lists +\def\itemize{\@IEEEitemize} +\def\enditemize{\@endIEEEitemize} +\def\enumerate{\@IEEEenumerate} +\def\endenumerate{\@endIEEEenumerate} +\def\description{\@IEEEdescription} +\def\enddescription{\@endIEEEdescription} + +% provide the user with aliases - may help those using packages that +% override itemize, enumerate, or description +\def\IEEEitemize{\@IEEEitemize} +\def\endIEEEitemize{\@endIEEEitemize} +\def\IEEEenumerate{\@IEEEenumerate} +\def\endIEEEenumerate{\@endIEEEenumerate} +\def\IEEEdescription{\@IEEEdescription} +\def\endIEEEdescription{\@endIEEEdescription} + + +% V1.6 we want to keep the IEEEtran IED list definitions as our own internal +% commands so they are protected against redefinition +\def\@IEEEitemize{\@ifnextchar[{\@@IEEEitemize}{\@@IEEEitemize[\relax]}} +\def\@IEEEenumerate{\@ifnextchar[{\@@IEEEenumerate}{\@@IEEEenumerate[\relax]}} +\def\@IEEEdescription{\@ifnextchar[{\@@IEEEdescription}{\@@IEEEdescription[\relax]}} +\def\@endIEEEitemize{\endlist} +\def\@endIEEEenumerate{\endlist} +\def\@endIEEEdescription{\endlist} + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran itemized list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEitemize[#1]{% + \ifnum\@itemdepth>3\relax\@toodeep\else% + \ifnum\@listdepth>5\relax\@toodeep\else% + \advance\@itemdepth\@ne% + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{2}% right justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEilabelindent% + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % calculate the label width + % the user can override this later if + % they specified a \labelwidth + \settowidth{\labelwidth}{\csname labelitem\romannumeral\the\@itemdepth\endcsname}% + \@IEEEsavelistparams% save our list parameters + \list{\csname\@itemitem\endcsname}{% + \@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % labelindent factor, don't revise \labelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\labelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}% + \fi}\fi\fi}% + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran enumerate list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEenumerate[#1]{% + \ifnum\@enumdepth>3\relax\@toodeep\else% + \ifnum\@listdepth>5\relax\@toodeep\else% + \advance\@enumdepth\@ne% + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{2}% right justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEelabelindent% + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % calculate the label width + % We'll set it to the width suitable for all labels using + % normalfont 1) to 9) + % The user can override this later + \settowidth{\labelwidth}{9)}% + \@IEEEsavelistparams% save our list parameters + \list{\csname label\@enumctr\endcsname}{\usecounter{\@enumctr}% + \@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % IEEElabelindent factor, don't revise \IEEElabelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}% + \fi}\fi\fi}% + + +% DO NOT ALLOW BLANK LINES TO BE IN THESE IED ENVIRONMENTS +% AS THIS WILL FORCE NEW PARAGRAPHS AFTER THE IED LISTS +% IEEEtran description list MDS 1/2001 +% Note controlled spacing here, shield end of lines with % +\def\@@IEEEdescription[#1]{% + \ifnum\@listdepth>5\relax\@toodeep\else% + % get the labelindentfactor for this level + \advance\@listdepth\@ne% we need to know what the level WILL be + \edef\IEEElabelindentfactor{\csname IEEElabelindentfactor\romannumeral\the\@listdepth\endcsname}% + \advance\@listdepth-\@ne% undo our increment + \def\@IEEEiedjustify{0}% left justified labels are default + % set other defaults + \IEEEnocalcleftmarginfalse% + \IEEEnolabelindentfactorfalse% + \topsep\IEEEiedtopsep% + \IEEElabelindent\IEEEdlabelindent% + % assume normal labelsep + \labelsep\IEEEiednormlabelsep% + \partopsep 0ex% + \parsep 0ex% + \itemsep 0ex% + \rightmargin 0em% + \listparindent 0em% + \itemindent 0em% + % Bogus label width in case the user forgets + % to set it. + % TIP: If you want to see what a variable's width is you + % can use the TeX command \showthe\width-variable to + % display it on the screen during compilation + % (This might be helpful to know when you need to find out + % which label is the widest) + \settowidth{\labelwidth}{Hello}% + \@IEEEsavelistparams% save our list parameters + \list{}{\@IEEErestorelistparams% override any list{} changes + % to our globals + \let\makelabel\@IEEEiedmakelabel% v1.6b setup \makelabel + \IEEEiedlistdecl% let user alter parameters + #1\relax% + % If the user has requested not to use the + % labelindent factor, don't revise \IEEElabelindent + \ifIEEEnolabelindentfactor\relax% + \else\IEEElabelindent=\IEEElabelindentfactor\IEEElabelindent% + \fi% + % Unless the user has requested otherwise, + % calculate our left margin based + % on \IEEElabelindent, \labelwidth and + % \labelsep + \ifIEEEnocalcleftmargin\relax% + \else\IEEEcalcleftmargin{\IEEElabelindent}\relax% + \fi}\fi} + +% v1.6b we use one makelabel that does justification as needed. +\def\@IEEEiedmakelabel#1{\relax\if\@IEEEiedjustify 0\relax +\makebox[\labelwidth][l]{\normalfont #1}\else +\if\@IEEEiedjustify 1\relax +\makebox[\labelwidth][c]{\normalfont #1}\else +\makebox[\labelwidth][r]{\normalfont #1}\fi\fi} + + +% VERSE and QUOTE +% V1.7 define environments with newenvironment +\newenvironment{verse}{\let\\=\@centercr + \list{}{\itemsep\z@ \itemindent -1.5em \listparindent \itemindent + \rightmargin\leftmargin\advance\leftmargin 1.5em}\item\relax} + {\endlist} +\newenvironment{quotation}{\list{}{\listparindent 1.5em \itemindent\listparindent + \rightmargin\leftmargin \parsep 0pt plus 1pt}\item\relax} + {\endlist} +\newenvironment{quote}{\list{}{\rightmargin\leftmargin}\item\relax} + {\endlist} + + +% \titlepage +% provided only for backward compatibility. \maketitle is the correct +% way to create the title page. +\newif\if@restonecol +\def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn + \else \newpage \fi \thispagestyle{empty}\c@page\z@} +\def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi} + +% standard values from article.cls +\arraycolsep 5pt +\arrayrulewidth .4pt +\doublerulesep 2pt + +\tabcolsep 6pt +\tabbingsep 0.5em + + +%% FOOTNOTES +% +%\skip\footins 10pt plus 4pt minus 2pt +% V1.6 respond to changes in font size +% space added above the footnotes (if present) +\skip\footins 0.9\baselineskip plus 0.4\baselineskip minus 0.2\baselineskip + +% V1.6, we need to make \footnotesep responsive to changes +% in \baselineskip or strange spacings will result when in +% draft mode. Here is a little LaTeX secret - \footnotesep +% determines the height of an invisible strut that is placed +% *above* the baseline of footnotes after the first. Since +% LaTeX considers the space for characters to be 0.7/baselineskip +% above the baseline and 0.3/baselineskip below it, we need to +% use 0.7/baselineskip as a \footnotesep to maintain equal spacing +% between all the lines of the footnotes. IEEE often uses a tad +% more, so use 0.8\baselineskip. This slightly larger value also helps +% the text to clear the footnote marks. Note that \thanks in IEEEtran +% uses its own value of \footnotesep which is set in \maketitle. +{\footnotesize +\global\footnotesep 0.8\baselineskip} + + +\skip\@mpfootins = \skip\footins +\fboxsep = 3pt +\fboxrule = .4pt +% V1.6 use 1em, then use LaTeX2e's \@makefnmark +% Note that IEEE normally *left* aligns the footnote marks, so we don't need +% box resizing tricks here. +\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@makefnmark}#1}% V1.6 use 1em +% V1.7 compsoc does not use superscipts for footnote marks +\ifCLASSOPTIONcompsoc +\def\@IEEEcompsocmakefnmark{\hbox{\normalfont\@thefnmark.\ }} +\long\def\@makefntext#1{\parindent 1em\indent\hbox{\@IEEEcompsocmakefnmark}#1} +\fi + +% IEEE does not use footnote rules +\def\footnoterule{} + +% V1.7 for compsoc, IEEE uses a footnote rule only for \thanks. We devise a "one-shot" +% system to implement this. +\newif\if@IEEEenableoneshotfootnoterule +\@IEEEenableoneshotfootnoterulefalse +\ifCLASSOPTIONcompsoc +\def\footnoterule{\relax\if@IEEEenableoneshotfootnoterule +\kern-5pt +\hbox to \columnwidth{\hfill\vrule width 0.5\columnwidth height 0.4pt\hfill} +\kern4.6pt +\global\@IEEEenableoneshotfootnoterulefalse +\else +\relax +\fi} +\fi + +% V1.6 do not allow LaTeX to break a footnote across multiple pages +\interfootnotelinepenalty=10000 + +% V1.6 discourage breaks within equations +% Note that amsmath normally sets this to 10000, +% but LaTeX2e normally uses 100. +\interdisplaylinepenalty=2500 + +% default allows section depth up to /paragraph +\setcounter{secnumdepth}{4} + +% technotes do not allow /paragraph +\ifCLASSOPTIONtechnote + \setcounter{secnumdepth}{3} +\fi +% neither do compsoc conferences +\@IEEEcompsocconfonly{\setcounter{secnumdepth}{3}} + + +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] + +% used only by IEEEtran's IEEEeqnarray as other packages may +% have their own, different, implementations +\newcounter{IEEEsubequation}[equation] + +% as shown when called by user from \ref, \label and in table of contents +\def\theequation{\arabic{equation}} % 1 +\def\theIEEEsubequation{\theequation\alph{IEEEsubequation}} % 1a (used only by IEEEtran's IEEEeqnarray) +\ifCLASSOPTIONcompsoc +% compsoc is all arabic +\def\thesection{\arabic{section}} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\else +\def\thesection{\Roman{section}} % I +% V1.7, \mbox prevents breaks around - +\def\thesubsection{\mbox{\thesection-\Alph{subsection}}} % I-A +% V1.7 use I-A1 format used by IEEE rather than I-A.1 +\def\thesubsubsection{\thesubsection\arabic{subsubsection}} % I-A1 +\def\theparagraph{\thesubsubsection\alph{paragraph}} % I-A1a +\fi + +% From Heiko Oberdiek. Because of the \mbox in \thesubsection, we need to +% tell hyperref to disable the \mbox command when making PDF bookmarks. +% This done already with hyperref.sty version 6.74o and later, but +% it will not hurt to do it here again for users of older versions. +\@ifundefined{pdfstringdefPreHook}{\let\pdfstringdefPreHook\@empty}{}% +\g@addto@macro\pdfstringdefPreHook{\let\mbox\relax} + + +% Main text forms (how shown in main text headings) +% V1.6, using \thesection in \thesectiondis allows changes +% in the former to automatically appear in the latter +\ifCLASSOPTIONcompsoc + \ifCLASSOPTIONconference% compsoc conference + \def\thesectiondis{\thesection.} + \def\thesubsectiondis{\thesectiondis\arabic{subsection}.} + \def\thesubsubsectiondis{\thesubsectiondis\arabic{subsubsection}.} + \def\theparagraphdis{\thesubsubsectiondis\arabic{paragraph}.} + \else% compsoc not conferencs + \def\thesectiondis{\thesection} + \def\thesubsectiondis{\thesectiondis.\arabic{subsection}} + \def\thesubsubsectiondis{\thesubsectiondis.\arabic{subsubsection}} + \def\theparagraphdis{\thesubsubsectiondis.\arabic{paragraph}} + \fi +\else% not compsoc + \def\thesectiondis{\thesection.} % I. + \def\thesubsectiondis{\Alph{subsection}.} % B. + \def\thesubsubsectiondis{\arabic{subsubsection})} % 3) + \def\theparagraphdis{\alph{paragraph})} % d) +\fi + +% just like LaTeX2e's \@eqnnum +\def\theequationdis{{\normalfont \normalcolor (\theequation)}}% (1) +% IEEEsubequation used only by IEEEtran's IEEEeqnarray +\def\theIEEEsubequationdis{{\normalfont \normalcolor (\theIEEEsubequation)}}% (1a) +% redirect LaTeX2e's equation number display and all that depend on +% it, through IEEEtran's \theequationdis +\def\@eqnnum{\theequationdis} + + + +% V1.7 provide string macros as article.cls does +\def\contentsname{Contents} +\def\listfigurename{List of Figures} +\def\listtablename{List of Tables} +\def\refname{References} +\def\indexname{Index} +\def\figurename{Fig.} +\def\tablename{TABLE} +\@IEEEcompsocconfonly{\def\figurename{Figure}\def\tablename{Table}} +\def\partname{Part} +\def\appendixname{Appendix} +\def\abstractname{Abstract} +% IEEE specific names +\def\IEEEkeywordsname{Index Terms} +\def\IEEEproofname{Proof} + + +% LIST OF FIGURES AND TABLES AND TABLE OF CONTENTS +% +\def\@pnumwidth{1.55em} +\def\@tocrmarg{2.55em} +\def\@dotsep{4.5} +\setcounter{tocdepth}{3} + +% adjusted some spacings here so that section numbers will not easily +% collide with the section titles. +% VIII; VIII-A; and VIII-A.1 are usually the worst offenders. +% MDS 1/2001 +\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}} +\def\l@section#1#2{\addpenalty{\@secpenalty}\addvspace{1.0em plus 1pt}% + \@tempdima 2.75em \begingroup \parindent \z@ \rightskip \@pnumwidth% + \parfillskip-\@pnumwidth {\bfseries\leavevmode #1}\hfil\hbox to\@pnumwidth{\hss #2}\par% + \endgroup} +% argument format #1:level, #2:labelindent,#3:labelsep +\def\l@subsection{\@dottedtocline{2}{2.75em}{3.75em}} +\def\l@subsubsection{\@dottedtocline{3}{6.5em}{4.5em}} +% must provide \l@ defs for ALL sublevels EVEN if tocdepth +% is such as they will not appear in the table of contents +% these defs are how TOC knows what level these things are! +\def\l@paragraph{\@dottedtocline{4}{6.5em}{5.5em}} +\def\l@subparagraph{\@dottedtocline{5}{6.5em}{6.5em}} +\def\listoffigures{\section*{\listfigurename}\@starttoc{lof}} +\def\l@figure{\@dottedtocline{1}{0em}{2.75em}} +\def\listoftables{\section*{\listtablename}\@starttoc{lot}} +\let\l@table\l@figure + + +%% Definitions for floats +%% +%% Normal Floats +\floatsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip +\textfloatsep 1.7\baselineskip plus 0.2\baselineskip minus 0.4\baselineskip +\@fptop 0pt plus 1fil +\@fpsep 0.75\baselineskip plus 2fil +\@fpbot 0pt plus 1fil +\def\topfraction{0.9} +\def\bottomfraction{0.4} +\def\floatpagefraction{0.8} +% V1.7, let top floats approach 90% of page +\def\textfraction{0.1} + +%% Double Column Floats +\dblfloatsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip + +\dbltextfloatsep 1.7\baselineskip plus 0.2\baselineskip minus 0.4\baselineskip +% Note that it would be nice if the rubber here actually worked in LaTeX2e. +% There is a long standing limitation in LaTeX, first discovered (to the best +% of my knowledge) by Alan Jeffrey in 1992. LaTeX ignores the stretchable +% portion of \dbltextfloatsep, and as a result, double column figures can and +% do result in an non-integer number of lines in the main text columns with +% underfull vbox errors as a consequence. A post to comp.text.tex +% by Donald Arseneau confirms that this had not yet been fixed in 1998. +% IEEEtran V1.6 will fix this problem for you in the titles, but it doesn't +% protect you from other double floats. Happy vspace'ing. + +\@dblfptop 0pt plus 1fil +\@dblfpsep 0.75\baselineskip plus 2fil +\@dblfpbot 0pt plus 1fil +\def\dbltopfraction{0.8} +\def\dblfloatpagefraction{0.8} +\setcounter{dbltopnumber}{4} + +\intextsep 1\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip +\setcounter{topnumber}{2} +\setcounter{bottomnumber}{2} +\setcounter{totalnumber}{4} + + + +% article class provides these, we should too. +\newlength\abovecaptionskip +\newlength\belowcaptionskip +% but only \abovecaptionskip is used above figure captions and *below* table +% captions +\setlength\abovecaptionskip{0.5\baselineskip} +\setlength\belowcaptionskip{0pt} +% V1.6 create hooks in case the caption spacing ever needs to be +% overridden by a user +\def\@IEEEfigurecaptionsepspace{\vskip\abovecaptionskip\relax}% +\def\@IEEEtablecaptionsepspace{\vskip\abovecaptionskip\relax}% + + +% 1.6b revise caption system so that \@makecaption uses two arguments +% as with LaTeX2e. Otherwise, there will be problems when using hyperref. +\def\@IEEEtablestring{table} + +\ifCLASSOPTIONcompsoc +% V1.7 compsoc \@makecaption +\ifCLASSOPTIONconference% compsoc conference +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\normalsize\begin{center}{\normalfont\sffamily\normalsize {#1.}~ #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ }% +\parbox[t]{\hsize}{\normalfont\sffamily\normalsize \noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, center +\else% +\hbox to\hsize{\normalfont\sffamily\normalsize\hfil\box\@tempboxa\hfil}% +\fi\fi} +\else% nonconference compsoc +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\normalsize\begin{center}{\normalfont\sffamily\normalsize #1}\\{\normalfont\sffamily\normalsize #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\sffamily\normalsize {#1.}~ }% +\parbox[t]{\hsize}{\normalfont\sffamily\normalsize \noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, left justify +\else% +\hbox to\hsize{\normalfont\sffamily\normalsize\box\@tempboxa\hfil}% +\fi\fi} +\fi + +\else% traditional noncompsoc \@makecaption +\long\def\@makecaption#1#2{% +% test if is a for a figure or table +\ifx\@captype\@IEEEtablestring% +% if a table, do table caption +\footnotesize\begin{center}{\normalfont\footnotesize #1}\\{\normalfont\footnotesize\scshape #2}\end{center}% +\@IEEEtablecaptionsepspace +% if not a table, format it as a figure +\else +\@IEEEfigurecaptionsepspace +% 3/2001 use footnotesize, not small; use two nonbreaking spaces, not one +\setbox\@tempboxa\hbox{\normalfont\footnotesize {#1.}~~ #2}% +\ifdim \wd\@tempboxa >\hsize% +% if caption is longer than a line, let it wrap around +\setbox\@tempboxa\hbox{\normalfont\footnotesize {#1.}~~ }% +\parbox[t]{\hsize}{\normalfont\footnotesize\noindent\unhbox\@tempboxa#2}% +% if caption is shorter than a line, center if conference, left justify otherwise +\else% +\ifCLASSOPTIONconference \hbox to\hsize{\normalfont\footnotesize\hfil\box\@tempboxa\hfil}% +\else \hbox to\hsize{\normalfont\footnotesize\box\@tempboxa\hfil}% +\fi\fi\fi} +\fi + + + +% V1.7 disable captions class option, do so in a way that retains operation of \label +% within \caption +\ifCLASSOPTIONcaptionsoff +\long\def\@makecaption#1#2{\vspace*{2em}\footnotesize\begin{center}{\footnotesize #1}\end{center}% +\let\@IEEEtemporiglabeldefsave\label +\let\@IEEEtemplabelargsave\relax +\def\label##1{\gdef\@IEEEtemplabelargsave{##1}}% +\setbox\@tempboxa\hbox{#2}% +\let\label\@IEEEtemporiglabeldefsave +\ifx\@IEEEtemplabelargsave\relax\else\label{\@IEEEtemplabelargsave}\fi} +\fi + + +% V1.7 define end environments with \def not \let so as to work OK with +% preview-latex +\newcounter{figure} +\def\thefigure{\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename~\thefigure} +\def\figure{\@float{figure}} +\def\endfigure{\end@float} +\@namedef{figure*}{\@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} +\newcounter{table} +\ifCLASSOPTIONcompsoc +\def\thetable{\arabic{table}} +\else +\def\thetable{\@Roman\c@table} +\fi +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename~\thetable} +% V1.6 IEEE uses 8pt text for tables +% to default to footnotesize, we hack into LaTeX2e's \@floatboxreset and pray +\def\table{\def\@floatboxreset{\reset@font\footnotesize\@setminipage}\@float{table}} +\def\endtable{\end@float} +% v1.6b double column tables need to default to footnotesize as well. +\@namedef{table*}{\def\@floatboxreset{\reset@font\footnotesize\@setminipage}\@dblfloat{table}} +\@namedef{endtable*}{\end@dblfloat} + + + + +%% +%% START OF IEEEeqnarry DEFINITIONS +%% +%% Inspired by the concepts, examples, and previous works of LaTeX +%% coders and developers such as Donald Arseneau, Fred Bartlett, +%% David Carlisle, Tony Liu, Frank Mittelbach, Piet van Oostrum, +%% Roland Winkler and Mark Wooding. +%% I don't make the claim that my work here is even near their calibre. ;) + + +% hook to allow easy changeover to IEEEtran.cls/tools.sty error reporting +\def\@IEEEclspkgerror{\ClassError{IEEEtran}} + +\newif\if@IEEEeqnarraystarform% flag to indicate if the environment was called as the star form +\@IEEEeqnarraystarformfalse + +\newif\if@advanceIEEEeqncolcnt% tracks if the environment should advance the col counter +% allows a way to make an \IEEEeqnarraybox that can be used within an \IEEEeqnarray +% used by IEEEeqnarraymulticol so that it can work properly in both +\@advanceIEEEeqncolcnttrue + +\newcount\@IEEEeqnnumcols % tracks how many IEEEeqnarray cols are defined +\newcount\@IEEEeqncolcnt % tracks how many IEEEeqnarray cols the user actually used + + +% The default math style used by the columns +\def\IEEEeqnarraymathstyle{\displaystyle} +% The default text style used by the columns +% default to using the current font +\def\IEEEeqnarraytextstyle{\relax} + +% like the iedlistdecl but for \IEEEeqnarray +\def\IEEEeqnarraydecl{\relax} +\def\IEEEeqnarrayboxdecl{\relax} + +% \yesnumber is the opposite of \nonumber +% a novel concept with the same def as the equationarray package +% However, we give IEEE versions too since some LaTeX packages such as +% the MDWtools mathenv.sty redefine \nonumber to something else. +\providecommand{\yesnumber}{\global\@eqnswtrue} +\def\IEEEyesnumber{\global\@eqnswtrue} +\def\IEEEnonumber{\global\@eqnswfalse} + + +\def\IEEEyessubnumber{\global\@IEEEissubequationtrue\global\@eqnswtrue% +\if@IEEEeqnarrayISinner% only do something inside an IEEEeqnarray +\if@IEEElastlinewassubequation\addtocounter{equation}{-1}\else\setcounter{IEEEsubequation}{1}\fi% +\def\@currentlabel{\p@IEEEsubequation\theIEEEsubequation}\fi} + +% flag to indicate that an equation is a sub equation +\newif\if@IEEEissubequation% +\@IEEEissubequationfalse + +% allows users to "push away" equations that get too close to the equation numbers +\def\IEEEeqnarraynumspace{\hphantom{\if@IEEEissubequation\theIEEEsubequationdis\else\theequationdis\fi}} + +% provides a way to span multiple columns within IEEEeqnarray environments +% will consider \if@advanceIEEEeqncolcnt before globally advancing the +% column counter - so as to work within \IEEEeqnarraybox +% usage: \IEEEeqnarraymulticol{number cols. to span}{col type}{cell text} +\long\def\IEEEeqnarraymulticol#1#2#3{\multispan{#1}% +% check if column is defined +\relax\expandafter\ifx\csname @IEEEeqnarraycolDEF#2\endcsname\@IEEEeqnarraycolisdefined% +\csname @IEEEeqnarraycolPRE#2\endcsname#3\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST#2\endcsname% +\else% if not, error and use default type +\@IEEEclspkgerror{Invalid column type "#2" in \string\IEEEeqnarraymulticol.\MessageBreak +Using a default centering column instead}% +{You must define IEEEeqnarray column types before use.}% +\csname @IEEEeqnarraycolPRE@IEEEdefault\endcsname#3\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST@IEEEdefault\endcsname% +\fi% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by #1\relax\fi} + +% like \omit, but maintains track of the column counter for \IEEEeqnarray +\def\IEEEeqnarrayomit{\omit\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by 1\relax\fi} + + +% provides a way to define a letter referenced column type +% usage: \IEEEeqnarraydefcol{col. type letter/name}{pre insertion text}{post insertion text} +\def\IEEEeqnarraydefcol#1#2#3{\expandafter\def\csname @IEEEeqnarraycolPRE#1\endcsname{#2}% +\expandafter\def\csname @IEEEeqnarraycolPOST#1\endcsname{#3}% +\expandafter\def\csname @IEEEeqnarraycolDEF#1\endcsname{1}} + + +% provides a way to define a numerically referenced inter-column glue types +% usage: \IEEEeqnarraydefcolsep{col. glue number}{glue definition} +\def\IEEEeqnarraydefcolsep#1#2{\expandafter\def\csname @IEEEeqnarraycolSEP\romannumeral #1\endcsname{#2}% +\expandafter\def\csname @IEEEeqnarraycolSEPDEF\romannumeral #1\endcsname{1}} + + +\def\@IEEEeqnarraycolisdefined{1}% just a macro for 1, used for checking undefined column types + + +% expands and appends the given argument to the \@IEEEtrantmptoksA token list +% used to build up the \halign preamble +\def\@IEEEappendtoksA#1{\edef\@@IEEEappendtoksA{\@IEEEtrantmptoksA={\the\@IEEEtrantmptoksA #1}}% +\@@IEEEappendtoksA} + +% also appends to \@IEEEtrantmptoksA, but does not expand the argument +% uses \toks8 as a scratchpad register +\def\@IEEEappendNOEXPANDtoksA#1{\toks8={#1}% +\edef\@@IEEEappendNOEXPANDtoksA{\@IEEEtrantmptoksA={\the\@IEEEtrantmptoksA\the\toks8}}% +\@@IEEEappendNOEXPANDtoksA} + +% define some common column types for the user +% math +\IEEEeqnarraydefcol{l}{$\IEEEeqnarraymathstyle}{$\hfil} +\IEEEeqnarraydefcol{c}{\hfil$\IEEEeqnarraymathstyle}{$\hfil} +\IEEEeqnarraydefcol{r}{\hfil$\IEEEeqnarraymathstyle}{$} +\IEEEeqnarraydefcol{L}{$\IEEEeqnarraymathstyle{}}{{}$\hfil} +\IEEEeqnarraydefcol{C}{\hfil$\IEEEeqnarraymathstyle{}}{{}$\hfil} +\IEEEeqnarraydefcol{R}{\hfil$\IEEEeqnarraymathstyle{}}{{}$} +% text +\IEEEeqnarraydefcol{s}{\IEEEeqnarraytextstyle}{\hfil} +\IEEEeqnarraydefcol{t}{\hfil\IEEEeqnarraytextstyle}{\hfil} +\IEEEeqnarraydefcol{u}{\hfil\IEEEeqnarraytextstyle}{} + +% vertical rules +\IEEEeqnarraydefcol{v}{}{\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{vv}{\vrule width\arrayrulewidth\hfil}{\hfil\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{V}{}{\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth} +\IEEEeqnarraydefcol{VV}{\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth\hfil}% +{\hfil\vrule width\arrayrulewidth\hskip\doublerulesep\vrule width\arrayrulewidth} + +% horizontal rules +\IEEEeqnarraydefcol{h}{}{\leaders\hrule height\arrayrulewidth\hfil} +\IEEEeqnarraydefcol{H}{}{\leaders\vbox{\hrule width\arrayrulewidth\vskip\doublerulesep\hrule width\arrayrulewidth}\hfil} + +% plain +\IEEEeqnarraydefcol{x}{}{} +\IEEEeqnarraydefcol{X}{$}{$} + +% the default column type to use in the event a column type is not defined +\IEEEeqnarraydefcol{@IEEEdefault}{\hfil$\IEEEeqnarraymathstyle}{$\hfil} + + +% a zero tabskip (used for "-" col types) +\def\@IEEEeqnarraycolSEPzero{0pt plus 0pt minus 0pt} +% a centering tabskip (used for "+" col types) +\def\@IEEEeqnarraycolSEPcenter{1000pt plus 0pt minus 1000pt} + +% top level default tabskip glues for the start, end, and inter-column +% may be reset within environments not always at the top level, e.g., \IEEEeqnarraybox +\edef\@IEEEeqnarraycolSEPdefaultstart{\@IEEEeqnarraycolSEPcenter}% default start glue +\edef\@IEEEeqnarraycolSEPdefaultend{\@IEEEeqnarraycolSEPcenter}% default end glue +\edef\@IEEEeqnarraycolSEPdefaultmid{\@IEEEeqnarraycolSEPzero}% default inter-column glue + + + +% creates a vertical rule that extends from the bottom to the top a a cell +% Provided in case other packages redefine \vline some other way. +% usage: \IEEEeqnarrayvrule[rule thickness] +% If no argument is provided, \arrayrulewidth will be used for the rule thickness. +\newcommand\IEEEeqnarrayvrule[1][\arrayrulewidth]{\vrule\@width#1\relax} + +% creates a blank separator row +% usage: \IEEEeqnarrayseprow[separation length][font size commands] +% default is \IEEEeqnarrayseprow[0.25\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \skip5 as a scratch register - calls \@IEEEeqnarraystrutsize which uses more scratch registers +\def\IEEEeqnarrayseprow{\relax\@ifnextchar[{\@IEEEeqnarrayseprow}{\@IEEEeqnarrayseprow[0.25\normalbaselineskip]}} +\def\@IEEEeqnarrayseprow[#1]{\relax\@ifnextchar[{\@@IEEEeqnarrayseprow[#1]}{\@@IEEEeqnarrayseprow[#1][\relax]}} +\def\@@IEEEeqnarrayseprow[#1][#2]{\def\@IEEEeqnarrayseprowARGONE{#1}% +\ifx\@IEEEeqnarrayseprowARGONE\@empty% +% get the skip value, based on the font commands +% use skip5 because \IEEEeqnarraystrutsize uses \skip0, \skip2, \skip3 +% assign within a bogus box to confine the font changes +{\setbox0=\hbox{#2\relax\global\skip5=0.25\normalbaselineskip}}% +\else% +{\setbox0=\hbox{#2\relax\global\skip5=#1}}% +\fi% +\@IEEEeqnarrayhoptolastcolumn\IEEEeqnarraystrutsize{\skip5}{0pt}[\relax]\relax} + +% creates a blank separator row, but omits all the column templates +% usage: \IEEEeqnarrayseprowcut[separation length][font size commands] +% default is \IEEEeqnarrayseprowcut[0.25\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \skip5 as a scratch register - calls \@IEEEeqnarraystrutsize which uses more scratch registers +\def\IEEEeqnarrayseprowcut{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarrayseprowcut}{\@IEEEeqnarrayseprowcut[0.25\normalbaselineskip]}} +\def\@IEEEeqnarrayseprowcut[#1]{\relax\@ifnextchar[{\@@IEEEeqnarrayseprowcut[#1]}{\@@IEEEeqnarrayseprowcut[#1][\relax]}} +\def\@@IEEEeqnarrayseprowcut[#1][#2]{\def\@IEEEeqnarrayseprowARGONE{#1}% +\ifx\@IEEEeqnarrayseprowARGONE\@empty% +% get the skip value, based on the font commands +% use skip5 because \IEEEeqnarraystrutsize uses \skip0, \skip2, \skip3 +% assign within a bogus box to confine the font changes +{\setbox0=\hbox{#2\relax\global\skip5=0.25\normalbaselineskip}}% +\else% +{\setbox0=\hbox{#2\relax\global\skip5=#1}}% +\fi% +\IEEEeqnarraystrutsize{\skip5}{0pt}[\relax]\relax} + + + +% draws a single rule across all the columns optional +% argument determines the rule width, \arrayrulewidth is the default +% updates column counter as needed and turns off struts +% usage: \IEEEeqnarrayrulerow[rule line thickness] +\def\IEEEeqnarrayrulerow{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarrayrulerow}{\@IEEEeqnarrayrulerow[\arrayrulewidth]}} +\def\@IEEEeqnarrayrulerow[#1]{\leaders\hrule height#1\hfil\relax% put in our rule +% turn off any struts +\IEEEeqnarraystrutsize{0pt}{0pt}[\relax]\relax} + + +% draws a double rule by using a single rule row, a separator row, and then +% another single rule row +% first optional argument determines the rule thicknesses, \arrayrulewidth is the default +% second optional argument determines the rule spacing, \doublerulesep is the default +% usage: \IEEEeqnarraydblrulerow[rule line thickness][rule spacing] +\def\IEEEeqnarraydblrulerow{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarraydblrulerow}{\@IEEEeqnarraydblrulerow[\arrayrulewidth]}} +\def\@IEEEeqnarraydblrulerow[#1]{\relax\@ifnextchar[{\@@IEEEeqnarraydblrulerow[#1]}% +{\@@IEEEeqnarraydblrulerow[#1][\doublerulesep]}} +\def\@@IEEEeqnarraydblrulerow[#1][#2]{\def\@IEEEeqnarraydblrulerowARG{#1}% +% we allow the user to say \IEEEeqnarraydblrulerow[][] +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]\relax% +\fi% +\def\@IEEEeqnarraydblrulerowARG{#2}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\\\IEEEeqnarrayseprow[\doublerulesep][\relax]% +\else% +\\\IEEEeqnarrayseprow[#2][\relax]% +\fi% +\\\multispan{\@IEEEeqnnumcols}% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\def\@IEEEeqnarraydblrulerowARG{#1}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +} + +% draws a double rule by using a single rule row, a separator (cutting) row, and then +% another single rule row +% first optional argument determines the rule thicknesses, \arrayrulewidth is the default +% second optional argument determines the rule spacing, \doublerulesep is the default +% usage: \IEEEeqnarraydblrulerow[rule line thickness][rule spacing] +\def\IEEEeqnarraydblrulerowcut{\multispan{\@IEEEeqnnumcols}\relax% span all the cols +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\@ifnextchar[{\@IEEEeqnarraydblrulerowcut}{\@IEEEeqnarraydblrulerowcut[\arrayrulewidth]}} +\def\@IEEEeqnarraydblrulerowcut[#1]{\relax\@ifnextchar[{\@@IEEEeqnarraydblrulerowcut[#1]}% +{\@@IEEEeqnarraydblrulerowcut[#1][\doublerulesep]}} +\def\@@IEEEeqnarraydblrulerowcut[#1][#2]{\def\@IEEEeqnarraydblrulerowARG{#1}% +% we allow the user to say \IEEEeqnarraydblrulerow[][] +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +\def\@IEEEeqnarraydblrulerowARG{#2}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\\\IEEEeqnarrayseprowcut[\doublerulesep][\relax]% +\else% +\\\IEEEeqnarrayseprowcut[#2][\relax]% +\fi% +\\\multispan{\@IEEEeqnnumcols}% +% advance column counter only if the IEEEeqnarray environment wants it +\if@advanceIEEEeqncolcnt\global\advance\@IEEEeqncolcnt by \@IEEEeqnnumcols\relax\fi% +\def\@IEEEeqnarraydblrulerowARG{#1}% +\ifx\@IEEEeqnarraydblrulerowARG\@empty% +\@IEEEeqnarrayrulerow[\arrayrulewidth]% +\else% +\@IEEEeqnarrayrulerow[#1]% +\fi% +} + + + +% inserts a full row's worth of &'s +% relies on \@IEEEeqnnumcols to provide the correct number of columns +% uses \@IEEEtrantmptoksA, \count0 as scratch registers +\def\@IEEEeqnarrayhoptolastcolumn{\@IEEEtrantmptoksA={}\count0=1\relax% +\loop% add cols if the user did not use them all +\ifnum\count0<\@IEEEeqnnumcols\relax% +\@IEEEappendtoksA{&}% +\advance\count0 by 1\relax% update the col count +\repeat% +\the\@IEEEtrantmptoksA%execute the &'s +} + + + +\newif\if@IEEEeqnarrayISinner % flag to indicate if we are within the lines +\@IEEEeqnarrayISinnerfalse % of an IEEEeqnarray - after the IEEEeqnarraydecl + +\edef\@IEEEeqnarrayTHEstrutheight{0pt} % height and depth of IEEEeqnarray struts +\edef\@IEEEeqnarrayTHEstrutdepth{0pt} + +\edef\@IEEEeqnarrayTHEmasterstrutheight{0pt} % default height and depth of +\edef\@IEEEeqnarrayTHEmasterstrutdepth{0pt} % struts within an IEEEeqnarray + +\edef\@IEEEeqnarrayTHEmasterstrutHSAVE{0pt} % saved master strut height +\edef\@IEEEeqnarrayTHEmasterstrutDSAVE{0pt} % and depth + +\newif\if@IEEEeqnarrayusemasterstrut % flag to indicate that the master strut value +\@IEEEeqnarrayusemasterstruttrue % is to be used + + + +% saves the strut height and depth of the master strut +\def\@IEEEeqnarraymasterstrutsave{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% save values +\edef\@IEEEeqnarrayTHEmasterstrutHSAVE{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutDSAVE{\the\dimen2}} + +% restores the strut height and depth of the master strut +\def\@IEEEeqnarraymasterstrutrestore{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutHSAVE\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutDSAVE\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% restore values +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}} + + +% globally restores the strut height and depth to the +% master values and sets the master strut flag to true +\def\@IEEEeqnarraystrutreset{\relax% +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% remove stretchability +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% restore values +\xdef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\xdef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\global\@IEEEeqnarrayusemasterstruttrue} + + +% if the master strut is not to be used, make the current +% values of \@IEEEeqnarrayTHEstrutheight, \@IEEEeqnarrayTHEstrutdepth +% and the use master strut flag, global +% this allows user strut commands issued in the last column to be carried +% into the isolation/strut column +\def\@IEEEeqnarrayglobalizestrutstatus{\relax% +\if@IEEEeqnarrayusemasterstrut\else% +\xdef\@IEEEeqnarrayTHEstrutheight{\@IEEEeqnarrayTHEstrutheight}% +\xdef\@IEEEeqnarrayTHEstrutdepth{\@IEEEeqnarrayTHEstrutdepth}% +\global\@IEEEeqnarrayusemasterstrutfalse% +\fi} + + + +% usage: \IEEEeqnarraystrutsize{height}{depth}[font size commands] +% If called outside the lines of an IEEEeqnarray, sets the height +% and depth of both the master and local struts. If called inside +% an IEEEeqnarray line, sets the height and depth of the local strut +% only and sets the flag to indicate the use of the local strut +% values. If the height or depth is left blank, 0.7\normalbaselineskip +% and 0.3\normalbaselineskip will be used, respectively. +% The optional argument can be used to evaluate the lengths under +% a different font size and styles. If none is specified, the current +% font is used. +% uses scratch registers \skip0, \skip2, \skip3, \dimen0, \dimen2 +\def\IEEEeqnarraystrutsize#1#2{\relax\@ifnextchar[{\@IEEEeqnarraystrutsize{#1}{#2}}{\@IEEEeqnarraystrutsize{#1}{#2}[\relax]}} +\def\@IEEEeqnarraystrutsize#1#2[#3]{\def\@IEEEeqnarraystrutsizeARG{#1}% +\ifx\@IEEEeqnarraystrutsizeARG\@empty% +{\setbox0=\hbox{#3\relax\global\skip3=0.7\normalbaselineskip}}% +\skip0=\skip3\relax% +\else% arg one present +{\setbox0=\hbox{#3\relax\global\skip3=#1\relax}}% +\skip0=\skip3\relax% +\fi% if null arg +\def\@IEEEeqnarraystrutsizeARG{#2}% +\ifx\@IEEEeqnarraystrutsizeARG\@empty% +{\setbox0=\hbox{#3\relax\global\skip3=0.3\normalbaselineskip}}% +\skip2=\skip3\relax% +\else% arg two present +{\setbox0=\hbox{#3\relax\global\skip3=#2\relax}}% +\skip2=\skip3\relax% +\fi% if null arg +% remove stretchability, just to be safe +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +\if@IEEEeqnarrayISinner% inner does not touch master strut size +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstrutfalse% do not use master +\else% outer, have to set master strut too +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}% +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstruttrue% use master strut +\fi} + + +% usage: \IEEEeqnarraystrutsizeadd{added height}{added depth}[font size commands] +% If called outside the lines of an IEEEeqnarray, adds the given height +% and depth to both the master and local struts. +% If called inside an IEEEeqnarray line, adds the given height and depth +% to the local strut only and sets the flag to indicate the use +% of the local strut values. +% In both cases, if a height or depth is left blank, 0pt is used instead. +% The optional argument can be used to evaluate the lengths under +% a different font size and styles. If none is specified, the current +% font is used. +% uses scratch registers \skip0, \skip2, \skip3, \dimen0, \dimen2 +\def\IEEEeqnarraystrutsizeadd#1#2{\relax\@ifnextchar[{\@IEEEeqnarraystrutsizeadd{#1}{#2}}{\@IEEEeqnarraystrutsizeadd{#1}{#2}[\relax]}} +\def\@IEEEeqnarraystrutsizeadd#1#2[#3]{\def\@IEEEeqnarraystrutsizearg{#1}% +\ifx\@IEEEeqnarraystrutsizearg\@empty% +\skip0=0pt\relax% +\else% arg one present +{\setbox0=\hbox{#3\relax\global\skip3=#1}}% +\skip0=\skip3\relax% +\fi% if null arg +\def\@IEEEeqnarraystrutsizearg{#2}% +\ifx\@IEEEeqnarraystrutsizearg\@empty% +\skip2=0pt\relax% +\else% arg two present +{\setbox0=\hbox{#3\relax\global\skip3=#2}}% +\skip2=\skip3\relax% +\fi% if null arg +% remove stretchability, just to be safe +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +\if@IEEEeqnarrayISinner% inner does not touch master strut size +% get local strut size +\expandafter\skip0=\@IEEEeqnarrayTHEstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEstrutdepth\relax% +% add it to the user supplied values +\advance\dimen0 by \skip0\relax% +\advance\dimen2 by \skip2\relax% +% update the local strut size +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstrutfalse% do not use master +\else% outer, have to set master strut too +% get master strut size +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +% add it to the user supplied values +\advance\dimen0 by \skip0\relax% +\advance\dimen2 by \skip2\relax% +% update the local and master strut sizes +\edef\@IEEEeqnarrayTHEmasterstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEmasterstrutdepth{\the\dimen2}% +\edef\@IEEEeqnarrayTHEstrutheight{\the\dimen0}% +\edef\@IEEEeqnarrayTHEstrutdepth{\the\dimen2}% +\@IEEEeqnarrayusemasterstruttrue% use master strut +\fi} + + +% allow user a way to see the struts +\newif\ifIEEEvisiblestruts +\IEEEvisiblestrutsfalse + +% inserts an invisible strut using the master or local strut values +% uses scratch registers \skip0, \skip2, \dimen0, \dimen2 +\def\@IEEEeqnarrayinsertstrut{\relax% +\if@IEEEeqnarrayusemasterstrut +% get master strut size +\expandafter\skip0=\@IEEEeqnarrayTHEmasterstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEmasterstrutdepth\relax% +\else% +% get local strut size +\expandafter\skip0=\@IEEEeqnarrayTHEstrutheight\relax% +\expandafter\skip2=\@IEEEeqnarrayTHEstrutdepth\relax% +\fi% +% remove stretchability, probably not needed +\dimen0\skip0\relax% +\dimen2\skip2\relax% +% dimen0 = height, dimen2 = depth +% allow user to see struts if desired +\ifIEEEvisiblestruts% +\vrule width0.2pt height\dimen0 depth\dimen2\relax% +\else% +\vrule width0pt height\dimen0 depth\dimen2\relax\fi} + + +% creates an invisible strut, useable even outside \IEEEeqnarray +% if \IEEEvisiblestrutstrue, the strut will be visible and 0.2pt wide. +% usage: \IEEEstrut[height][depth][font size commands] +% default is \IEEEstrut[0.7\normalbaselineskip][0.3\normalbaselineskip][\relax] +% blank arguments inherit the default values +% uses \dimen0, \dimen2, \skip0, \skip2 +\def\IEEEstrut{\relax\@ifnextchar[{\@IEEEstrut}{\@IEEEstrut[0.7\normalbaselineskip]}} +\def\@IEEEstrut[#1]{\relax\@ifnextchar[{\@@IEEEstrut[#1]}{\@@IEEEstrut[#1][0.3\normalbaselineskip]}} +\def\@@IEEEstrut[#1][#2]{\relax\@ifnextchar[{\@@@IEEEstrut[#1][#2]}{\@@@IEEEstrut[#1][#2][\relax]}} +\def\@@@IEEEstrut[#1][#2][#3]{\mbox{#3\relax% +\def\@IEEEstrutARG{#1}% +\ifx\@IEEEstrutARG\@empty% +\skip0=0.7\normalbaselineskip\relax% +\else% +\skip0=#1\relax% +\fi% +\def\@IEEEstrutARG{#2}% +\ifx\@IEEEstrutARG\@empty% +\skip2=0.3\normalbaselineskip\relax% +\else% +\skip2=#2\relax% +\fi% +% remove stretchability, probably not needed +\dimen0\skip0\relax% +\dimen2\skip2\relax% +\ifIEEEvisiblestruts% +\vrule width0.2pt height\dimen0 depth\dimen2\relax% +\else% +\vrule width0.0pt height\dimen0 depth\dimen2\relax\fi}} + + +% enables strut mode by setting a default strut size and then zeroing the +% \baselineskip, \lineskip, \lineskiplimit and \jot +\def\IEEEeqnarraystrutmode{\IEEEeqnarraystrutsize{0.7\normalbaselineskip}{0.3\normalbaselineskip}[\relax]% +\baselineskip=0pt\lineskip=0pt\lineskiplimit=0pt\jot=0pt} + + + +\def\IEEEeqnarray{\@IEEEeqnarraystarformfalse\@IEEEeqnarray} +\def\endIEEEeqnarray{\end@IEEEeqnarray} + +\@namedef{IEEEeqnarray*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarray} +\@namedef{endIEEEeqnarray*}{\end@IEEEeqnarray} + + +% \IEEEeqnarray is an enhanced \eqnarray. +% The star form defaults to not putting equation numbers at the end of each row. +% usage: \IEEEeqnarray[decl]{cols} +\def\@IEEEeqnarray{\relax\@ifnextchar[{\@@IEEEeqnarray}{\@@IEEEeqnarray[\relax]}} +\def\@@IEEEeqnarray[#1]#2{% + % default to showing the equation number or not based on whether or not + % the star form was involked + \if@IEEEeqnarraystarform\global\@eqnswfalse + \else% not the star form + \global\@eqnswtrue + \fi% if star form + \@IEEEissubequationfalse% default to no subequations + \@IEEElastlinewassubequationfalse% assume last line is not a sub equation + \@IEEEeqnarrayISinnerfalse% not yet within the lines of the halign + \@IEEEeqnarraystrutsize{0pt}{0pt}[\relax]% turn off struts by default + \@IEEEeqnarrayusemasterstruttrue% use master strut till user asks otherwise + \IEEEvisiblestrutsfalse% diagnostic mode defaults to off + % no extra space unless the user specifically requests it + \lineskip=0pt\relax + \lineskiplimit=0pt\relax + \baselineskip=\normalbaselineskip\relax% + \jot=\IEEEnormaljot\relax% + \mathsurround\z@\relax% no extra spacing around math + \@advanceIEEEeqncolcnttrue% advance the col counter for each col the user uses, + % used in \IEEEeqnarraymulticol and in the preamble build + \stepcounter{equation}% advance equation counter before first line + \setcounter{IEEEsubequation}{0}% no subequation yet + \def\@currentlabel{\p@equation\theequation}% redefine the ref label + \IEEEeqnarraydecl\relax% allow a way for the user to make global overrides + #1\relax% allow user to override defaults + \let\\\@IEEEeqnarraycr% replace newline with one that can put in eqn. numbers + \global\@IEEEeqncolcnt\z@% col. count = 0 for first line + \@IEEEbuildpreamble #2\end\relax% build the preamble and put it into \@IEEEtrantmptoksA + % put in the column for the equation number + \ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi% col separator for those after the first + \toks0={##}% + % advance the \@IEEEeqncolcnt for the isolation col, this helps with error checking + \@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}% + % add the isolation column + \@IEEEappendtoksA{\tabskip\z@skip\bgroup\the\toks0\egroup}% + % advance the \@IEEEeqncolcnt for the equation number col, this helps with error checking + \@IEEEappendtoksA{&\global\advance\@IEEEeqncolcnt by 1\relax}% + % add the equation number col to the preamble + \@IEEEappendtoksA{\tabskip\z@skip\hb@xt@\z@\bgroup\hss\the\toks0\egroup}% + % note \@IEEEeqnnumcols does not count the equation col or isolation col + % set the starting tabskip glue as determined by the preamble build + \tabskip=\@IEEEBPstartglue\relax + % begin the display alignment + \@IEEEeqnarrayISinnertrue% commands are now within the lines + $$\everycr{}\halign to\displaywidth\bgroup + % "exspand" the preamble + \span\the\@IEEEtrantmptoksA\cr} + +% enter isolation/strut column (or the next column if the user did not use +% every column), record the strut status, complete the columns, do the strut if needed, +% restore counters to correct values and exit +\def\end@IEEEeqnarray{\@IEEEeqnarrayglobalizestrutstatus&\@@IEEEeqnarraycr\egroup% +\if@IEEElastlinewassubequation\global\advance\c@IEEEsubequation\m@ne\fi% +\global\advance\c@equation\m@ne% +$$\@ignoretrue} + +% need a way to remember if last line is a subequation +\newif\if@IEEElastlinewassubequation% +\@IEEElastlinewassubequationfalse + +% IEEEeqnarray uses a modifed \\ instead of the plain \cr to +% end rows. This allows for things like \\*[vskip amount] +% This "cr" macros are modified versions those for LaTeX2e's eqnarray +% the {\ifnum0=`} braces must be kept away from the last column to avoid +% altering spacing of its math, so we use & to advance to the next column +% as there is an isolation/strut column after the user's columns +\def\@IEEEeqnarraycr{\@IEEEeqnarrayglobalizestrutstatus&% save strut status and advance to next column + {\ifnum0=`}\fi + \@ifstar{% + \global\@eqpen\@M\@IEEEeqnarrayYCR + }{% + \global\@eqpen\interdisplaylinepenalty \@IEEEeqnarrayYCR + }% +} + +\def\@IEEEeqnarrayYCR{\@testopt\@IEEEeqnarrayXCR\z@skip} + +\def\@IEEEeqnarrayXCR[#1]{% + \ifnum0=`{\fi}% + \@@IEEEeqnarraycr + \noalign{\penalty\@eqpen\vskip\jot\vskip #1\relax}}% + +\def\@@IEEEeqnarraycr{\@IEEEtrantmptoksA={}% clear token register + \advance\@IEEEeqncolcnt by -1\relax% adjust col count because of the isolation column + \ifnum\@IEEEeqncolcnt>\@IEEEeqnnumcols\relax + \@IEEEclspkgerror{Too many columns within the IEEEeqnarray\MessageBreak + environment}% + {Use fewer \string &'s or put more columns in the IEEEeqnarry column\MessageBreak + specifications.}\relax% + \else + \loop% add cols if the user did not use them all + \ifnum\@IEEEeqncolcnt<\@IEEEeqnnumcols\relax + \@IEEEappendtoksA{&}% + \advance\@IEEEeqncolcnt by 1\relax% update the col count + \repeat + % this number of &'s will take us the the isolation column + \fi + % execute the &'s + \the\@IEEEtrantmptoksA% + % handle the strut/isolation column + \@IEEEeqnarrayinsertstrut% do the strut if needed + \@IEEEeqnarraystrutreset% reset the strut system for next line or IEEEeqnarray + &% and enter the equation number column + % is this line needs an equation number, display it and advance the + % (sub)equation counters, record what type this line was + \if@eqnsw% + \if@IEEEissubequation\theIEEEsubequationdis\addtocounter{equation}{1}\stepcounter{IEEEsubequation}% + \global\@IEEElastlinewassubequationtrue% + \else% display a standard equation number, initialize the IEEEsubequation counter + \theequationdis\stepcounter{equation}\setcounter{IEEEsubequation}{0}% + \global\@IEEElastlinewassubequationfalse\fi% + \fi% + % reset the eqnsw flag to indicate default preference of the display of equation numbers + \if@IEEEeqnarraystarform\global\@eqnswfalse\else\global\@eqnswtrue\fi + \global\@IEEEissubequationfalse% reset the subequation flag + % reset the number of columns the user actually used + \global\@IEEEeqncolcnt\z@\relax + % the real end of the line + \cr} + + + + + +% \IEEEeqnarraybox is like \IEEEeqnarray except the box form puts everything +% inside a vtop, vbox, or vcenter box depending on the letter in the second +% optional argument (t,b,c). Vbox is the default. Unlike \IEEEeqnarray, +% equation numbers are not displayed and \IEEEeqnarraybox can be nested. +% \IEEEeqnarrayboxm is for math mode (like \array) and does not put the vbox +% within an hbox. +% \IEEEeqnarrayboxt is for text mode (like \tabular) and puts the vbox within +% a \hbox{$ $} construct. +% \IEEEeqnarraybox will auto detect whether to use \IEEEeqnarrayboxm or +% \IEEEeqnarrayboxt depending on the math mode. +% The third optional argument specifies the width this box is to be set to - +% natural width is the default. +% The * forms do not add \jot line spacing +% usage: \IEEEeqnarraybox[decl][pos][width]{cols} +\def\IEEEeqnarrayboxm{\@IEEEeqnarraystarformfalse\@IEEEeqnarrayboxHBOXSWfalse\@IEEEeqnarraybox} +\def\endIEEEeqnarrayboxm{\end@IEEEeqnarraybox} +\@namedef{IEEEeqnarrayboxm*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarrayboxHBOXSWfalse\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarrayboxm*}{\end@IEEEeqnarraybox} + +\def\IEEEeqnarrayboxt{\@IEEEeqnarraystarformfalse\@IEEEeqnarrayboxHBOXSWtrue\@IEEEeqnarraybox} +\def\endIEEEeqnarrayboxt{\end@IEEEeqnarraybox} +\@namedef{IEEEeqnarrayboxt*}{\@IEEEeqnarraystarformtrue\@IEEEeqnarrayboxHBOXSWtrue\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarrayboxt*}{\end@IEEEeqnarraybox} + +\def\IEEEeqnarraybox{\@IEEEeqnarraystarformfalse\ifmmode\@IEEEeqnarrayboxHBOXSWfalse\else\@IEEEeqnarrayboxHBOXSWtrue\fi% +\@IEEEeqnarraybox} +\def\endIEEEeqnarraybox{\end@IEEEeqnarraybox} + +\@namedef{IEEEeqnarraybox*}{\@IEEEeqnarraystarformtrue\ifmmode\@IEEEeqnarrayboxHBOXSWfalse\else\@IEEEeqnarrayboxHBOXSWtrue\fi% +\@IEEEeqnarraybox} +\@namedef{endIEEEeqnarraybox*}{\end@IEEEeqnarraybox} + +% flag to indicate if the \IEEEeqnarraybox needs to put things into an hbox{$ $} +% for \vcenter in non-math mode +\newif\if@IEEEeqnarrayboxHBOXSW% +\@IEEEeqnarrayboxHBOXSWfalse + +\def\@IEEEeqnarraybox{\relax\@ifnextchar[{\@@IEEEeqnarraybox}{\@@IEEEeqnarraybox[\relax]}} +\def\@@IEEEeqnarraybox[#1]{\relax\@ifnextchar[{\@@@IEEEeqnarraybox[#1]}{\@@@IEEEeqnarraybox[#1][b]}} +\def\@@@IEEEeqnarraybox[#1][#2]{\relax\@ifnextchar[{\@@@@IEEEeqnarraybox[#1][#2]}{\@@@@IEEEeqnarraybox[#1][#2][\relax]}} + +% #1 = decl; #2 = t,b,c; #3 = width, #4 = col specs +\def\@@@@IEEEeqnarraybox[#1][#2][#3]#4{\@IEEEeqnarrayISinnerfalse % not yet within the lines of the halign + \@IEEEeqnarraymasterstrutsave% save current master strut values + \@IEEEeqnarraystrutsize{0pt}{0pt}[\relax]% turn off struts by default + \@IEEEeqnarrayusemasterstruttrue% use master strut till user asks otherwise + \IEEEvisiblestrutsfalse% diagnostic mode defaults to off + % no extra space unless the user specifically requests it + \lineskip=0pt\relax% + \lineskiplimit=0pt\relax% + \baselineskip=\normalbaselineskip\relax% + \jot=\IEEEnormaljot\relax% + \mathsurround\z@\relax% no extra spacing around math + % the default end glues are zero for an \IEEEeqnarraybox + \edef\@IEEEeqnarraycolSEPdefaultstart{\@IEEEeqnarraycolSEPzero}% default start glue + \edef\@IEEEeqnarraycolSEPdefaultend{\@IEEEeqnarraycolSEPzero}% default end glue + \edef\@IEEEeqnarraycolSEPdefaultmid{\@IEEEeqnarraycolSEPzero}% default inter-column glue + \@advanceIEEEeqncolcntfalse% do not advance the col counter for each col the user uses, + % used in \IEEEeqnarraymulticol and in the preamble build + \IEEEeqnarrayboxdecl\relax% allow a way for the user to make global overrides + #1\relax% allow user to override defaults + \let\\\@IEEEeqnarrayboxcr% replace newline with one that allows optional spacing + \@IEEEbuildpreamble #4\end\relax% build the preamble and put it into \@IEEEtrantmptoksA + % add an isolation column to the preamble to stop \\'s {} from getting into the last col + \ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi% col separator for those after the first + \toks0={##}% + % add the isolation column to the preamble + \@IEEEappendtoksA{\tabskip\z@skip\bgroup\the\toks0\egroup}% + % set the starting tabskip glue as determined by the preamble build + \tabskip=\@IEEEBPstartglue\relax + % begin the alignment + \everycr{}% + % use only the very first token to determine the positioning + % this stops some problems when the user uses more than one letter, + % but is probably not worth the effort + % \noindent is used as a delimiter + \def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% + \@IEEEgrabfirstoken#2\relax\relax\noindent + % \@IEEEgrabbedfirstoken has the first token, the rest are discarded + % if we need to put things into and hbox and go into math mode, do so now + \if@IEEEeqnarrayboxHBOXSW \leavevmode \hbox \bgroup $\fi% + % use the appropriate vbox type + \if\@IEEEgrabbedfirstoken t\relax\vtop\else\if\@IEEEgrabbedfirstoken c\relax% + \vcenter\else\vbox\fi\fi\bgroup% + \@IEEEeqnarrayISinnertrue% commands are now within the lines + \ifx#3\relax\halign\else\halign to #3\relax\fi% + \bgroup + % "exspand" the preamble + \span\the\@IEEEtrantmptoksA\cr} + +% carry strut status and enter the isolation/strut column, +% exit from math mode if needed, and exit +\def\end@IEEEeqnarraybox{\@IEEEeqnarrayglobalizestrutstatus% carry strut status +&% enter isolation/strut column +\@IEEEeqnarrayinsertstrut% do strut if needed +\@IEEEeqnarraymasterstrutrestore% restore the previous master strut values +% reset the strut system for next IEEEeqnarray +% (sets local strut values back to previous master strut values) +\@IEEEeqnarraystrutreset% +% ensure last line, exit from halign, close vbox +\crcr\egroup\egroup% +% exit from math mode and close hbox if needed +\if@IEEEeqnarrayboxHBOXSW $\egroup\fi} + + + +% IEEEeqnarraybox uses a modifed \\ instead of the plain \cr to +% end rows. This allows for things like \\[vskip amount] +% This "cr" macros are modified versions those for LaTeX2e's eqnarray +% For IEEEeqnarraybox, \\* is the same as \\ +% the {\ifnum0=`} braces must be kept away from the last column to avoid +% altering spacing of its math, so we use & to advance to the isolation/strut column +% carry strut status into isolation/strut column +\def\@IEEEeqnarrayboxcr{\@IEEEeqnarrayglobalizestrutstatus% carry strut status +&% enter isolation/strut column +\@IEEEeqnarrayinsertstrut% do strut if needed +% reset the strut system for next line or IEEEeqnarray +\@IEEEeqnarraystrutreset% +{\ifnum0=`}\fi% +\@ifstar{\@IEEEeqnarrayboxYCR}{\@IEEEeqnarrayboxYCR}} + +% test and setup the optional argument to \\[] +\def\@IEEEeqnarrayboxYCR{\@testopt\@IEEEeqnarrayboxXCR\z@skip} + +% IEEEeqnarraybox does not automatically increase line spacing by \jot +\def\@IEEEeqnarrayboxXCR[#1]{\ifnum0=`{\fi}% +\cr\noalign{\if@IEEEeqnarraystarform\else\vskip\jot\fi\vskip#1\relax}} + + + +% starts the halign preamble build +\def\@IEEEbuildpreamble{\@IEEEtrantmptoksA={}% clear token register +\let\@IEEEBPcurtype=u%current column type is not yet known +\let\@IEEEBPprevtype=s%the previous column type was the start +\let\@IEEEBPnexttype=u%next column type is not yet known +% ensure these are valid +\def\@IEEEBPcurglue={0pt plus 0pt minus 0pt}% +\def\@IEEEBPcurcolname{@IEEEdefault}% name of current column definition +% currently acquired numerically referenced glue +% use a name that is easier to remember +\let\@IEEEBPcurnum=\@IEEEtrantmpcountA% +\@IEEEBPcurnum=0% +% tracks number of columns in the preamble +\@IEEEeqnnumcols=0% +% record the default end glues +\edef\@IEEEBPstartglue{\@IEEEeqnarraycolSEPdefaultstart}% +\edef\@IEEEBPendglue{\@IEEEeqnarraycolSEPdefaultend}% +% now parse the user's column specifications +\@@IEEEbuildpreamble} + + +% parses and builds the halign preamble +\def\@@IEEEbuildpreamble#1#2{\let\@@nextIEEEbuildpreamble=\@@IEEEbuildpreamble% +% use only the very first token to check the end +% \noindent is used as a delimiter as \end can be present here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +\ifx\@IEEEgrabbedfirstoken\end\let\@@nextIEEEbuildpreamble=\@@IEEEfinishpreamble\else% +% identify current and next token type +\@IEEEgetcoltype{#1}{\@IEEEBPcurtype}{1}% current, error on invalid +\@IEEEgetcoltype{#2}{\@IEEEBPnexttype}{0}% next, no error on invalid next +% if curtype is a glue, get the glue def +\if\@IEEEBPcurtype g\@IEEEgetcurglue{#1}{\@IEEEBPcurglue}\fi% +% if curtype is a column, get the column def and set the current column name +\if\@IEEEBPcurtype c\@IEEEgetcurcol{#1}\fi% +% if curtype is a numeral, acquire the user defined glue +\if\@IEEEBPcurtype n\@IEEEprocessNcol{#1}\fi% +% process the acquired glue +\if\@IEEEBPcurtype g\@IEEEprocessGcol\fi% +% process the acquired col +\if\@IEEEBPcurtype c\@IEEEprocessCcol\fi% +% ready prevtype for next col spec. +\let\@IEEEBPprevtype=\@IEEEBPcurtype% +% be sure and put back the future token(s) as a group +\fi\@@nextIEEEbuildpreamble{#2}} + + +% executed just after preamble build is completed +% warn about zero cols, and if prevtype type = u, put in end tabskip glue +\def\@@IEEEfinishpreamble#1{\ifnum\@IEEEeqnnumcols<1\relax +\@IEEEclspkgerror{No column specifiers declared for IEEEeqnarray}% +{At least one column type must be declared for each IEEEeqnarray.}% +\fi%num cols less than 1 +%if last type undefined, set default end tabskip glue +\if\@IEEEBPprevtype u\@IEEEappendtoksA{\tabskip=\@IEEEBPendglue}\fi} + + +% Identify and return the column specifier's type code +\def\@IEEEgetcoltype#1#2#3{% +% use only the very first token to determine the type +% \noindent is used as a delimiter as \end can be present here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +% \@IEEEgrabfirstoken has the first token, the rest are discarded +% n = number +% g = glue (any other char in catagory 12) +% c = letter +% e = \end +% u = undefined +% third argument: 0 = no error message, 1 = error on invalid char +\let#2=u\relax% assume invalid until know otherwise +\ifx\@IEEEgrabbedfirstoken\end\let#2=e\else +\ifcat\@IEEEgrabbedfirstoken\relax\else% screen out control sequences +\if0\@IEEEgrabbedfirstoken\let#2=n\else +\if1\@IEEEgrabbedfirstoken\let#2=n\else +\if2\@IEEEgrabbedfirstoken\let#2=n\else +\if3\@IEEEgrabbedfirstoken\let#2=n\else +\if4\@IEEEgrabbedfirstoken\let#2=n\else +\if5\@IEEEgrabbedfirstoken\let#2=n\else +\if6\@IEEEgrabbedfirstoken\let#2=n\else +\if7\@IEEEgrabbedfirstoken\let#2=n\else +\if8\@IEEEgrabbedfirstoken\let#2=n\else +\if9\@IEEEgrabbedfirstoken\let#2=n\else +\ifcat,\@IEEEgrabbedfirstoken\let#2=g\relax +\else\ifcat a\@IEEEgrabbedfirstoken\let#2=c\relax\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +\if#2u\relax +\if0\noexpand#3\relax\else\@IEEEclspkgerror{Invalid character in column specifications}% +{Only letters, numerals and certain other symbols are allowed \MessageBreak +as IEEEeqnarray column specifiers.}\fi\fi} + + +% identify the current letter referenced column +% if invalid, use a default column +\def\@IEEEgetcurcol#1{\expandafter\ifx\csname @IEEEeqnarraycolDEF#1\endcsname\@IEEEeqnarraycolisdefined% +\def\@IEEEBPcurcolname{#1}\else% invalid column name +\@IEEEclspkgerror{Invalid column type "#1" in column specifications.\MessageBreak +Using a default centering column instead}% +{You must define IEEEeqnarray column types before use.}% +\def\@IEEEBPcurcolname{@IEEEdefault}\fi} + + +% identify and return the predefined (punctuation) glue value +\def\@IEEEgetcurglue#1#2{% +% ! = \! (neg small) -0.16667em (-3/18 em) +% , = \, (small) 0.16667em ( 3/18 em) +% : = \: (med) 0.22222em ( 4/18 em) +% ; = \; (large) 0.27778em ( 5/18 em) +% ' = \quad 1em +% " = \qquad 2em +% . = 0.5\arraycolsep +% / = \arraycolsep +% ? = 2\arraycolsep +% * = 1fil +% + = \@IEEEeqnarraycolSEPcenter +% - = \@IEEEeqnarraycolSEPzero +% Note that all em values are referenced to the math font (textfont2) fontdimen6 +% value for 1em. +% +% use only the very first token to determine the type +% this prevents errant tokens from getting in the main text +% \noindent is used as a delimiter here +\def\@IEEEgrabfirstoken##1##2\noindent{\let\@IEEEgrabbedfirstoken=##1}% +\@IEEEgrabfirstoken#1\relax\relax\noindent +% get the math font 1em value +% LaTeX2e's NFSS2 does not preload the fonts, but \IEEEeqnarray needs +% to gain access to the math (\textfont2) font's spacing parameters. +% So we create a bogus box here that uses the math font to ensure +% that \textfont2 is loaded and ready. If this is not done, +% the \textfont2 stuff here may not work. +% Thanks to Bernd Raichle for his 1997 post on this topic. +{\setbox0=\hbox{$\displaystyle\relax$}}% +% fontdimen6 has the width of 1em (a quad). +\@IEEEtrantmpdimenA=\fontdimen6\textfont2\relax% +% identify the glue value based on the first token +% we discard anything after the first +\if!\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=-0.16667\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if,\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.16667\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if:\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.22222\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if;\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.27778\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if'\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=1\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if"\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=2\@IEEEtrantmpdimenA\edef#2{\the\@IEEEtrantmpdimenA}\else +\if.\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=0.5\arraycolsep\edef#2{\the\@IEEEtrantmpdimenA}\else +\if/\@IEEEgrabbedfirstoken\edef#2{\the\arraycolsep}\else +\if?\@IEEEgrabbedfirstoken\@IEEEtrantmpdimenA=2\arraycolsep\edef#2{\the\@IEEEtrantmpdimenA}\else +\if *\@IEEEgrabbedfirstoken\edef#2{0pt plus 1fil minus 0pt}\else +\if+\@IEEEgrabbedfirstoken\edef#2{\@IEEEeqnarraycolSEPcenter}\else +\if-\@IEEEgrabbedfirstoken\edef#2{\@IEEEeqnarraycolSEPzero}\else +\edef#2{\@IEEEeqnarraycolSEPzero}% +\@IEEEclspkgerror{Invalid predefined inter-column glue type "#1" in\MessageBreak +column specifications. Using a default value of\MessageBreak +0pt instead}% +{Only !,:;'"./?*+ and - are valid predefined glue types in the\MessageBreak +IEEEeqnarray column specifications.}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + + + +% process a numerical digit from the column specification +% and look up the corresponding user defined glue value +% can transform current type from n to g or a as the user defined glue is acquired +\def\@IEEEprocessNcol#1{\if\@IEEEBPprevtype g% +\@IEEEclspkgerror{Back-to-back inter-column glue specifiers in column\MessageBreak +specifications. Ignoring consecutive glue specifiers\MessageBreak +after the first}% +{You cannot have two or more glue types next to each other\MessageBreak +in the IEEEeqnarray column specifications.}% +\let\@IEEEBPcurtype=a% abort this glue, future digits will be discarded +\@IEEEBPcurnum=0\relax% +\else% if we previously aborted a glue +\if\@IEEEBPprevtype a\@IEEEBPcurnum=0\let\@IEEEBPcurtype=a%maintain digit abortion +\else%acquire this number +% save the previous type before the numerical digits started +\if\@IEEEBPprevtype n\else\let\@IEEEBPprevsavedtype=\@IEEEBPprevtype\fi% +\multiply\@IEEEBPcurnum by 10\relax% +\advance\@IEEEBPcurnum by #1\relax% add in number, \relax is needed to stop TeX's number scan +\if\@IEEEBPnexttype n\else%close acquisition +\expandafter\ifx\csname @IEEEeqnarraycolSEPDEF\expandafter\romannumeral\number\@IEEEBPcurnum\endcsname\@IEEEeqnarraycolisdefined% +\edef\@IEEEBPcurglue{\csname @IEEEeqnarraycolSEP\expandafter\romannumeral\number\@IEEEBPcurnum\endcsname}% +\else%user glue not defined +\@IEEEclspkgerror{Invalid user defined inter-column glue type "\number\@IEEEBPcurnum" in\MessageBreak +column specifications. Using a default value of\MessageBreak +0pt instead}% +{You must define all IEEEeqnarray numerical inter-column glue types via\MessageBreak +\string\IEEEeqnarraydefcolsep \space before they are used in column specifications.}% +\edef\@IEEEBPcurglue{\@IEEEeqnarraycolSEPzero}% +\fi% glue defined or not +\let\@IEEEBPcurtype=g% change the type to reflect the acquired glue +\let\@IEEEBPprevtype=\@IEEEBPprevsavedtype% restore the prev type before this number glue +\@IEEEBPcurnum=0\relax%ready for next acquisition +\fi%close acquisition, get glue +\fi%discard or acquire number +\fi%prevtype glue or not +} + + +% process an acquired glue +% add any acquired column/glue pair to the preamble +\def\@IEEEprocessGcol{\if\@IEEEBPprevtype a\let\@IEEEBPcurtype=a%maintain previous glue abortions +\else +% if this is the start glue, save it, but do nothing else +% as this is not used in the preamble, but before +\if\@IEEEBPprevtype s\edef\@IEEEBPstartglue{\@IEEEBPcurglue}% +\else%not the start glue +\if\@IEEEBPprevtype g%ignore if back to back glues +\@IEEEclspkgerror{Back-to-back inter-column glue specifiers in column\MessageBreak +specifications. Ignoring consecutive glue specifiers\MessageBreak +after the first}% +{You cannot have two or more glue types next to each other\MessageBreak +in the IEEEeqnarray column specifications.}% +\let\@IEEEBPcurtype=a% abort this glue +\else% not a back to back glue +\if\@IEEEBPprevtype c\relax% if the previoustype was a col, add column/glue pair to preamble +\ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi +\toks0={##}% +% make preamble advance col counter if this environment needs this +\if@advanceIEEEeqncolcnt\@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}\fi +% insert the column defintion into the preamble, being careful not to expand +% the column definition +\@IEEEappendtoksA{\tabskip=\@IEEEBPcurglue}% +\@IEEEappendNOEXPANDtoksA{\begingroup\csname @IEEEeqnarraycolPRE}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname}% +\@IEEEappendtoksA{\the\toks0}% +\@IEEEappendNOEXPANDtoksA{\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\endgroup}% +\advance\@IEEEeqnnumcols by 1\relax%one more column in the preamble +\else% error: non-start glue with no pending column +\@IEEEclspkgerror{Inter-column glue specifier without a prior column\MessageBreak +type in the column specifications. Ignoring this glue\MessageBreak +specifier}% +{Except for the first and last positions, glue can be placed only\MessageBreak +between column types.}% +\let\@IEEEBPcurtype=a% abort this glue +\fi% previous was a column +\fi% back-to-back glues +\fi% is start column glue +\fi% prev type not a +} + + +% process an acquired letter referenced column and, if necessary, add it to the preamble +\def\@IEEEprocessCcol{\if\@IEEEBPnexttype g\else +\if\@IEEEBPnexttype n\else +% we have a column followed by something other than a glue (or numeral glue) +% so we must add this column to the preamble now +\ifnum\@IEEEeqnnumcols>0\relax\@IEEEappendtoksA{&}\fi%col separator for those after the first +\if\@IEEEBPnexttype e\@IEEEappendtoksA{\tabskip=\@IEEEBPendglue\relax}\else%put in end glue +\@IEEEappendtoksA{\tabskip=\@IEEEeqnarraycolSEPdefaultmid\relax}\fi% or default mid glue +\toks0={##}% +% make preamble advance col counter if this environment needs this +\if@advanceIEEEeqncolcnt\@IEEEappendtoksA{\global\advance\@IEEEeqncolcnt by 1\relax}\fi +% insert the column definition into the preamble, being careful not to expand +% the column definition +\@IEEEappendNOEXPANDtoksA{\begingroup\csname @IEEEeqnarraycolPRE}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname}% +\@IEEEappendtoksA{\the\toks0}% +\@IEEEappendNOEXPANDtoksA{\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\csname @IEEEeqnarraycolPOST}% +\@IEEEappendtoksA{\@IEEEBPcurcolname}% +\@IEEEappendNOEXPANDtoksA{\endcsname\relax\relax\relax\relax\relax% +\relax\relax\relax\relax\relax\endgroup}% +\advance\@IEEEeqnnumcols by 1\relax%one more column in the preamble +\fi%next type not numeral +\fi%next type not glue +} + + +%% +%% END OF IEEEeqnarry DEFINITIONS +%% + + + + +% set up the running headings, this complex because of all the different +% modes IEEEtran supports +\if@twoside + \ifCLASSOPTIONtechnote + \def\ps@headings{% + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \ifCLASSOPTIONdraftcls + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{}\def\@evenfoot{}% + \else + \def\@oddfoot{\scriptsize\@date\hfil DRAFT} + \def\@evenfoot{\scriptsize DRAFT\hfil\@date} + \fi + \else + \def\@oddfoot{}\def\@evenfoot{} + \fi} + \else % not a technote + \def\ps@headings{% + \ifCLASSOPTIONconference + \def\@oddhead{} + \def\@evenhead{} + \else + \def\@oddhead{\hbox{}\scriptsize\rightmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \fi + \ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\rightmark \hfil \thepage} + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}} + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{}\def\@evenfoot{}% + \else + \def\@oddfoot{\scriptsize\@date\hfil DRAFT} + \def\@evenfoot{\scriptsize DRAFT\hfil\@date} + \fi + \else + \def\@oddfoot{}\def\@evenfoot{}% + \fi} + \fi +\else % single side +\def\ps@headings{% + \ifCLASSOPTIONconference + \def\@oddhead{} + \def\@evenhead{} + \else + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{} + \fi + \ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage} + \def\@evenhead{} + \ifCLASSOPTIONdraftclsnofoot + \def\@oddfoot{} + \else + \def\@oddfoot{\scriptsize \@date \hfil DRAFT} + \fi + \else + \def\@oddfoot{} + \fi + \def\@evenfoot{}} +\fi + + +% title page style +\def\ps@IEEEtitlepagestyle{\def\@oddfoot{}\def\@evenfoot{}% +\ifCLASSOPTIONconference + \def\@oddhead{}% + \def\@evenhead{}% +\else + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage}% + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}}% +\fi +\ifCLASSOPTIONdraftcls + \def\@oddhead{\hbox{}\scriptsize\leftmark \hfil \thepage}% + \def\@evenhead{\scriptsize\thepage \hfil \leftmark\hbox{}}% + \ifCLASSOPTIONdraftclsnofoot\else + \def\@oddfoot{\scriptsize \@date\hfil DRAFT}% + \def\@evenfoot{\scriptsize DRAFT\hfil \@date}% + \fi +\else + % all non-draft mode footers + \if@IEEEusingpubid + % for title pages that are using a pubid + % do not repeat pubid if using peer review option + \ifCLASSOPTIONpeerreview + \else + \footskip 0pt% + \ifCLASSOPTIONcompsoc + \def\@oddfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \else + \def\@oddfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \fi + \fi + \fi +\fi} + + +% peer review cover page style +\def\ps@IEEEpeerreviewcoverpagestyle{% +\def\@oddhead{}\def\@evenhead{}% +\def\@oddfoot{}\def\@evenfoot{}% +\ifCLASSOPTIONdraftcls + \ifCLASSOPTIONdraftclsnofoot\else + \def\@oddfoot{\scriptsize \@date\hfil DRAFT}% + \def\@evenfoot{\scriptsize DRAFT\hfil \@date}% + \fi +\else + % non-draft mode footers + \if@IEEEusingpubid + \footskip 0pt% + \ifCLASSOPTIONcompsoc + \def\@oddfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\scriptsize\raisebox{-1.5\@IEEEnormalsizeunitybaselineskip}[0ex][0ex]{\@IEEEpubid}\hss}% + \else + \def\@oddfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \def\@evenfoot{\hss\normalfont\footnotesize\raisebox{1.5ex}[1.5ex]{\@IEEEpubid}\hss}% + \fi + \fi +\fi} + + +% start with empty headings +\def\rightmark{}\def\leftmark{} + + +%% Defines the command for putting the header. \footernote{TEXT} is the same +%% as \markboth{TEXT}{TEXT}. +%% Note that all the text is forced into uppercase, if you have some text +%% that needs to be in lower case, for instance et. al., then either manually +%% set \leftmark and \rightmark or use \MakeLowercase{et. al.} within the +%% arguments to \markboth. +\def\markboth#1#2{\def\leftmark{\@IEEEcompsoconly{\sffamily}\MakeUppercase{#1}}% +\def\rightmark{\@IEEEcompsoconly{\sffamily}\MakeUppercase{#2}}} +\def\footernote#1{\markboth{#1}{#1}} + +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} + + + + +%% CITATION AND BIBLIOGRAPHY COMMANDS +%% +%% V1.6 no longer supports the older, nonstandard \shortcite and \citename setup stuff +% +% +% Modify Latex2e \@citex to separate citations with "], [" +\def\@citex[#1]#2{% + \let\@citea\@empty + \@cite{\@for\@citeb:=#2\do + {\@citea\def\@citea{], [}% + \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}% + \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \@ifundefined{b@\@citeb}{\mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue + \@latex@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\hbox{\csname b@\@citeb\endcsname}}}}{#1}} + +% V1.6 we create hooks for the optional use of Donald Arseneau's +% cite.sty package. cite.sty is "smart" and will notice that the +% following format controls are already defined and will not +% redefine them. The result will be the proper sorting of the +% citation numbers and auto detection of 3 or more entry "ranges" - +% all in IEEE style: [1], [2], [5]--[7], [12] +% This also allows for an optional note, i.e., \cite[mynote]{..}. +% If the \cite with note has more than one reference, the note will +% be applied to the last of the listed references. It is generally +% desired that if a note is given, only one reference is listed in +% that \cite. +% Thanks to Mr. Arseneau for providing the required format arguments +% to produce the IEEE style. +\def\citepunct{], [} +\def\citedash{]--[} + +% V1.7 default to using same font for urls made by url.sty +\AtBeginDocument{\csname url@samestyle\endcsname} + +% V1.6 class files should always provide these +\def\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty + + +% Provide support for the control entries of IEEEtran.bst V1.00 and later. +% V1.7 optional argument allows for a different aux file to be specified in +% order to handle multiple bibliographies. For example, with multibib.sty: +% \newcites{sec}{Secondary Literature} +% \bstctlcite[@auxoutsec]{BSTcontrolhak} +\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +\def\@bstctlcite[#1]#2{\@bsphack + \@for\@citeb:=#2\do{% + \edef\@citeb{\expandafter\@firstofone\@citeb}% + \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% + \@esphack} + +% V1.6 provide a way for a user to execute a command just before +% a given reference number - used to insert a \newpage to balance +% the columns on the last page +\edef\@IEEEtriggerrefnum{0} % the default of zero means that + % the command is not executed +\def\@IEEEtriggercmd{\newpage} + +% allow the user to alter the triggered command +\long\def\IEEEtriggercmd#1{\long\def\@IEEEtriggercmd{#1}} + +% allow user a way to specify the reference number just before the +% command is executed +\def\IEEEtriggeratref#1{\@IEEEtrantmpcountA=#1% +\edef\@IEEEtriggerrefnum{\the\@IEEEtrantmpcountA}}% + +% trigger command at the given reference +\def\@IEEEbibitemprefix{\@IEEEtrantmpcountA=\@IEEEtriggerrefnum\relax% +\advance\@IEEEtrantmpcountA by -1\relax% +\ifnum\c@enumiv=\@IEEEtrantmpcountA\relax\@IEEEtriggercmd\relax\fi} + + +\def\@biblabel#1{[#1]} + +% compsoc journals left align the reference numbers +\@IEEEcompsocnotconfonly{\def\@biblabel#1{[#1]\hfill}} + +% controls bib item spacing +\def\IEEEbibitemsep{0pt plus .5pt} + +\@IEEEcompsocconfonly{\def\IEEEbibitemsep{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}} + + +\def\thebibliography#1{\section*{\refname}% + \addcontentsline{toc}{section}{\refname}% + % V1.6 add some rubber space here and provide a command trigger + \footnotesize\@IEEEcompsocconfonly{\small}\vskip 0.3\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep\relax + \itemsep \IEEEbibitemsep\relax + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \let\@IEEElatexbibitem\bibitem% + \def\bibitem{\@IEEEbibitemprefix\@IEEElatexbibitem}% +\def\newblock{\hskip .11em plus .33em minus .07em}% +% originally: +% \sloppy\clubpenalty4000\widowpenalty4000% +% by adding the \interlinepenalty here, we make it more +% difficult, but not impossible, for LaTeX to break within a reference. +% IEEE almost never breaks a reference (but they do it more often with +% technotes). You may get an underfull vbox warning around the bibliography, +% but the final result will be much more like what IEEE will publish. +% MDS 11/2000 +\ifCLASSOPTIONtechnote\sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty100% +\else\sloppy\clubpenalty4000\widowpenalty4000\interlinepenalty500\fi% + \sfcode`\.=1000\relax} +\let\endthebibliography=\endlist + + + + +% TITLE PAGE COMMANDS +% +% +% \IEEEmembership is used to produce the sublargesize italic font used to indicate author +% IEEE membership. compsoc uses a large size sans slant font +\def\IEEEmembership#1{{\@IEEEnotcompsoconly{\sublargesize}\normalfont\@IEEEcompsoconly{\sffamily}\textit{#1}}} + + +% \IEEEauthorrefmark{} produces a footnote type symbol to indicate author affiliation. +% When given an argument of 1 to 9, \IEEEauthorrefmark{} follows the standard LaTeX footnote +% symbol sequence convention. However, for arguments 10 and above, \IEEEauthorrefmark{} +% reverts to using lower case roman numerals, so it cannot overflow. Do note that you +% cannot use \footnotemark[] in place of \IEEEauthorrefmark{} within \author as the footnote +% symbols will have been turned off to prevent \thanks from creating footnote marks. +% \IEEEauthorrefmark{} produces a symbol that appears to LaTeX as having zero vertical +% height - this allows for a more compact line packing, but the user must ensure that +% the interline spacing is large enough to prevent \IEEEauthorrefmark{} from colliding +% with the text above. +% V1.7 make this a robust command +\DeclareRobustCommand*{\IEEEauthorrefmark}[1]{\raisebox{0pt}[0pt][0pt]{\textsuperscript{\footnotesize\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or% + \mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger% + \or \ddagger\ddagger \else\textsuperscript{\expandafter\romannumeral#1}\fi}}}} + + +% FONT CONTROLS AND SPACINGS FOR CONFERENCE MODE AUTHOR NAME AND AFFILIATION BLOCKS +% +% The default font styles for the author name and affiliation blocks (confmode) +\def\@IEEEauthorblockNstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\sublargesize\@IEEEcompsocconfonly{\large}} +\def\@IEEEauthorblockAstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\@IEEEcompsocconfonly{\itshape}\normalsize\@IEEEcompsocconfonly{\large}} +% The default if the user does not use an author block +\def\@IEEEauthordefaulttextstyle{\normalfont\@IEEEcompsocnotconfonly{\sffamily}\sublargesize} + +% spacing from title (or special paper notice) to author name blocks (confmode) +% can be negative +\def\@IEEEauthorblockconfadjspace{-0.25em} +% compsoc conferences need more space here +\@IEEEcompsocconfonly{\def\@IEEEauthorblockconfadjspace{0.75\@IEEEnormalsizeunitybaselineskip}} + +% spacing between name and affiliation blocks (confmode) +% This can be negative. +% IEEE doesn't want any added spacing here, but I will leave these +% controls in place in case they ever change their mind. +% Personally, I like 0.75ex. +%\def\@IEEEauthorblockNtopspace{0.75ex} +%\def\@IEEEauthorblockAtopspace{0.75ex} +\def\@IEEEauthorblockNtopspace{0.0ex} +\def\@IEEEauthorblockAtopspace{0.0ex} +% baseline spacing within name and affiliation blocks (confmode) +% must be positive, spacings below certain values will make +% the position of line of text sensitive to the contents of the +% line above it i.e., whether or not the prior line has descenders, +% subscripts, etc. For this reason it is a good idea to keep +% these above 2.6ex +\def\@IEEEauthorblockNinterlinespace{2.6ex} +\def\@IEEEauthorblockAinterlinespace{2.75ex} + +% This tracks the required strut size. +% See the \@IEEEauthorhalign command for the actual default value used. +\def\@IEEEauthorblockXinterlinespace{2.7ex} + +% variables to retain font size and style across groups +% values given here have no effect as they will be overwritten later +\gdef\@IEEESAVESTATEfontsize{10} +\gdef\@IEEESAVESTATEfontbaselineskip{12} +\gdef\@IEEESAVESTATEfontencoding{OT1} +\gdef\@IEEESAVESTATEfontfamily{ptm} +\gdef\@IEEESAVESTATEfontseries{m} +\gdef\@IEEESAVESTATEfontshape{n} + +% saves the current font attributes +\def\@IEEEcurfontSAVE{\global\let\@IEEESAVESTATEfontsize\f@size% +\global\let\@IEEESAVESTATEfontbaselineskip\f@baselineskip% +\global\let\@IEEESAVESTATEfontencoding\f@encoding% +\global\let\@IEEESAVESTATEfontfamily\f@family% +\global\let\@IEEESAVESTATEfontseries\f@series% +\global\let\@IEEESAVESTATEfontshape\f@shape} + +% restores the saved font attributes +\def\@IEEEcurfontRESTORE{\fontsize{\@IEEESAVESTATEfontsize}{\@IEEESAVESTATEfontbaselineskip}% +\fontencoding{\@IEEESAVESTATEfontencoding}% +\fontfamily{\@IEEESAVESTATEfontfamily}% +\fontseries{\@IEEESAVESTATEfontseries}% +\fontshape{\@IEEESAVESTATEfontshape}% +\selectfont} + + +% variable to indicate if the current block is the first block in the column +\newif\if@IEEEprevauthorblockincol \@IEEEprevauthorblockincolfalse + + +% the command places a strut with height and depth = \@IEEEauthorblockXinterlinespace +% we use this technique to have complete manual control over the spacing of the lines +% within the halign environment. +% We set the below baseline portion at 30%, the above +% baseline portion at 70% of the total length. +% Responds to changes in the document's \baselinestretch +\def\@IEEEauthorstrutrule{\@IEEEtrantmpdimenA\@IEEEauthorblockXinterlinespace% +\@IEEEtrantmpdimenA=\baselinestretch\@IEEEtrantmpdimenA% +\rule[-0.3\@IEEEtrantmpdimenA]{0pt}{\@IEEEtrantmpdimenA}} + + +% blocks to hold the authors' names and affilations. +% Makes formatting easy for conferences +% +% use real definitions in conference mode +% name block +\def\IEEEauthorblockN#1{\relax\@IEEEauthorblockNstyle% set the default text style +\gdef\@IEEEauthorblockXinterlinespace{0pt}% disable strut for spacer row +% the \expandafter hides the \cr in conditional tex, see the array.sty docs +% for details, probably not needed here as the \cr is in a macro +% do a spacer row if needed +\if@IEEEprevauthorblockincol\expandafter\@IEEEauthorblockNtopspaceline\fi +\global\@IEEEprevauthorblockincoltrue% we now have a block in this column +%restore the correct strut value +\gdef\@IEEEauthorblockXinterlinespace{\@IEEEauthorblockNinterlinespace}% +% input the author names +#1% +% end the row if the user did not already +\crcr} +% spacer row for names +\def\@IEEEauthorblockNtopspaceline{\cr\noalign{\vskip\@IEEEauthorblockNtopspace}} +% +% affiliation block +\def\IEEEauthorblockA#1{\relax\@IEEEauthorblockAstyle% set the default text style +\gdef\@IEEEauthorblockXinterlinespace{0pt}%disable strut for spacer row +% the \expandafter hides the \cr in conditional tex, see the array.sty docs +% for details, probably not needed here as the \cr is in a macro +% do a spacer row if needed +\if@IEEEprevauthorblockincol\expandafter\@IEEEauthorblockAtopspaceline\fi +\global\@IEEEprevauthorblockincoltrue% we now have a block in this column +%restore the correct strut value +\gdef\@IEEEauthorblockXinterlinespace{\@IEEEauthorblockAinterlinespace}% +% input the author affiliations +#1% +% end the row if the user did not already +\crcr} +% spacer row for affiliations +\def\@IEEEauthorblockAtopspaceline{\cr\noalign{\vskip\@IEEEauthorblockAtopspace}} + + +% allow papers to compile even if author blocks are used in modes other +% than conference or peerreviewca. For such cases, we provide dummy blocks. +\ifCLASSOPTIONconference +\else + \ifCLASSOPTIONpeerreviewca\else + % not conference or peerreviewca mode + \def\IEEEauthorblockN#1{#1}% + \def\IEEEauthorblockA#1{#1}% + \fi +\fi + + + +% we provide our own halign so as not to have to depend on tabular +\def\@IEEEauthorhalign{\@IEEEauthordefaulttextstyle% default text style + \lineskip=0pt\relax% disable line spacing + \lineskiplimit=0pt\relax% + \baselineskip=0pt\relax% + \@IEEEcurfontSAVE% save the current font + \mathsurround\z@\relax% no extra spacing around math + \let\\\@IEEEauthorhaligncr% replace newline with halign friendly one + \tabskip=0pt\relax% no column spacing + \everycr{}% ensure no problems here + \@IEEEprevauthorblockincolfalse% no author blocks yet + \def\@IEEEauthorblockXinterlinespace{2.7ex}% default interline space + \vtop\bgroup%vtop box + \halign\bgroup&\relax\hfil\@IEEEcurfontRESTORE\relax ##\relax + \hfil\@IEEEcurfontSAVE\@IEEEauthorstrutrule\cr} + +% ensure last line, exit from halign, close vbox +\def\end@IEEEauthorhalign{\crcr\egroup\egroup} + +% handle bogus star form +\def\@IEEEauthorhaligncr{{\ifnum0=`}\fi\@ifstar{\@@IEEEauthorhaligncr}{\@@IEEEauthorhaligncr}} + +% test and setup the optional argument to \\[] +\def\@@IEEEauthorhaligncr{\@testopt\@@@IEEEauthorhaligncr\z@skip} + +% end the line and do the optional spacer +\def\@@@IEEEauthorhaligncr[#1]{\ifnum0=`{\fi}\cr\noalign{\vskip#1\relax}} + + + +% flag to prevent multiple \and warning messages +\newif\if@IEEEWARNand +\@IEEEWARNandtrue + +% if in conference or peerreviewca modes, we support the use of \and as \author is a +% tabular environment, otherwise we warn the user that \and is invalid +% outside of conference or peerreviewca modes. +\def\and{\relax} % provide a bogus \and that we will then override + +\renewcommand{\and}[1][\relax]{\if@IEEEWARNand\typeout{** WARNING: \noexpand\and is valid only + when in conference or peerreviewca}\typeout{modes (line \the\inputlineno).}\fi\global\@IEEEWARNandfalse} + +\ifCLASSOPTIONconference% +\renewcommand{\and}[1][\hfill]{\end{@IEEEauthorhalign}#1\begin{@IEEEauthorhalign}}% +\fi +\ifCLASSOPTIONpeerreviewca +\renewcommand{\and}[1][\hfill]{\end{@IEEEauthorhalign}#1\begin{@IEEEauthorhalign}}% +\fi + + +% page clearing command +% based on LaTeX2e's \cleardoublepage, but allows different page styles +% for the inserted blank pages +\def\@IEEEcleardoublepage#1{\clearpage\if@twoside\ifodd\c@page\else +\hbox{}\thispagestyle{#1}\newpage\if@twocolumn\hbox{}\thispagestyle{#1}\newpage\fi\fi\fi} + + +% user command to invoke the title page +\def\maketitle{\par% + \begingroup% + \normalfont% + \def\thefootnote{}% the \thanks{} mark type is empty + \def\footnotemark{}% and kill space from \thanks within author + \let\@makefnmark\relax% V1.7, must *really* kill footnotemark to remove all \textsuperscript spacing as well. + \footnotesize% equal spacing between thanks lines + \footnotesep 0.7\baselineskip%see global setting of \footnotesep for more info + % V1.7 disable \thanks note indention for compsoc + \@IEEEcompsoconly{\long\def\@makefntext##1{\parindent 1em\noindent\hbox{\@makefnmark}##1}}% + \normalsize% + \ifCLASSOPTIONpeerreview + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \thispagestyle{IEEEpeerreviewcoverpagestyle}\@thanks% + \else + \if@twocolumn% + \ifCLASSOPTIONtechnote% + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \else + \twocolumn[\@maketitle\@IEEEdynamictitlevspace\@IEEEaftertitletext]% + \fi + \else + \newpage\global\@topnum\z@ \@maketitle\@IEEEstatictitlevskip\@IEEEaftertitletext% + \fi + \thispagestyle{IEEEtitlepagestyle}\@thanks% + \fi + % pullup page for pubid if used. + \if@IEEEusingpubid + \enlargethispage{-\@IEEEpubidpullup}% + \fi + \endgroup + \setcounter{footnote}{0}\let\maketitle\relax\let\@maketitle\relax + \gdef\@thanks{}% + % v1.6b do not clear these as we will need the title again for peer review papers + % \gdef\@author{}\gdef\@title{}% + \let\thanks\relax} + + + +% V1.7 parbox to format \@IEEEcompsoctitleabstractindextext +\long\def\@IEEEcompsoctitleabstractindextextbox#1{\parbox{0.915\textwidth}{#1}} + +% formats the Title, authors names, affiliations and special paper notice +% THIS IS A CONTROLLED SPACING COMMAND! Do not allow blank lines or unintentional +% spaces to enter the definition - use % at the end of each line +\def\@maketitle{\newpage +\begin{center}% +\ifCLASSOPTIONtechnote% technotes + {\bfseries\large\@IEEEcompsoconly{\sffamily}\@title\par}\vskip 1.3em{\lineskip .5em\@IEEEcompsoconly{\sffamily}\@author + \@IEEEspecialpapernotice\par{\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par + \hfill\@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax +\else% not a technote + \vskip0.2em{\Huge\@IEEEcompsoconly{\sffamily}\@IEEEcompsocconfonly{\normalfont\normalsize\vskip 2\@IEEEnormalsizeunitybaselineskip + \bfseries\Large}\@title\par}\vskip1.0em\par% + % V1.6 handle \author differently if in conference mode + \ifCLASSOPTIONconference% + {\@IEEEspecialpapernotice\mbox{}\vskip\@IEEEauthorblockconfadjspace% + \mbox{}\hfill\begin{@IEEEauthorhalign}\@author\end{@IEEEauthorhalign}\hfill\mbox{}\par}\relax + \else% peerreviewca, peerreview or journal + \ifCLASSOPTIONpeerreviewca + % peerreviewca handles author names just like conference mode + {\@IEEEcompsoconly{\sffamily}\@IEEEspecialpapernotice\mbox{}\vskip\@IEEEauthorblockconfadjspace% + \mbox{}\hfill\begin{@IEEEauthorhalign}\@author\end{@IEEEauthorhalign}\hfill\mbox{}\par + {\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par\hfill + \@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax + \else% journal or peerreview + {\lineskip.5em\@IEEEcompsoconly{\sffamily}\sublargesize\@author\@IEEEspecialpapernotice\par + {\@IEEEcompsoconly{\vskip 1.5em\relax + \@IEEEcompsoctitleabstractindextextbox{\@IEEEcompsoctitleabstractindextext}\par\hfill + \@IEEEcompsocdiamondline\hfill\hbox{}\par}}}\relax + \fi + \fi +\fi\end{center}} + + + +% V1.7 Computer Society "diamond line" which follows index terms for nonconference papers +\def\@IEEEcompsocdiamondline{\vrule depth 0pt height 0.5pt width 4cm\hspace{7.5pt}% +\raisebox{-3.5pt}{\fontfamily{pzd}\fontencoding{U}\fontseries{m}\fontshape{n}\fontsize{11}{12}\selectfont\char70}% +\hspace{7.5pt}\vrule depth 0pt height 0.5pt width 4cm\relax} + +% V1.7 standard LateX2e \thanks, but with \itshape under compsoc. Also make it a \long\def +% We also need to trigger the one-shot footnote rule +\def\@IEEEtriggeroneshotfootnoterule{\global\@IEEEenableoneshotfootnoteruletrue} + + +\long\def\thanks#1{\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\footnotetext[\the\c@footnote]{\@IEEEcompsoconly{\itshape + \protect\@IEEEtriggeroneshotfootnoterule\relax}\ignorespaces#1}}} +\let\@thanks\@empty + +% V1.7 allow \author to contain \par's. This is needed to allow \thanks to contain \par. +\long\def\author#1{\gdef\@author{#1}} + + +% in addition to setting up IEEEitemize, we need to remove a baselineskip space above and +% below it because \list's \pars introduce blank lines because of the footnote struts. +\def\@IEEEsetupcompsocitemizelist{\def\labelitemi{$\bullet$}% +\setlength{\IEEElabelindent}{0pt}\setlength{\parskip}{0pt}% +\setlength{\partopsep}{0pt}\setlength{\topsep}{0.5\baselineskip}\vspace{-1\baselineskip}\relax} + + +% flag for fake non-compsoc \IEEEcompsocthanksitem - prevents line break on very first item +\newif\if@IEEEbreakcompsocthanksitem \@IEEEbreakcompsocthanksitemfalse + +\ifCLASSOPTIONcompsoc +% V1.7 compsoc bullet item \thanks +% also, we need to redefine this to destroy the argument in \@IEEEdynamictitlevspace +\long\def\IEEEcompsocitemizethanks#1{\relax\@IEEEbreakcompsocthanksitemfalse\footnotemark + \protected@xdef\@thanks{\@thanks + \protect\footnotetext[\the\c@footnote]{\itshape\protect\@IEEEtriggeroneshotfootnoterule + {\let\IEEEiedlistdecl\relax\protect\begin{IEEEitemize}[\protect\@IEEEsetupcompsocitemizelist]\ignorespaces#1\relax + \protect\end{IEEEitemize}}\protect\vspace{-1\baselineskip}}}} +\DeclareRobustCommand*{\IEEEcompsocthanksitem}{\item} +\else +% non-compsoc, allow for dual compilation via rerouting to normal \thanks +\long\def\IEEEcompsocitemizethanks#1{\thanks{#1}} +% redirect to "pseudo-par" \hfil\break\indent after swallowing [] from \IEEEcompsocthanksitem[] +\DeclareRobustCommand{\IEEEcompsocthanksitem}{\@ifnextchar [{\@IEEEthanksswallowoptionalarg}% +{\@IEEEthanksswallowoptionalarg[\relax]}} +% be sure and break only after first item, be sure and ignore spaces after optional argument +\def\@IEEEthanksswallowoptionalarg[#1]{\relax\if@IEEEbreakcompsocthanksitem\hfil\break +\indent\fi\@IEEEbreakcompsocthanksitemtrue\ignorespaces} +\fi + + +% V1.6b define the \IEEEpeerreviewmaketitle as needed +\ifCLASSOPTIONpeerreview +\def\IEEEpeerreviewmaketitle{\@IEEEcleardoublepage{empty}% +\ifCLASSOPTIONtwocolumn +\twocolumn[\@IEEEpeerreviewmaketitle\@IEEEdynamictitlevspace] +\else +\newpage\@IEEEpeerreviewmaketitle\@IEEEstatictitlevskip +\fi +\thispagestyle{IEEEtitlepagestyle}} +\else +% \IEEEpeerreviewmaketitle does nothing if peer review option has not been selected +\def\IEEEpeerreviewmaketitle{\relax} +\fi + +% peerreview formats the repeated title like the title in journal papers. +\def\@IEEEpeerreviewmaketitle{\begin{center}\@IEEEcompsoconly{\sffamily}% +\normalfont\normalsize\vskip0.2em{\Huge\@title\par}\vskip1.0em\par +\end{center}} + + + +% V1.6 +% this is a static rubber spacer between the title/authors and the main text +% used for single column text, or when the title appears in the first column +% of two column text (technotes). +\def\@IEEEstatictitlevskip{{\normalfont\normalsize +% adjust spacing to next text +% v1.6b handle peer review papers +\ifCLASSOPTIONpeerreview +% for peer review papers, the same value is used for both title pages +% regardless of the other paper modes + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip +\else + \ifCLASSOPTIONconference% conference + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip% + \else% + \ifCLASSOPTIONtechnote% technote + \vskip 1\baselineskip plus 0.375\baselineskip minus 0.1875\baselineskip% + \else% journal uses more space + \vskip 2.5\baselineskip plus 0.75\baselineskip minus 0.375\baselineskip% + \fi + \fi +\fi}} + + +% V1.6 +% This is a dynamically determined rigid spacer between the title/authors +% and the main text. This is used only for single column titles over two +% column text (most common) +% This is bit tricky because we have to ensure that the textheight of the +% main text is an integer multiple of \baselineskip +% otherwise underfull vbox problems may develop in the second column of the +% text on the titlepage +% The possible use of \IEEEpubid must also be taken into account. +\def\@IEEEdynamictitlevspace{{% + % we run within a group so that all the macros can be forgotten when we are done + \long\def\thanks##1{\relax}%don't allow \thanks to run when we evaluate the vbox height + \long\def\IEEEcompsocitemizethanks##1{\relax}%don't allow \IEEEcompsocitemizethanks to run when we evaluate the vbox height + \normalfont\normalsize% we declare more descriptive variable names + \let\@IEEEmaintextheight=\@IEEEtrantmpdimenA%height of the main text columns + \let\@IEEEINTmaintextheight=\@IEEEtrantmpdimenB%height of the main text columns with integer # lines + % set the nominal and minimum values for the title spacer + % the dynamic algorithm will not allow the spacer size to + % become less than \@IEEEMINtitlevspace - instead it will be + % lengthened + % default to journal values + \def\@IEEENORMtitlevspace{2.5\baselineskip}% + \def\@IEEEMINtitlevspace{2\baselineskip}% + % conferences and technotes need tighter spacing + \ifCLASSOPTIONconference%conference + \def\@IEEENORMtitlevspace{1\baselineskip}% + \def\@IEEEMINtitlevspace{0.75\baselineskip}% + \fi + \ifCLASSOPTIONtechnote%technote + \def\@IEEENORMtitlevspace{1\baselineskip}% + \def\@IEEEMINtitlevspace{0.75\baselineskip}% + \fi% + % get the height that the title will take up + \ifCLASSOPTIONpeerreview + \settoheight{\@IEEEmaintextheight}{\vbox{\hsize\textwidth \@IEEEpeerreviewmaketitle}}% + \else + \settoheight{\@IEEEmaintextheight}{\vbox{\hsize\textwidth \@maketitle}}% + \fi + \@IEEEmaintextheight=-\@IEEEmaintextheight% title takes away from maintext, so reverse sign + % add the height of the page textheight + \advance\@IEEEmaintextheight by \textheight% + % correct for title pages using pubid + \ifCLASSOPTIONpeerreview\else + % peerreview papers use the pubid on the cover page only. + % And the cover page uses a static spacer. + \if@IEEEusingpubid\advance\@IEEEmaintextheight by -\@IEEEpubidpullup\fi + \fi% + % subtract off the nominal value of the title bottom spacer + \advance\@IEEEmaintextheight by -\@IEEENORMtitlevspace% + % \topskip takes away some too + \advance\@IEEEmaintextheight by -\topskip% + % calculate the column height of the main text for lines + % now we calculate the main text height as if holding + % an integer number of \normalsize lines after the first + % and discard any excess fractional remainder + % we subtracted the first line, because the first line + % is placed \topskip into the maintext, not \baselineskip like the + % rest of the lines. + \@IEEEINTmaintextheight=\@IEEEmaintextheight% + \divide\@IEEEINTmaintextheight by \baselineskip% + \multiply\@IEEEINTmaintextheight by \baselineskip% + % now we calculate how much the title spacer height will + % have to be reduced from nominal (\@IEEEREDUCEmaintextheight is always + % a positive value) so that the maintext area will contain an integer + % number of normal size lines + % we change variable names here (to avoid confusion) as we no longer + % need \@IEEEINTmaintextheight and can reuse its dimen register + \let\@IEEEREDUCEmaintextheight=\@IEEEINTmaintextheight% + \advance\@IEEEREDUCEmaintextheight by -\@IEEEmaintextheight% + \advance\@IEEEREDUCEmaintextheight by \baselineskip% + % this is the calculated height of the spacer + % we change variable names here (to avoid confusion) as we no longer + % need \@IEEEmaintextheight and can reuse its dimen register + \let\@IEEECOMPENSATElen=\@IEEEmaintextheight% + \@IEEECOMPENSATElen=\@IEEENORMtitlevspace% set the nominal value + % we go with the reduced length if it is smaller than an increase + \ifdim\@IEEEREDUCEmaintextheight < 0.5\baselineskip\relax% + \advance\@IEEECOMPENSATElen by -\@IEEEREDUCEmaintextheight% + % if the resulting spacer is too small back out and go with an increase instead + \ifdim\@IEEECOMPENSATElen<\@IEEEMINtitlevspace\relax% + \advance\@IEEECOMPENSATElen by \baselineskip% + \fi% + \else% + % go with an increase because it is closer to the nominal than a decrease + \advance\@IEEECOMPENSATElen by -\@IEEEREDUCEmaintextheight% + \advance\@IEEECOMPENSATElen by \baselineskip% + \fi% + % set the calculated rigid spacer + \vspace{\@IEEECOMPENSATElen}}} + + + +% V1.6 +% we allow the user access to the last part of the title area +% useful in emergencies such as when a different spacing is needed +% This text is NOT compensated for in the dynamic sizer. +\let\@IEEEaftertitletext=\relax +\long\def\IEEEaftertitletext#1{\def\@IEEEaftertitletext{#1}} + +% V1.7 provide a way for users to enter abstract and keywords +% into the onecolumn title are. This text is compensated for +% in the dynamic sizer. +\let\@IEEEcompsoctitleabstractindextext=\relax +\long\def\IEEEcompsoctitleabstractindextext#1{\def\@IEEEcompsoctitleabstractindextext{#1}} +% V1.7 provide a way for users to get the \@IEEEcompsoctitleabstractindextext if +% not in compsoc journal mode - this way abstract and keywords can be placed +% in their conventional position if not in compsoc mode. +\def\IEEEdisplaynotcompsoctitleabstractindextext{% +\ifCLASSOPTIONcompsoc% display if compsoc conf +\ifCLASSOPTIONconference\@IEEEcompsoctitleabstractindextext\fi +\else% or if not compsoc +\@IEEEcompsoctitleabstractindextext\fi} + + +% command to allow alteration of baselinestretch, but only if the current +% baselineskip is unity. Used to tweak the compsoc abstract and keywords line spacing. +\def\@IEEEtweakunitybaselinestretch#1{{\def\baselinestretch{1}\selectfont +\global\@tempskipa\baselineskip}\ifnum\@tempskipa=\baselineskip% +\def\baselinestretch{#1}\selectfont\fi\relax} + + +% abstract and keywords are in \small, except +% for 9pt docs in which they are in \footnotesize +% Because 9pt docs use an 8pt footnotesize, \small +% becomes a rather awkward 8.5pt +\def\@IEEEabskeysecsize{\small} +\ifx\CLASSOPTIONpt\@IEEEptsizenine + \def\@IEEEabskeysecsize{\footnotesize} +\fi + +% compsoc journals use \footnotesize, compsoc conferences use normalsize +\@IEEEcompsoconly{\def\@IEEEabskeysecsize{\footnotesize}} +\@IEEEcompsocconfonly{\def\@IEEEabskeysecsize{\normalsize}} + + + + +% V1.6 have abstract and keywords strip leading spaces, pars and newlines +% so that spacing is more tightly controlled. +\def\abstract{\normalfont + \if@twocolumn + \@IEEEabskeysecsize\bfseries\textit{\abstractname}---\relax + \else + \begin{center}\vspace{-1.78ex}\@IEEEabskeysecsize\textbf{\abstractname}\end{center}\quotation\@IEEEabskeysecsize + \fi\@IEEEgobbleleadPARNLSP} +% V1.6 IEEE wants only 1 pica from end of abstract to introduction heading when in +% conference mode (the heading already has this much above it) +\def\endabstract{\relax\ifCLASSOPTIONconference\vspace{0ex}\else\vspace{1.34ex}\fi\par\if@twocolumn\else\endquotation\fi + \normalfont\normalsize} + +\def\IEEEkeywords{\normalfont + \if@twocolumn + \@IEEEabskeysecsize\bfseries\textit{\IEEEkeywordsname}---\relax + \else + \begin{center}\@IEEEabskeysecsize\textbf{\IEEEkeywordsname}\end{center}\quotation\@IEEEabskeysecsize + \fi\@IEEEgobbleleadPARNLSP} +\def\endIEEEkeywords{\relax\ifCLASSOPTIONtechnote\vspace{1.34ex}\else\vspace{0.67ex}\fi + \par\if@twocolumn\else\endquotation\fi% + \normalfont\normalsize} + +% V1.7 compsoc keywords index terms +\ifCLASSOPTIONcompsoc + \ifCLASSOPTIONconference% compsoc conference +\def\abstract{\normalfont + \begin{center}\@IEEEabskeysecsize\textbf{\large\abstractname}\end{center}\vskip 0.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip + \if@twocolumn\else\quotation\fi\itshape\@IEEEabskeysecsize% + \par\@IEEEgobbleleadPARNLSP} +\def\IEEEkeywords{\normalfont\vskip 1.5\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip + \begin{center}\@IEEEabskeysecsize\textbf{\large\IEEEkeywordsname}\end{center}\vskip 0.5\baselineskip plus 0.1\baselineskip minus 0.1\baselineskip + \if@twocolumn\else\quotation\fi\itshape\@IEEEabskeysecsize% + \par\@IEEEgobbleleadPARNLSP} + \else% compsoc not conference +\def\abstract{\normalfont\@IEEEtweakunitybaselinestretch{1.15}\sffamily + \if@twocolumn + \@IEEEabskeysecsize\noindent\textbf{\abstractname}---\relax + \else + \begin{center}\vspace{-1.78ex}\@IEEEabskeysecsize\textbf{\abstractname}\end{center}\quotation\@IEEEabskeysecsize% + \fi\@IEEEgobbleleadPARNLSP} +\def\IEEEkeywords{\normalfont\@IEEEtweakunitybaselinestretch{1.15}\sffamily + \if@twocolumn + \@IEEEabskeysecsize\vskip 0.5\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip\noindent + \textbf{\IEEEkeywordsname}---\relax + \else + \begin{center}\@IEEEabskeysecsize\textbf{\IEEEkeywordsname}\end{center}\quotation\@IEEEabskeysecsize% + \fi\@IEEEgobbleleadPARNLSP} + \fi +\fi + + + +% gobbles all leading \, \\ and \par, upon finding first token that +% is not a \ , \\ or a \par, it ceases and returns that token +% +% used to strip leading \, \\ and \par from the input +% so that such things in the beginning of an environment will not +% affect the formatting of the text +\long\def\@IEEEgobbleleadPARNLSP#1{\let\@IEEEswallowthistoken=0% +\let\@IEEEgobbleleadPARNLSPtoken#1% +\let\@IEEEgobbleleadPARtoken=\par% +\let\@IEEEgobbleleadNLtoken=\\% +\let\@IEEEgobbleleadSPtoken=\ % +\def\@IEEEgobbleleadSPMACRO{\ }% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadPARtoken% +\let\@IEEEswallowthistoken=1% +\fi% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadNLtoken% +\let\@IEEEswallowthistoken=1% +\fi% +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadSPtoken% +\let\@IEEEswallowthistoken=1% +\fi% +% a control space will come in as a macro +% when it is the last one on a line +\ifx\@IEEEgobbleleadPARNLSPtoken\@IEEEgobbleleadSPMACRO% +\let\@IEEEswallowthistoken=1% +\fi% +% if we have to swallow this token, do so and taste the next one +% else spit it out and stop gobbling +\ifx\@IEEEswallowthistoken 1\let\@IEEEnextgobbleleadPARNLSP=\@IEEEgobbleleadPARNLSP\else% +\let\@IEEEnextgobbleleadPARNLSP=#1\fi% +\@IEEEnextgobbleleadPARNLSP}% + + + + +% TITLING OF SECTIONS +\def\@IEEEsectpunct{:\ \,} % Punctuation after run-in section heading (headings which are + % part of the paragraphs), need little bit more than a single space + % spacing from section number to title +% compsoc conferences use regular period/space punctuation +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference +\def\@IEEEsectpunct{.\ } +\fi\fi + + +\def\@seccntformat#1{\csname the#1dis\endcsname\hskip 0.5em\relax} + +\ifCLASSOPTIONcompsoc +% compsoc journals need extra spacing +\ifCLASSOPTIONconference\else +\def\@seccntformat#1{\csname the#1dis\endcsname\hskip 1em\relax} +\fi\fi + +%v1.7 put {} after #6 to allow for some types of user font control +%and use \@@par rather than \par +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + % load section label and spacer into \@svsec + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi% + \@tempskipa #5\relax + \ifdim \@tempskipa>\z@% tempskipa determines whether is treated as a high + \begingroup #6{\relax% or low level heading + \noindent % subsections are NOT indented + % print top level headings. \@svsec is label, #8 is heading title + % IEEE does not block indent the section title text, it flows like normal + {\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\@@par}}% + \endgroup + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth\relax\else + \protect\numberline{\csname the#1\endcsname}\fi#7}% + \else % printout low level headings + % svsechd seems to swallow the trailing space, protect it with \mbox{} + % got rid of sectionmark stuff + \def\@svsechd{#6{\hskip #3\relax\@svsec #8\@IEEEsectpunct\mbox{}}% + \addcontentsline{toc}{#1}{\ifnum #2>\c@secnumdepth\relax\else + \protect\numberline{\csname the#1\endcsname}\fi#7}}% + \fi%skip down + \@xsect{#5}} + + +% section* handler +%v1.7 put {} after #4 to allow for some types of user font control +%and use \@@par rather than \par +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa>\z@ + %\begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M #5\par}\endgroup + % IEEE does not block indent the section title text, it flows like normal + \begingroup \noindent #4{\relax{\hskip #1}{\interlinepenalty \@M #5\@@par}}\endgroup + % svsechd swallows the trailing space, protect it with \mbox{} + \else \def\@svsechd{#4{\hskip #1\relax #5\@IEEEsectpunct\mbox{}}}\fi + \@xsect{#3}} + + +%% SECTION heading spacing and font +%% +% arguments are: #1 - sectiontype name +% (for \@sect) #2 - section level +% #3 - section heading indent +% #4 - top separation (absolute value used, neg indicates not to indent main text) +% If negative, make stretch parts negative too! +% #5 - (absolute value used) positive: bottom separation after heading, +% negative: amount to indent main text after heading +% Both #4 and #5 negative means to indent main text and use negative top separation +% #6 - font control +% You've got to have \normalfont\normalsize in the font specs below to prevent +% trouble when you do something like: +% \section{Note}{\ttfamily TT-TEXT} is known to ... +% IEEE sometimes REALLY stretches the area before a section +% heading by up to about 0.5in. However, it may not be a good +% idea to let LaTeX have quite this much rubber. +\ifCLASSOPTIONconference% +% IEEE wants section heading spacing to decrease for conference mode +\def\section{\@startsection{section}{1}{\z@}{1.5ex plus 1.5ex minus 0.5ex}% +{0.7ex plus 1ex minus 0ex}{\normalfont\normalsize\centering\scshape}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{1.5ex plus 1.5ex minus 0.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\itshape}}% +\else % for journals +\def\section{\@startsection{section}{1}{\z@}{3.0ex plus 1.5ex minus 1.5ex}% V1.6 3.0ex from 3.5ex +{0.7ex plus 1ex minus 0ex}{\normalfont\normalsize\centering\scshape}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{3.5ex plus 1.5ex minus 1.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\itshape}}% +\fi + +% for both journals and conferences +% decided to put in a little rubber above the section, might help somebody +\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize\itshape}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize\itshape}}% + + +% compsoc +\ifCLASSOPTIONcompsoc +\ifCLASSOPTIONconference +% compsoc conference +\def\section{\@startsection{section}{1}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}{\normalfont\large\bfseries}}% +\def\subsection{\@startsection{subsection}{2}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}{\normalfont\sublargesize\bfseries}}% +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{1\baselineskip plus 0.25\baselineskip minus 0.25\baselineskip}% +{0ex}{\normalfont\normalsize\bfseries}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{0ex plus 0.1ex minus 0.1ex}% +{0ex}{\normalfont\normalsize}}% +\else% compsoc journals +% use negative top separation as compsoc journals do not indent paragraphs after section titles +\def\section{\@startsection{section}{1}{\z@}{-3ex plus -2ex minus -1.5ex}% +{0.7ex plus 1ex minus 0ex}{\normalfont\large\sffamily\bfseries\scshape}}% +% Note that subsection and smaller may not be correct for the Computer Society, +% I have to look up an example. +\def\subsection{\@startsection{subsection}{2}{\z@}{-3.5ex plus -1.5ex minus -1.5ex}% +{0.7ex plus .5ex minus 0ex}{\normalfont\normalsize\sffamily\bfseries}}% +\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-2.5ex plus -1ex minus -1ex}% +{0.5ex plus 0.5ex minus 0ex}{\normalfont\normalsize\sffamily\itshape}}% +\def\paragraph{\@startsection{paragraph}{4}{2\parindent}{-0ex plus -0.1ex minus -0.1ex}% +{0ex}{\normalfont\normalsize}}% +\fi\fi + + + + +%% ENVIRONMENTS +% "box" symbols at end of proofs +\def\IEEEQEDclosed{\mbox{\rule[0pt]{1.3ex}{1.3ex}}} % for a filled box +% V1.6 some journals use an open box instead that will just fit around a closed one +\def\IEEEQEDopen{{\setlength{\fboxsep}{0pt}\setlength{\fboxrule}{0.2pt}\fbox{\rule[0pt]{0pt}{1.3ex}\rule[0pt]{1.3ex}{0pt}}}} +\ifCLASSOPTIONcompsoc +\def\IEEEQED{\IEEEQEDopen} % default to open for compsoc +\else +\def\IEEEQED{\IEEEQEDclosed} % otherwise default to closed +\fi + +% v1.7 name change to avoid namespace collision with amsthm. Also add support +% for an optional argument. +\def\IEEEproof{\@ifnextchar[{\@IEEEproof}{\@IEEEproof[\IEEEproofname]}} +\def\@IEEEproof[#1]{\par\noindent\hspace{2em}{\itshape #1: }} +\def\endIEEEproof{\hspace*{\fill}~\IEEEQED\par} + + +%\itemindent is set to \z@ by list, so define new temporary variable +\newdimen\@IEEEtmpitemindent +\def\@begintheorem#1#2{\@IEEEtmpitemindent\itemindent\topsep 0pt\rmfamily\trivlist% + \item[\hskip \labelsep{\indent\itshape #1\ #2:}]\itemindent\@IEEEtmpitemindent} +\def\@opargbegintheorem#1#2#3{\@IEEEtmpitemindent\itemindent\topsep 0pt\rmfamily \trivlist% +% V1.6 IEEE is back to using () around theorem names which are also in italics +% Thanks to Christian Peel for reporting this. + \item[\hskip\labelsep{\indent\itshape #1\ #2\ (#3):}]\itemindent\@IEEEtmpitemindent} +% V1.7 remove bogus \unskip that caused equations in theorems to collide with +% lines below. +\def\@endtheorem{\endtrivlist} + +% V1.6 +% display command for the section the theorem is in - so that \thesection +% is not used as this will be in Roman numerals when we want arabic. +% LaTeX2e uses \def\@thmcounter#1{\noexpand\arabic{#1}} for the theorem number +% (second part) display and \def\@thmcountersep{.} as a separator. +% V1.7 intercept calls to the section counter and reroute to \@IEEEthmcounterinsection +% to allow \appendix(ices} to override as needed. +% +% special handler for sections, allows appendix(ices) to override +\gdef\@IEEEthmcounterinsection#1{\arabic{#1}} +% string macro +\edef\@IEEEstringsection{section} + +% redefine the #1#2[#3] form of newtheorem to use a hook to \@IEEEthmcounterinsection +% if section in_counter is used +\def\@xnthm#1#2[#3]{% + \expandafter\@ifdefinable\csname #1\endcsname + {\@definecounter{#1}\@newctr{#1}[#3]% + \edef\@IEEEstringtmp{#3} + \ifx\@IEEEstringtmp\@IEEEstringsection + \expandafter\xdef\csname the#1\endcsname{% + \noexpand\@IEEEthmcounterinsection{#3}\@thmcountersep + \@thmcounter{#1}}% + \else + \expandafter\xdef\csname the#1\endcsname{% + \expandafter\noexpand\csname the#3\endcsname \@thmcountersep + \@thmcounter{#1}}% + \fi + \global\@namedef{#1}{\@thm{#1}{#2}}% + \global\@namedef{end#1}{\@endtheorem}}} + + + +%% SET UP THE DEFAULT PAGESTYLE +\ps@headings +\pagenumbering{arabic} + +% normally the page counter starts at 1 +\setcounter{page}{1} +% however, for peerreview the cover sheet is page 0 or page -1 +% (for duplex printing) +\ifCLASSOPTIONpeerreview + \if@twoside + \setcounter{page}{-1} + \else + \setcounter{page}{0} + \fi +\fi + +% standard book class behavior - let bottom line float up and down as +% needed when single sided +\ifCLASSOPTIONtwoside\else\raggedbottom\fi +% if two column - turn on twocolumn, allow word spacings to stretch more and +% enforce a rigid position for the last lines +\ifCLASSOPTIONtwocolumn +% the peer review option delays invoking twocolumn + \ifCLASSOPTIONpeerreview\else + \twocolumn + \fi +\sloppy +\flushbottom +\fi + + + + +% \APPENDIX and \APPENDICES definitions + +% This is the \@ifmtarg command from the LaTeX ifmtarg package +% by Peter Wilson (CUA) and Donald Arseneau +% \@ifmtarg is used to determine if an argument to a command +% is present or not. +% For instance: +% \@ifmtarg{#1}{\typeout{empty}}{\typeout{has something}} +% \@ifmtarg is used with our redefined \section command if +% \appendices is invoked. +% The command \section will behave slightly differently depending +% on whether the user specifies a title: +% \section{My appendix title} +% or not: +% \section{} +% This way, we can eliminate the blank lines where the title +% would be, and the unneeded : after Appendix in the table of +% contents +\begingroup +\catcode`\Q=3 +\long\gdef\@ifmtarg#1{\@xifmtarg#1QQ\@secondoftwo\@firstoftwo\@nil} +\long\gdef\@xifmtarg#1#2Q#3#4#5\@nil{#4} +\endgroup +% end of \@ifmtarg defs + + +% V1.7 +% command that allows the one time saving of the original definition +% of section to \@IEEEappendixsavesection for \appendix or \appendices +% we don't save \section here as it may be redefined later by other +% packages (hyperref.sty, etc.) +\def\@IEEEsaveoriginalsectiononce{\let\@IEEEappendixsavesection\section +\let\@IEEEsaveoriginalsectiononce\relax} + +% neat trick to grab and process the argument from \section{argument} +% we process differently if the user invoked \section{} with no +% argument (title) +% note we reroute the call to the old \section* +\def\@IEEEprocessthesectionargument#1{% +\@ifmtarg{#1}{% +\@IEEEappendixsavesection*{\appendixname~\thesectiondis}% +\addcontentsline{toc}{section}{\appendixname~\thesection}}{% +\@IEEEappendixsavesection*{\appendixname~\thesectiondis \\* #1}% +\addcontentsline{toc}{section}{\appendixname~\thesection: #1}}} + +% we use this if the user calls \section{} after +% \appendix-- which has no meaning. So, we ignore the +% command and its argument. Then, warn the user. +\def\@IEEEdestroythesectionargument#1{\typeout{** WARNING: Ignoring useless +\protect\section\space in Appendix (line \the\inputlineno).}} + + +% remember \thesection forms will be displayed in \ref calls +% and in the Table of Contents. +% The \sectiondis form is used in the actual heading itself + +% appendix command for one single appendix +% normally has no heading. However, if you want a +% heading, you can do so via the optional argument: +% \appendix[Optional Heading] +\def\appendix{\relax} +\renewcommand{\appendix}[1][]{\@IEEEsaveoriginalsectiononce\par + % v1.6 keep hyperref's identifiers unique + \gdef\theHsection{Appendix.A}% + % v1.6 adjust hyperref's string name for the section + \xdef\Hy@chapapp{appendix}% + \setcounter{section}{0}% + \setcounter{subsection}{0}% + \setcounter{subsubsection}{0}% + \setcounter{paragraph}{0}% + \gdef\thesection{A}% + \gdef\thesectiondis{}% + \gdef\thesubsection{\Alph{subsection}}% + \gdef\@IEEEthmcounterinsection##1{A} + \refstepcounter{section}% update the \ref counter + \@ifmtarg{#1}{\@IEEEappendixsavesection*{\appendixname}% + \addcontentsline{toc}{section}{\appendixname}}{% + \@IEEEappendixsavesection*{\appendixname~\\* #1}% + \addcontentsline{toc}{section}{\appendixname: #1}}% + % redefine \section command for appendix + % leave \section* as is + \def\section{\@ifstar{\@IEEEappendixsavesection*}{% + \@IEEEdestroythesectionargument}}% throw out the argument + % of the normal form +} + + + +% appendices command for multiple appendices +% user then calls \section with an argument (possibly empty) to +% declare the individual appendices +\def\appendices{\@IEEEsaveoriginalsectiononce\par + % v1.6 keep hyperref's identifiers unique + \gdef\theHsection{Appendix.\Alph{section}}% + % v1.6 adjust hyperref's string name for the section + \xdef\Hy@chapapp{appendix}% + \setcounter{section}{-1}% we want \refstepcounter to use section 0 + \setcounter{subsection}{0}% + \setcounter{subsubsection}{0}% + \setcounter{paragraph}{0}% + \ifCLASSOPTIONromanappendices% + \gdef\thesection{\Roman{section}}% + \gdef\thesectiondis{\Roman{section}}% + \@IEEEcompsocconfonly{\gdef\thesectiondis{\Roman{section}.}}% + \gdef\@IEEEthmcounterinsection##1{A\arabic{##1}} + \else% + \gdef\thesection{\Alph{section}}% + \gdef\thesectiondis{\Alph{section}}% + \@IEEEcompsocconfonly{\gdef\thesectiondis{\Alph{section}.}}% + \gdef\@IEEEthmcounterinsection##1{\Alph{##1}} + \fi% + \refstepcounter{section}% update the \ref counter + \setcounter{section}{0}% NEXT \section will be the FIRST appendix + % redefine \section command for appendices + % leave \section* as is + \def\section{\@ifstar{\@IEEEappendixsavesection*}{% process the *-form + \refstepcounter{section}% or is a new section so, + \@IEEEprocessthesectionargument}}% process the argument + % of the normal form +} + + + +% \IEEEPARstart +% Definition for the big two line drop cap letter at the beginning of the +% first paragraph of journal papers. The first argument is the first letter +% of the first word, the second argument is the remaining letters of the +% first word which will be rendered in upper case. +% In V1.6 this has been completely rewritten to: +% +% 1. no longer have problems when the user begins an environment +% within the paragraph that uses \IEEEPARstart. +% 2. auto-detect and use the current font family +% 3. revise handling of the space at the end of the first word so that +% interword glue will now work as normal. +% 4. produce correctly aligned edges for the (two) indented lines. +% +% We generalize things via control macros - playing with these is fun too. +% +% V1.7 added more control macros to make it easy for IEEEtrantools.sty users +% to change the font style. +% +% the number of lines that are indented to clear it +% may need to increase if using decenders +\def\@IEEEPARstartDROPLINES{2} +% minimum number of lines left on a page to allow a \@IEEEPARstart +% Does not take into consideration rubber shrink, so it tends to +% be overly cautious +\def\@IEEEPARstartMINPAGELINES{2} +% V1.7 the height of the drop cap is adjusted to match the height of this text +% in the current font (when \IEEEPARstart is called). +\def\@IEEEPARstartHEIGHTTEXT{T} +% the depth the letter is lowered below the baseline +% the height (and size) of the letter is determined by the sum +% of this value and the height of the \@IEEEPARstartHEIGHTTEXT in the current +% font. It is a good idea to set this value in terms of the baselineskip +% so that it can respond to changes therein. +\def\@IEEEPARstartDROPDEPTH{1.1\baselineskip} +% V1.7 the font the drop cap will be rendered in, +% can take zero or one argument. +\def\@IEEEPARstartFONTSTYLE{\bfseries} +% V1.7 any additional, non-font related commands needed to modify +% the drop cap letter, can take zero or one argument. +\def\@IEEEPARstartCAPSTYLE{\MakeUppercase} +% V1.7 the font that will be used to render the rest of the word, +% can take zero or one argument. +\def\@IEEEPARstartWORDFONTSTYLE{\relax} +% V1.7 any additional, non-font related commands needed to modify +% the rest of the word, can take zero or one argument. +\def\@IEEEPARstartWORDCAPSTYLE{\MakeUppercase} +% This is the horizontal separation distance from the drop letter to the main text. +% Lengths that depend on the font (e.g., ex, em, etc.) will be referenced +% to the font that is active when \IEEEPARstart is called. +\def\@IEEEPARstartSEP{0.15em} +% V1.7 horizontal offset applied to the left of the drop cap. +\def\@IEEEPARstartHOFFSET{0em} +% V1.7 Italic correction command applied at the end of the drop cap. +\def\@IEEEPARstartITLCORRECT{\/} + +% V1.7 compoc uses nonbold drop cap and small caps word style +\ifCLASSOPTIONcompsoc +\def\@IEEEPARstartFONTSTYLE{\mdseries} +\def\@IEEEPARstartWORDFONTSTYLE{\scshape} +\def\@IEEEPARstartWORDCAPSTYLE{\relax} +\fi + +% definition of \IEEEPARstart +% THIS IS A CONTROLLED SPACING AREA, DO NOT ALLOW SPACES WITHIN THESE LINES +% +% The token \@IEEEPARstartfont will be globally defined after the first use +% of \IEEEPARstart and will be a font command which creates the big letter +% The first argument is the first letter of the first word and the second +% argument is the rest of the first word(s). +\def\IEEEPARstart#1#2{\par{% +% if this page does not have enough space, break it and lets start +% on a new one +\@IEEEtranneedspace{\@IEEEPARstartMINPAGELINES\baselineskip}{\relax}% +% V1.7 move this up here in case user uses \textbf for \@IEEEPARstartFONTSTYLE +% which uses command \leavevmode which causes an unwanted \indent to be issued +\noindent +% calculate the desired height of the big letter +% it extends from the top of \@IEEEPARstartHEIGHTTEXT in the current font +% down to \@IEEEPARstartDROPDEPTH below the current baseline +\settoheight{\@IEEEtrantmpdimenA}{\@IEEEPARstartHEIGHTTEXT}% +\addtolength{\@IEEEtrantmpdimenA}{\@IEEEPARstartDROPDEPTH}% +% extract the name of the current font in bold +% and place it in \@IEEEPARstartFONTNAME +\def\@IEEEPARstartGETFIRSTWORD##1 ##2\relax{##1}% +{\@IEEEPARstartFONTSTYLE{\selectfont\edef\@IEEEPARstartFONTNAMESPACE{\fontname\font\space}% +\xdef\@IEEEPARstartFONTNAME{\expandafter\@IEEEPARstartGETFIRSTWORD\@IEEEPARstartFONTNAMESPACE\relax}}}% +% define a font based on this name with a point size equal to the desired +% height of the drop letter +\font\@IEEEPARstartsubfont\@IEEEPARstartFONTNAME\space at \@IEEEtrantmpdimenA\relax% +% save this value as a counter (integer) value (sp points) +\@IEEEtrantmpcountA=\@IEEEtrantmpdimenA% +% now get the height of the actual letter produced by this font size +\settoheight{\@IEEEtrantmpdimenB}{\@IEEEPARstartsubfont\@IEEEPARstartCAPSTYLE{#1}}% +% If something bogus happens like the first argument is empty or the +% current font is strange, do not allow a zero height. +\ifdim\@IEEEtrantmpdimenB=0pt\relax% +\typeout{** WARNING: IEEEPARstart drop letter has zero height! (line \the\inputlineno)}% +\typeout{ Forcing the drop letter font size to 10pt.}% +\@IEEEtrantmpdimenB=10pt% +\fi% +% and store it as a counter +\@IEEEtrantmpcountB=\@IEEEtrantmpdimenB% +% Since a font size doesn't exactly correspond to the height of the capital +% letters in that font, the actual height of the letter, \@IEEEtrantmpcountB, +% will be less than that desired, \@IEEEtrantmpcountA +% we need to raise the font size, \@IEEEtrantmpdimenA +% by \@IEEEtrantmpcountA / \@IEEEtrantmpcountB +% But, TeX doesn't have floating point division, so we have to use integer +% division. Hence the use of the counters. +% We need to reduce the denominator so that the loss of the remainder will +% have minimal affect on the accuracy of the result +\divide\@IEEEtrantmpcountB by 200% +\divide\@IEEEtrantmpcountA by \@IEEEtrantmpcountB% +% Then reequalize things when we use TeX's ability to multiply by +% floating point values +\@IEEEtrantmpdimenB=0.005\@IEEEtrantmpdimenA% +\multiply\@IEEEtrantmpdimenB by \@IEEEtrantmpcountA% +% \@IEEEPARstartfont is globaly set to the calculated font of the big letter +% We need to carry this out of the local calculation area to to create the +% big letter. +\global\font\@IEEEPARstartfont\@IEEEPARstartFONTNAME\space at \@IEEEtrantmpdimenB% +% Now set \@IEEEtrantmpdimenA to the width of the big letter +% We need to carry this out of the local calculation area to set the +% hanging indent +\settowidth{\global\@IEEEtrantmpdimenA}{\@IEEEPARstartfont +\@IEEEPARstartCAPSTYLE{#1\@IEEEPARstartITLCORRECT}}}% +% end of the isolated calculation environment +% add in the extra clearance we want +\advance\@IEEEtrantmpdimenA by \@IEEEPARstartSEP\relax% +% add in the optional offset +\advance\@IEEEtrantmpdimenA by \@IEEEPARstartHOFFSET\relax% +% V1.7 don't allow negative offsets to produce negative hanging indents +\@IEEEtrantmpdimenB\@IEEEtrantmpdimenA +\ifnum\@IEEEtrantmpdimenB < 0 \@IEEEtrantmpdimenB 0pt\fi +% \@IEEEtrantmpdimenA has the width of the big letter plus the +% separation space and \@IEEEPARstartfont is the font we need to use +% Now, we make the letter and issue the hanging indent command +% The letter is placed in a box of zero width and height so that other +% text won't be displaced by it. +\hangindent\@IEEEtrantmpdimenB\hangafter=-\@IEEEPARstartDROPLINES% +\makebox[0pt][l]{\hspace{-\@IEEEtrantmpdimenA}% +\raisebox{-\@IEEEPARstartDROPDEPTH}[0pt][0pt]{\hspace{\@IEEEPARstartHOFFSET}% +\@IEEEPARstartfont\@IEEEPARstartCAPSTYLE{#1\@IEEEPARstartITLCORRECT}% +\hspace{\@IEEEPARstartSEP}}}% +{\@IEEEPARstartWORDFONTSTYLE{\@IEEEPARstartWORDCAPSTYLE{\selectfont#2}}}} + + + + + + +% determines if the space remaining on a given page is equal to or greater +% than the specified space of argument one +% if not, execute argument two (only if the remaining space is greater than zero) +% and issue a \newpage +% +% example: \@IEEEtranneedspace{2in}{\vfill} +% +% Does not take into consideration rubber shrinkage, so it tends to +% be overly cautious +% Based on an example posted by Donald Arseneau +% Note this macro uses \@IEEEtrantmpdimenB internally for calculations, +% so DO NOT PASS \@IEEEtrantmpdimenB to this routine +% if you need a dimen register, import with \@IEEEtrantmpdimenA instead +\def\@IEEEtranneedspace#1#2{\penalty-100\begingroup%shield temp variable +\@IEEEtrantmpdimenB\pagegoal\advance\@IEEEtrantmpdimenB-\pagetotal% space left +\ifdim #1>\@IEEEtrantmpdimenB\relax% not enough space left +\ifdim\@IEEEtrantmpdimenB>\z@\relax #2\fi% +\newpage% +\fi\endgroup} + + + +% IEEEbiography ENVIRONMENT +% Allows user to enter biography leaving place for picture (adapts to font size) +% As of V1.5, a new optional argument allows you to have a real graphic! +% V1.5 and later also fixes the "colliding biographies" which could happen when a +% biography's text was shorter than the space for the photo. +% MDS 7/2001 +% V1.6 prevent multiple biographies from making multiple TOC entries +\newif\if@IEEEbiographyTOCentrynotmade +\global\@IEEEbiographyTOCentrynotmadetrue + +% biography counter so hyperref can jump directly to the biographies +% and not just the previous section +\newcounter{IEEEbiography} +\setcounter{IEEEbiography}{0} + +% photo area size +\def\@IEEEBIOphotowidth{1.0in} % width of the biography photo area +\def\@IEEEBIOphotodepth{1.25in} % depth (height) of the biography photo area +% area cleared for photo +\def\@IEEEBIOhangwidth{1.14in} % width cleared for the biography photo area +\def\@IEEEBIOhangdepth{1.25in} % depth cleared for the biography photo area + % actual depth will be a multiple of + % \baselineskip, rounded up +\def\@IEEEBIOskipN{4\baselineskip}% nominal value of the vskip above the biography + +\newenvironment{IEEEbiography}[2][]{\normalfont\@IEEEcompsoconly{\sffamily}\footnotesize% +\unitlength 1in\parskip=0pt\par\parindent 1em\interlinepenalty500% +% we need enough space to support the hanging indent +% the nominal value of the spacer +% and one extra line for good measure +\@IEEEtrantmpdimenA=\@IEEEBIOhangdepth% +\advance\@IEEEtrantmpdimenA by \@IEEEBIOskipN% +\advance\@IEEEtrantmpdimenA by 1\baselineskip% +% if this page does not have enough space, break it and lets start +% with a new one +\@IEEEtranneedspace{\@IEEEtrantmpdimenA}{\relax}% +% nominal spacer can strech, not shrink use 1fil so user can out stretch with \vfill +\vskip \@IEEEBIOskipN plus 1fil minus 0\baselineskip% +% the default box for where the photo goes +\def\@IEEEtempbiographybox{{\setlength{\fboxsep}{0pt}\framebox{% +\begin{minipage}[b][\@IEEEBIOphotodepth][c]{\@IEEEBIOphotowidth}\centering PLACE\\ PHOTO\\ HERE \end{minipage}}}}% +% +% detect if the optional argument was supplied, this requires the +% \@ifmtarg command as defined in the appendix section above +% and if so, override the default box with what they want +\@ifmtarg{#1}{\relax}{\def\@IEEEtempbiographybox{\mbox{\begin{minipage}[b][\@IEEEBIOphotodepth][c]{\@IEEEBIOphotowidth}% +\centering% +#1% +\end{minipage}}}}% end if optional argument supplied +% Make an entry into the table of contents only if we have not done so before +\if@IEEEbiographyTOCentrynotmade% +% link labels to the biography counter so hyperref will jump +% to the biography, not the previous section +\setcounter{IEEEbiography}{-1}% +\refstepcounter{IEEEbiography}% +\addcontentsline{toc}{section}{Biographies}% +\global\@IEEEbiographyTOCentrynotmadefalse% +\fi% +% one more biography +\refstepcounter{IEEEbiography}% +% Make an entry for this name into the table of contents +\addcontentsline{toc}{subsection}{#2}% +% V1.6 properly handle if a new paragraph should occur while the +% hanging indent is still active. Do this by redefining \par so +% that it will not start a new paragraph. (But it will appear to the +% user as if it did.) Also, strip any leading pars, newlines, or spaces. +\let\@IEEEBIOORGparCMD=\par% save the original \par command +\edef\par{\hfil\break\indent}% the new \par will not be a "real" \par +\settoheight{\@IEEEtrantmpdimenA}{\@IEEEtempbiographybox}% get height of biography box +\@IEEEtrantmpdimenB=\@IEEEBIOhangdepth% +\@IEEEtrantmpcountA=\@IEEEtrantmpdimenB% countA has the hang depth +\divide\@IEEEtrantmpcountA by \baselineskip% calculates lines needed to produce the hang depth +\advance\@IEEEtrantmpcountA by 1% ensure we overestimate +% set the hanging indent +\hangindent\@IEEEBIOhangwidth% +\hangafter-\@IEEEtrantmpcountA% +% reference the top of the photo area to the top of a capital T +\settoheight{\@IEEEtrantmpdimenB}{\mbox{T}}% +% set the photo box, give it zero width and height so as not to disturb anything +\noindent\makebox[0pt][l]{\hspace{-\@IEEEBIOhangwidth}\raisebox{\@IEEEtrantmpdimenB}[0pt][0pt]{% +\raisebox{-\@IEEEBIOphotodepth}[0pt][0pt]{\@IEEEtempbiographybox}}}% +% now place the author name and begin the bio text +\noindent\textbf{#2\ }\@IEEEgobbleleadPARNLSP}{\relax\let\par=\@IEEEBIOORGparCMD\par% +% 7/2001 V1.5 detect when the biography text is shorter than the photo area +% and pad the unused area - preventing a collision from the next biography entry +% MDS +\ifnum \prevgraf <\@IEEEtrantmpcountA\relax% detect when the biography text is shorter than the photo + \advance\@IEEEtrantmpcountA by -\prevgraf% calculate how many lines we need to pad + \advance\@IEEEtrantmpcountA by -1\relax% we compensate for the fact that we indented an extra line + \@IEEEtrantmpdimenA=\baselineskip% calculate the length of the padding + \multiply\@IEEEtrantmpdimenA by \@IEEEtrantmpcountA% + \noindent\rule{0pt}{\@IEEEtrantmpdimenA}% insert an invisible support strut +\fi% +\par\normalfont} + + + +% V1.6 +% added biography without a photo environment +\newenvironment{IEEEbiographynophoto}[1]{% +% Make an entry into the table of contents only if we have not done so before +\if@IEEEbiographyTOCentrynotmade% +% link labels to the biography counter so hyperref will jump +% to the biography, not the previous section +\setcounter{IEEEbiography}{-1}% +\refstepcounter{IEEEbiography}% +\addcontentsline{toc}{section}{Biographies}% +\global\@IEEEbiographyTOCentrynotmadefalse% +\fi% +% one more biography +\refstepcounter{IEEEbiography}% +% Make an entry for this name into the table of contents +\addcontentsline{toc}{subsection}{#1}% +\normalfont\@IEEEcompsoconly{\sffamily}\footnotesize\interlinepenalty500% +\vskip 4\baselineskip plus 1fil minus 0\baselineskip% +\parskip=0pt\par% +\noindent\textbf{#1\ }\@IEEEgobbleleadPARNLSP}{\relax\par\normalfont} + + +% provide the user with some old font commands +% got this from article.cls +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} + + +% SPECIAL PAPER NOTICE COMMANDS +% +% holds the special notice text +\def\@IEEEspecialpapernotice{\relax} + +% for special papers, like invited papers, the user can do: +% \IEEEspecialpapernotice{(Invited Paper)} before \maketitle +\def\IEEEspecialpapernotice#1{\ifCLASSOPTIONconference% +\def\@IEEEspecialpapernotice{{\sublargesize\textit{#1}\vspace*{1em}}}% +\else% +\def\@IEEEspecialpapernotice{{\\*[1.5ex]\sublargesize\textit{#1}}\vspace*{-2ex}}% +\fi} + + + + +% PUBLISHER ID COMMANDS +% to insert a publisher's ID footer +% V1.6 \IEEEpubid has been changed so that the change in page size and style +% occurs in \maketitle. \IEEEpubid must now be issued prior to \maketitle +% use \IEEEpubidadjcol as before - in the second column of the title page +% These changes allow \maketitle to take the reduced page height into +% consideration when dynamically setting the space between the author +% names and the maintext. +% +% the amount the main text is pulled up to make room for the +% publisher's ID footer +% IEEE uses about 1.3\baselineskip for journals, +% dynamic title spacing will clean up the fraction +\def\@IEEEpubidpullup{1.3\baselineskip} +\ifCLASSOPTIONtechnote +% for technotes it must be an integer of baselineskip as there can be no +% dynamic title spacing for two column mode technotes (the title is in the +% in first column) and we should maintain an integer number of lines in the +% second column +% There are some examples (such as older issues of "Transactions on +% Information Theory") in which IEEE really pulls the text off the ID for +% technotes - about 0.55in (or 4\baselineskip). We'll use 2\baselineskip +% and call it even. +\def\@IEEEpubidpullup{2\baselineskip} +\fi + +% V1.7 compsoc does not use a pullup +\ifCLASSOPTIONcompsoc +\def\@IEEEpubidpullup{0pt} +\fi + +% holds the ID text +\def\@IEEEpubid{\relax} + +% flag so \maketitle can tell if \IEEEpubid was called +\newif\if@IEEEusingpubid +\global\@IEEEusingpubidfalse +% issue this command in the page to have the ID at the bottom +% V1.6 use before \maketitle +\def\IEEEpubid#1{\def\@IEEEpubid{#1}\global\@IEEEusingpubidtrue} + + +% command which will pull up (shorten) the column it is executed in +% to make room for the publisher ID. Place in the second column of +% the title page when using \IEEEpubid +% Is smart enough not to do anything when in single column text or +% if the user hasn't called \IEEEpubid +% currently needed in for the second column of a page with the +% publisher ID. If not needed in future releases, please provide this +% command and define it as \relax for backward compatibility +% v1.6b do not allow command to operate if the peer review option has been +% selected because \IEEEpubidadjcol will not be on the cover page. +% V1.7 do nothing if compsoc +\def\IEEEpubidadjcol{\ifCLASSOPTIONcompsoc\else\ifCLASSOPTIONpeerreview\else +\if@twocolumn\if@IEEEusingpubid\enlargethispage{-\@IEEEpubidpullup}\fi\fi\fi\fi} + +% Special thanks to Peter Wilson, Daniel Luecking, and the other +% gurus at comp.text.tex, for helping me to understand how best to +% implement the IEEEpubid command in LaTeX. + + + +%% Lockout some commands under various conditions + +% general purpose bit bucket +\newsavebox{\@IEEEtranrubishbin} + +% flags to prevent multiple warning messages +\newif\if@IEEEWARNthanks +\newif\if@IEEEWARNIEEEPARstart +\newif\if@IEEEWARNIEEEbiography +\newif\if@IEEEWARNIEEEbiographynophoto +\newif\if@IEEEWARNIEEEpubid +\newif\if@IEEEWARNIEEEpubidadjcol +\newif\if@IEEEWARNIEEEmembership +\newif\if@IEEEWARNIEEEaftertitletext +\@IEEEWARNthankstrue +\@IEEEWARNIEEEPARstarttrue +\@IEEEWARNIEEEbiographytrue +\@IEEEWARNIEEEbiographynophototrue +\@IEEEWARNIEEEpubidtrue +\@IEEEWARNIEEEpubidadjcoltrue +\@IEEEWARNIEEEmembershiptrue +\@IEEEWARNIEEEaftertitletexttrue + + +%% Lockout some commands when in various modes, but allow them to be restored if needed +%% +% save commands which might be locked out +% so that the user can later restore them if needed +\let\@IEEESAVECMDthanks\thanks +\let\@IEEESAVECMDIEEEPARstart\IEEEPARstart +\let\@IEEESAVECMDIEEEbiography\IEEEbiography +\let\@IEEESAVECMDendIEEEbiography\endIEEEbiography +\let\@IEEESAVECMDIEEEbiographynophoto\IEEEbiographynophoto +\let\@IEEESAVECMDendIEEEbiographynophoto\endIEEEbiographynophoto +\let\@IEEESAVECMDIEEEpubid\IEEEpubid +\let\@IEEESAVECMDIEEEpubidadjcol\IEEEpubidadjcol +\let\@IEEESAVECMDIEEEmembership\IEEEmembership +\let\@IEEESAVECMDIEEEaftertitletext\IEEEaftertitletext + + +% disable \IEEEPARstart when in draft mode +% This may have originally been done because the pre-V1.6 drop letter +% algorithm had problems with a non-unity baselinestretch +% At any rate, it seems too formal to have a drop letter in a draft +% paper. +\ifCLASSOPTIONdraftcls +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** ATTENTION: \noexpand\IEEEPARstart + is disabled in draft mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} +\fi +% and for technotes +\ifCLASSOPTIONtechnote +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** WARNING: \noexpand\IEEEPARstart + is locked out for technotes (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} +\fi + + +% lockout unneeded commands when in conference mode +\ifCLASSOPTIONconference +% when locked out, \thanks, \IEEEbiography, \IEEEbiographynophoto, \IEEEpubid, +% \IEEEmembership and \IEEEaftertitletext will all swallow their given text. +% \IEEEPARstart will output a normal character instead +% warn the user about these commands only once to prevent the console screen +% from filling up with redundant messages +\def\thanks#1{\if@IEEEWARNthanks\typeout{** WARNING: \noexpand\thanks + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNthanksfalse} +\def\IEEEPARstart#1#2{#1#2\if@IEEEWARNIEEEPARstart\typeout{** WARNING: \noexpand\IEEEPARstart + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEPARstartfalse} + + +% LaTeX treats environments and commands with optional arguments differently. +% the actual ("internal") command is stored as \\commandname +% (accessed via \csname\string\commandname\endcsname ) +% the "external" command \commandname is a macro with code to determine +% whether or not the optional argument is presented and to provide the +% default if it is absent. So, in order to save and restore such a command +% we would have to save and restore \\commandname as well. But, if LaTeX +% ever changes the way it names the internal names, the trick would break. +% Instead let us just define a new environment so that the internal +% name can be left undisturbed. +\newenvironment{@IEEEbogusbiography}[2][]{\if@IEEEWARNIEEEbiography\typeout{** WARNING: \noexpand\IEEEbiography + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEbiographyfalse% +\setbox\@IEEEtranrubishbin\vbox\bgroup}{\egroup\relax} +% and make biography point to our bogus biography +\let\IEEEbiography=\@IEEEbogusbiography +\let\endIEEEbiography=\end@IEEEbogusbiography + +\renewenvironment{IEEEbiographynophoto}[1]{\if@IEEEWARNIEEEbiographynophoto\typeout{** WARNING: \noexpand\IEEEbiographynophoto + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEbiographynophotofalse% +\setbox\@IEEEtranrubishbin\vbox\bgroup}{\egroup\relax} + +\def\IEEEpubid#1{\if@IEEEWARNIEEEpubid\typeout{** WARNING: \noexpand\IEEEpubid + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEpubidfalse} +\def\IEEEpubidadjcol{\if@IEEEWARNIEEEpubidadjcol\typeout{** WARNING: \noexpand\IEEEpubidadjcol + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEpubidadjcolfalse} +\def\IEEEmembership#1{\if@IEEEWARNIEEEmembership\typeout{** WARNING: \noexpand\IEEEmembership + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEmembershipfalse} +\def\IEEEaftertitletext#1{\if@IEEEWARNIEEEaftertitletext\typeout{** WARNING: \noexpand\IEEEaftertitletext + is locked out when in conference mode (line \the\inputlineno).}\fi\global\@IEEEWARNIEEEaftertitletextfalse} +\fi + + +% provide a way to restore the commands that are locked out +\def\IEEEoverridecommandlockouts{% +\typeout{** ATTENTION: Overriding command lockouts (line \the\inputlineno).}% +\let\thanks\@IEEESAVECMDthanks% +\let\IEEEPARstart\@IEEESAVECMDIEEEPARstart% +\let\IEEEbiography\@IEEESAVECMDIEEEbiography% +\let\endIEEEbiography\@IEEESAVECMDendIEEEbiography% +\let\IEEEbiographynophoto\@IEEESAVECMDIEEEbiographynophoto% +\let\endIEEEbiographynophoto\@IEEESAVECMDendIEEEbiographynophoto% +\let\IEEEpubid\@IEEESAVECMDIEEEpubid% +\let\IEEEpubidadjcol\@IEEESAVECMDIEEEpubidadjcol% +\let\IEEEmembership\@IEEESAVECMDIEEEmembership% +\let\IEEEaftertitletext\@IEEESAVECMDIEEEaftertitletext} + + + +% need a backslash character for typeout output +{\catcode`\|=0 \catcode`\\=12 +|xdef|@IEEEbackslash{\}} + + +% hook to allow easy disabling of all legacy warnings +\def\@IEEElegacywarn#1#2{\typeout{** ATTENTION: \@IEEEbackslash #1 is deprecated (line \the\inputlineno). +Use \@IEEEbackslash #2 instead.}} + + +% provide for legacy commands +\def\authorblockA{\@IEEElegacywarn{authorblockA}{IEEEauthorblockA}\IEEEauthorblockA} +\def\authorblockN{\@IEEElegacywarn{authorblockN}{IEEEauthorblockN}\IEEEauthorblockN} +\def\authorrefmark{\@IEEElegacywarn{authorrefmark}{IEEEauthorrefmark}\IEEEauthorrefmark} +\def\PARstart{\@IEEElegacywarn{PARstart}{IEEEPARstart}\IEEEPARstart} +\def\pubid{\@IEEElegacywarn{pubid}{IEEEpubid}\IEEEpubid} +\def\pubidadjcol{\@IEEElegacywarn{pubidadjcol}{IEEEpubidadjcol}\IEEEpubidadjcol} +\def\QED{\@IEEElegacywarn{QED}{IEEEQED}\IEEEQED} +\def\QEDclosed{\@IEEElegacywarn{QEDclosed}{IEEEQEDclosed}\IEEEQEDclosed} +\def\QEDopen{\@IEEElegacywarn{QEDopen}{IEEEQEDopen}\IEEEQEDopen} +\def\specialpapernotice{\@IEEElegacywarn{specialpapernotice}{IEEEspecialpapernotice}\IEEEspecialpapernotice} + + + +% provide for legacy environments +\def\biography{\@IEEElegacywarn{biography}{IEEEbiography}\IEEEbiography} +\def\biographynophoto{\@IEEElegacywarn{biographynophoto}{IEEEbiographynophoto}\IEEEbiographynophoto} +\def\keywords{\@IEEElegacywarn{keywords}{IEEEkeywords}\IEEEkeywords} +\def\endbiography{\endIEEEbiography} +\def\endbiographynophoto{\endIEEEbiographynophoto} +\def\endkeywords{\endIEEEkeywords} + + +% provide for legacy IED commands/lengths when possible +\let\labelindent\IEEElabelindent +\def\calcleftmargin{\@IEEElegacywarn{calcleftmargin}{IEEEcalcleftmargin}\IEEEcalcleftmargin} +\def\setlabelwidth{\@IEEElegacywarn{setlabelwidth}{IEEEsetlabelwidth}\IEEEsetlabelwidth} +\def\usemathlabelsep{\@IEEElegacywarn{usemathlabelsep}{IEEEusemathlabelsep}\IEEEusemathlabelsep} +\def\iedlabeljustifyc{\@IEEElegacywarn{iedlabeljustifyc}{IEEEiedlabeljustifyc}\IEEEiedlabeljustifyc} +\def\iedlabeljustifyl{\@IEEElegacywarn{iedlabeljustifyl}{IEEEiedlabeljustifyl}\IEEEiedlabeljustifyl} +\def\iedlabeljustifyr{\@IEEElegacywarn{iedlabeljustifyr}{IEEEiedlabeljustifyr}\IEEEiedlabeljustifyr} + + + +% let \proof use the IEEEtran version even after amsthm is loaded +% \proof is now deprecated in favor of \IEEEproof +\AtBeginDocument{\def\proof{\@IEEElegacywarn{proof}{IEEEproof}\IEEEproof}\def\endproof{\endIEEEproof}} + +% V1.7 \overrideIEEEmargins is no longer supported. +\def\overrideIEEEmargins{% +\typeout{** WARNING: \string\overrideIEEEmargins \space no longer supported (line \the\inputlineno).}% +\typeout{** Use the \string\CLASSINPUTinnersidemargin, \string\CLASSINPUToutersidemargin \space controls instead.}} + + +\endinput + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% End of IEEEtran.cls %%%%%%%%%%%%%%%%%%%%%%%%%%%% +% That's all folks! + diff --git a/IEEEtran_HOWTO.pdf b/IEEEtran_HOWTO.pdf new file mode 100755 index 0000000000000000000000000000000000000000..a82f53f45201d925c889a054b1c83e7fddfa1de5 GIT binary patch literal 674724 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

NWS^LugsR1KHpd*Av?dFHV!MXS>G}8Jt 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

gE?PC<1&fj>Yyze?C+B+`Z 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

xm0jMes-{WUNeXWUV*<{9-q&==~%W>^xo}! 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 Z7t5npSH-&sm=18=wpiuLjap?E`#()LT&n;8 literal 0 HcmV?d00001 diff --git a/biblio.bib b/biblio.bib new file mode 100644 index 0000000..bfb99b1 --- /dev/null +++ b/biblio.bib @@ -0,0 +1,56 @@ +@inproceedings{Dumitrescu:2005:LSB:1073170.1073176, + author = {Dumitrescu, Sorina and Wu, Xiaolin}, + title = {LSB steganalysis based on high-order statistics}, + booktitle = {Proceedings of the 7th workshop on Multimedia and security}, + series = {MM\&\#38;Sec '05}, + year = {2005}, + isbn = {1-59593-032-9}, + location = {New York, NY, USA}, + pages = {25--32}, + numpages = {8}, + url = {http://doi.acm.org/10.1145/1073170.1073176}, + doi = {10.1145/1073170.1073176}, + acmid = {1073176}, + publisher = {ACM}, + address = {New York, NY, USA}, + keywords = {LSB steganography, digital media, steganalysis}, +} + +@inproceedings{DBLP:conf/ih/Ker05, + author = {Andrew D. Ker}, + title = {A General Framework for Structural Steganalysis of LSB Replacement}, + booktitle = {Information Hiding}, + year = {2005}, + pages = {296-311}, + ee = {http://dx.doi.org/10.1007/11558859_22}, + crossref = {DBLP:conf/ih/2005}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} +@proceedings{DBLP:conf/ih/2005, + editor = {Mauro Barni and + Jordi Herrera-Joancomart\'{\i} and + Stefan Katzenbeisser and + Fernando P{\'e}rez-Gonz{\'a}lez}, + title = {Information Hiding, 7th International Workshop, IH 2005, + Barcelona, Spain, June 6-8, 2005, Revised Selected Papers}, + booktitle = {Information Hiding}, + publisher = {Springer}, + series = {Lecture Notes in Computer Science}, + volume = {3727}, + year = {2005}, + isbn = {3-540-29039-7}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + +@inproceedings{FK12, +author = {Jessica J. Fridrich and + Jan Kodovsk{\'y}}, + title = {Steganalysis of LSB Replacement Using Parity-Aware Features}, + booktitle = {14th Information Hiding Conference}, + year = {2012}, + month=may, + publisher = {Springer}, + address = {Berkeley, CA}, + note = {to appear} +} + diff --git a/canny.tex b/canny.tex index c6ab2f1..e69de29 100644 --- a/canny.tex +++ b/canny.tex @@ -1,6 +0,0 @@ -\documentclass{article} - -\begin{document} - - -\end{document} diff --git a/main.tex b/main.tex new file mode 100755 index 0000000..a175e8a --- /dev/null +++ b/main.tex @@ -0,0 +1,510 @@ +\documentclass[draft,journal]{IEEEtran} +% +% If IEEEtran.cls has not been installed into the LaTeX system files, +% manually specify the path to it like: +% \documentclass[journal]{../sty/IEEEtran} + + + + + +% Some very useful LaTeX packages include: +% (uncomment the ones you want to load) + + +% *** MISC UTILITY PACKAGES *** +% +%\usepackage{ifpdf} +% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional +% compilation based on whether the output is pdf or dvi. +% usage: +% \ifpdf +% % pdf code +% \else +% % dvi code +% \fi +% The latest version of ifpdf.sty can be obtained from: +% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/ +% Also, note that IEEEtran.cls V1.7 and later provides a builtin +% \ifCLASSINFOpdf conditional that works the same way. +% When switching from latex to pdflatex and vice-versa, the compiler may +% have to be run twice to clear warning/error messages. + + + + + + +% *** CITATION PACKAGES *** +% +%\usepackage{cite} +% cite.sty was written by Donald Arseneau +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package +% \cite{} output to follow that of IEEE. Loading the cite package will +% result in citation numbers being automatically sorted and properly +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's +% \cite will automatically add leading space, if needed. Use cite.sty's +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. +% cite.sty is already installed on most LaTeX systems. Be sure and use +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does +% not currently provide for hyperlinked citations. +% The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ +% The documentation is contained in the cite.sty file itself. + + + + + + +% *** GRAPHICS RELATED PACKAGES *** +% +\ifCLASSINFOpdf + % \usepackage[pdftex]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../pdf/}{../jpeg/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} +\else + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx + % will default to the driver specified in the system graphics.cfg if no + % driver is specified. + % \usepackage[dvips]{graphicx} + % declare the path(s) where your graphic files are + % \graphicspath{{../eps/}} + % and their extensions so you won't have to specify these with + % every instance of \includegraphics + % \DeclareGraphicsExtensions{.eps} +\fi +% graphicx was written by David Carlisle and Sebastian Rahtz. It is +% required if you want graphics, photos, etc. graphicx.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ +% Another good source of documentation is "Using Imported Graphics in +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ +% +% latex, and pdflatex in dvi mode, support graphics in encapsulated +% postscript (.eps) format. pdflatex in pdf mode supports graphics +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats +% which can result in "jaggedy"/blurry rendering of lines and letters as +% well as large increases in file sizes. +% +% You can find documentation about the pdfTeX application at: +% http://www.tug.org/applications/pdftex + + + + + +% *** MATH PACKAGES *** +% +%\usepackage[cmex10]{amsmath} +% A popular package from the American Mathematical Society that provides +% many useful and powerful commands for dealing with mathematics. If using +% it, be sure to load this package with the cmex10 option to ensure that +% only type 1 fonts will utilized at all point sizes. Without this option, +% it is possible that some math symbols, particularly those within +% footnotes, will be rendered in bitmap form which will result in a +% document that can not be IEEE Xplore compliant! +% +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 +% thus preventing page breaks from occurring within multiline equations. Use: +%\interdisplaylinepenalty=2500 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally +% does. amsmath.sty is already installed on most LaTeX systems. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ + + + + + +% *** SPECIALIZED LIST PACKAGES *** +% +%\usepackage{algorithmic} +% algorithmic.sty was written by Peter Williams and Rogerio Brito. +% This package provides an algorithmic environment fo describing algorithms. +% You can use the algorithmic environment in-text or within a figure +% environment to provide for a floating algorithm. Do NOT use the algorithm +% floating environment provided by algorithm.sty (by the same authors) or +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated +% algorithm float types and packages that provide these will not provide +% correct IEEE style captions. The latest version and documentation of +% algorithmic.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ +% There is also a support site at: +% http://algorithms.berlios.de/index.html +% Also of interest may be the (relatively newer and more customizable) +% algorithmicx.sty package by Szasz Janos: +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ + + + + +% *** ALIGNMENT PACKAGES *** +% +%\usepackage{array} +% Frank Mittelbach's and David Carlisle's array.sty patches and improves +% the standard LaTeX2e array and tabular environments to provide better +% appearance and additional user controls. As the default LaTeX2e table +% generation code is lacking to the point of almost being broken with +% respect to the quality of the end results, all users are strongly +% advised to use an enhanced (at the very least that provided by array.sty) +% set of table tools. array.sty is already installed on most systems. The +% latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ + + +%\usepackage{mdwmath} +%\usepackage{mdwtab} +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, +% especially mdwmath.sty and mdwtab.sty which are used to format equations +% and tables, respectively. The MDWtools set is already installed on most +% LaTeX systems. The lastest version and documentation is available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ + + +% IEEEtran contains the IEEEeqnarray family of commands that can be used to +% generate multiline equations as well as matrices, tables, etc., of high +% quality. + + +%\usepackage{eqparbox} +% Also of notable interest is Scott Pakin's eqparbox package for creating +% (automatically sized) equal width boxes - aka "natural width parboxes". +% Available at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ + + + + + +% *** SUBFIGURE PACKAGES *** +%\usepackage[tight,footnotesize]{subfigure} +% subfigure.sty was written by Steven Douglas Cochran. This package makes it +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE +% work, it is a good idea to load it with the tight package option to reduce +% the amount of white space around the subfigures. subfigure.sty is already +% installed on most LaTeX systems. The latest version and documentation can +% be obtained at: +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ +% subfigure.sty has been superceeded by subfig.sty. + + + +%\usepackage[caption=false]{caption} +%\usepackage[font=footnotesize]{subfig} +% subfig.sty, also written by Steven Douglas Cochran, is the modern +% replacement for subfigure.sty. However, subfig.sty requires and +% automatically loads Axel Sommerfeldt's caption.sty which will override +% IEEEtran.cls handling of captions and this will result in nonIEEE style +% figure/table captions. To prevent this problem, be sure and preload +% caption.sty with its "caption=false" package option. This is will preserve +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later +% (recommended due to many improvements over 1.2) of subfig.sty supports +% the caption=false option directly: +%\usepackage[caption=false,font=footnotesize]{subfig} +% +% The latest version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ +% The latest version and documentation of caption.sty can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ + + + + +% *** FLOAT PACKAGES *** +% +%\usepackage{fixltx2e} +% fixltx2e, the successor to the earlier fix2col.sty, was written by +% Frank Mittelbach and David Carlisle. This package corrects a few problems +% in the LaTeX2e kernel, the most notable of which is that in current +% LaTeX2e releases, the ordering of single and double column floats is not +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a +% single column figure to be placed prior to an earlier double column +% figure. The latest version and documentation can be found at: +% http://www.ctan.org/tex-archive/macros/latex/base/ + + + +%\usepackage{stfloats} +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e +% the ability to do double column floats at the bottom of the page as well +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in +% LaTeX2e). It also provides a command: +%\fnbelowfloat +% to enable the placement of footnotes below bottom floats (the standard +% LaTeX2e kernel puts them above bottom floats). This is an invasive package +% which rewrites many portions of the LaTeX2e float routines. It may not work +% with other packages that modify the LaTeX2e float routines. The latest +% version and documentation can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ +% Documentation is contained in the stfloats.sty comments as well as in the +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE +% does not allow \baselineskip to stretch. Authors submitting work to the +% IEEE should note that IEEE rarely uses double column equations and +% that authors should try to avoid such use. Do not be tempted to use the +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does +% not format its papers in such ways. + + +%\ifCLASSOPTIONcaptionsoff +% \usepackage[nomarkers]{endfloat} +% \let\MYoriglatexcaption\caption +% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}} +%\fi +% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg. +% This package may be useful when used in conjunction with IEEEtran.cls' +% captionsoff option. Some IEEE journals/societies require that submissions +% have lists of figures/tables at the end of the paper and that +% figures/tables without any captions are placed on a page by themselves at +% the end of the document. If needed, the draftcls IEEEtran class option or +% \CLASSINPUTbaselinestretch interface can be used to increase the line +% spacing as well. Be sure and use the nomarkers option of endfloat to +% prevent endfloat from "marking" where the figures would have been placed +% in the text. The two hack lines of code above are a slight modification of +% that suggested by in the endfloat docs (section 8.3.1) to ensure that +% the full captions always appear in the list of figures/tables - even if +% the user used the short optional argument of \caption[]{}. +% IEEE papers do not typically make use of \caption[]'s optional argument, +% so this should not be an issue. A similar trick can be used to disable +% captions of packages such as subfig.sty that lack options to turn off +% the subcaptions: +% For subfig.sty: +% \let\MYorigsubfloat\subfloat +% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}} +% For subfigure.sty: +% \let\MYorigsubfigure\subfigure +% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}} +% However, the above trick will not work if both optional arguments of +% the \subfloat/subfig command are used. Furthermore, there needs to be a +% description of each subfigure *somewhere* and endfloat does not add +% subfigure captions to its list of figures. Thus, the best approach is to +% avoid the use of subfigure captions (many IEEE journals avoid them anyway) +% and instead reference/explain all the subfigures within the main caption. +% The latest version of endfloat.sty and its documentation can obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/ +% +% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used +% later in the document, say, to conditionally put the References on a +% page by themselves. + + + + + +% *** PDF, URL AND HYPERLINK PACKAGES *** +% +%\usepackage{url} +% url.sty was written by Donald Arseneau. It provides better support for +% handling and breaking URLs. url.sty is already installed on most LaTeX +% systems. The latest version can be obtained at: +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ +% Read the url.sty source comments for usage information. Basically, +% \url{my_url_here}. + + + + + +% *** Do not adjust lengths that control margins, column widths, etc. *** +% *** Do not use packages that alter fonts (such as pslatex). *** +% There should be no need to do such things with IEEEtran.cls V1.6 and later. +% (Unless specifically asked to do so by the journal or conference you plan +% to submit to, of course. ) + + +% correct bad hyphenation here +\hyphenation{op-tical net-works semi-conduc-tor} + + +\begin{document} +% +% paper title +% can use linebreaks \\ within to get better formatting as desired +\title{Bare Demo of IEEEtran.cls for Journals} +% +% +% author names and IEEE memberships +% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break +% a structure at a ~ so this keeps an author's name from being broken across +% two lines. +% use \thanks{} to gain access to the first footnote area +% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks +% was not built to handle multiple paragraphs +% + +\author{Jean-Fran\c cois Couchot, Raphael Couturier, and Christophe Guyeux*} + +\IEEEauthorblockA{FEMTO-ST Institute, UMR 6174 CNRS\\ +Computer Science Laboratory DISC\\ +University of Franche-Comt\'{e}\\ +Besan\c con, France\\ +\{jean-francois.couchot,raphael.couturier, christophe.guyeux\}@femto-st.fr}\\ +* Authors in alphabetic order\\ +} + + + +% \author{Michael~Shell,~\IEEEmembership{Member,~IEEE,} +% John~Doe,~\IEEEmembership{Fellow,~OSA,} +% and~Jane~Doe,~\IEEEmembership{Life~Fellow,~IEEE}% <-this % stops a space +% \thanks{M. Shell is with the Department +% of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, +% GA, 30332 USA e-mail: (see http://www.michaelshell.org/contact.html).}% <-this % stops a space +% \thanks{J. Doe and J. Doe are with Anonymous University.}% <-this % stops a space +% \thanks{Manuscript received April 19, 2005; revised January 11, 2007.}} + +% note the % following the last \IEEEmembership and also \thanks - +% these prevent an unwanted space from occurring between the last author name +% and the end of the author line. i.e., if you had this: +% +% \author{....lastname \thanks{...} \thanks{...} } +% ^------------^------------^----Do not want these spaces! +% +% a space would be appended to the last name and could cause every name on that +% line to be shifted left slightly. This is one of those "LaTeX things". For +% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get +% "AB" then you have to do: "\textbf{A}\textbf{B}" +% \thanks is no different in this regard, so shield the last } of each \thanks +% that ends a line with a % and do not let a space in before the next \thanks. +% Spaces after \IEEEmembership other than the last one are OK (and needed) as +% you are supposed to have spaces between the names. For what it is worth, +% this is a minor point as most people would not even notice if the said evil +% space somehow managed to creep in. + + + +% The paper headers +%\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}% +%{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Journals} +% The only time the second header will appear is for the odd numbered pages +% after the title page when using the twoside option. +% +% *** Note that you probably will NOT want to include the author's *** +% *** name in the headers of peer review papers. *** +% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if +% you desire. + + + + +% If you want to put a publisher's ID mark on the page you can do it like +% this: +%\IEEEpubid{0000--0000/00\$00.00~\copyright~2007 IEEE} +% Remember, if you use this you must call \IEEEpubidadjcol in the second +% column for its text to clear the IEEEpubid mark. + + + +% use for special paper notices +%\IEEEspecialpapernotice{(Invited Paper)} + + + + +% make the title area +\maketitle + + +\begin{abstract} +%\boldmath +The abstract goes here. +\end{abstract} +% IEEEtran.cls defaults to using nonbold math in the Abstract. +% This preserves the distinction between vectors and scalars. However, +% if the journal you are submitting to favors bold math in the abstract, +% then you can use LaTeX's standard command \boldmath at the very start +% of the abstract to achieve this. Many IEEE journals frown on math +% in the abstract anyway. + +% Note that keywords are not normally used for peerreview papers. +\begin{IEEEkeywords} +%IEEEtran, journal, \LaTeX, paper, template. +Steganography, least-significant-bit (LSB)-based steganography, edge detection, Canny filter, security, syndrome treillis code. +\end{IEEEkeywords} + + + + + + +% For peer review papers, you can put extra information on the cover +% page as needed: +% \ifCLASSOPTIONpeerreview +% \begin{center} \bfseries EDICS Category: 3-BBND \end{center} +% \fi +% +% For peerreview papers, this IEEEtran command inserts a page break and +% creates the second title. It will be ignored for other modes. +\IEEEpeerreviewmaketitle + + + +\section{Introduction} + + +\section{Analysis of Steganographic Approaches} + +This work considers digital images as covers and fondation is +spatial least_significant-bit (LSB) replacement. +I this data hiding scheme a subset of all the LSB of the cover image is modified +with a secret bit stream depending on to a key, the cover, and the message to embed. +This well studied steganographic approach never decreases (resp. increases) +pixel with even value (resp. odd value) and may break structural symetry. +This structure modification is detectable by statistical approaches +and thus by steganalysis methods~\cite{Dumitrescu:2005:LSB:1073170.1073176,DBLP:conf/ih/2005,FK12}. + + +random LSB selection: coarse, easily tractable, easilly detactable + + + +feature-based : precise but time consuming + +security need : message has to be encrypted before beeing introduced. Using efficient and secured cryptographic approach + +LSBR: to coarse (apply hugo breaker on it) + +\section{Our Approach} +Image Quality: Edge Image Steganography + +Security aspect: +BBS-based cprotographic version of the message + +Enlarging embeding efficiency: +Syndrome treillis code + + +\section{Conclusion} +The conclusion goes here. + + +\appendices +\section{Proof of the First Zonklar Equation} +Appendix one text goes here. + +% you can choose not to have a title for an appendix +% if you want by leaving the argument blank +\section{} +Appendix two text goes here. + + +% use section* for acknowledgement +\section*{Acknowledgment} +The authors would like to thank... + +\bibliographystyle{plain} +\bibliography{biblio} + + + +\end{document} + + diff --git a/stc/exp/ml_stc_linux_make_v1.0.tar.gz b/stc/exp/ml_stc_linux_make_v1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..83f2eff4d8a7e850cb9d06ac0f64fcf7024dcd6b GIT binary patch literal 1164180 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%0Dr0kPZ);1UgN(XpNbx5nC2cDDe(~U9zs2{d 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%0DB)DA*T2)5)W-tjeC{ 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

vX&Gh4tCD}mv5?ct%b~gYh-5%s& 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 z

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

=)uM_AdqkV1fM)Kz;{>A7~Hs z#BYFtvXHkw6*8-Q?{n=7p8tT5xMBaC=Z@^&Tz{~=5Nt&QA~wMPJgGpTOxNa$=&e@@ z_N$#PC>TgbV%P>xf4-Uobvz%%N-55$P~d~S1mjH!(mldW&ED_O^TlYdhZW9U&qze1 z)%pYu-b=PbADo3Ur%7qwmN^E2e5)@257$M94?)4YTS428p6-3nkdtjI?Dq&zYZ%Ux z+%QO|$e>~bw7-rk^wEQq0~rGvA$3H$1+fOjFawE&uj=+e=tw9mKw|$6nGeB;T1FtT zXL$suv~p4MqX+I*e-EU@x)=>gJqzr70o=B+MuJkmT`>WPi)D*n07d2_w;-uh>?ahU z#{Dg*$yv1H7K8z@x&`@OTlP z4}*?|!&LQpSI1x76D27dHUVQ3_+?cUlZ&NKF1MRUoBFFv)s{2&Qj{2)=Y@Y?TaQmoSOl>#$e}4HbnlG|;-oLUMcKJQ#?I zH)q+wS<|{PT*k#_T4cpvvq=rV2N-m$;Z^C5(OUa*Ca1+P+ zX|oT}5z9vdAK*$6_Hkx0fwL;GEgX(s@k8Q3L-2i|*A5L;CgsE2^oxI5aN(_99tgv$ z&gKcV^QY*^Byaf;C83_bgzV^)ZSMYi~PFlj=y?&DLl4f`RDEnhc*(U zT!g&j1zl8`k&^ekt%-!XA^Iq~qjxb@(G`!Mmh^Xv*&9umLuMS2W2)p!s6=|i`1DL$tCh!zJeexdAIoi=@#K3gLs^Qtek*(-Ux5O2peuF?63bzVOTyMkB5R26CuN4#j@Q6e~ zv^U7B-%gy!6QFlTogJVa76>^;!tV_L`yUJH7K9=(+6dfU26gCxuBDthoIxe<-%IZq zYDV_e>uh-yuw+u&?+cIu$T~6q`gWb5UqGQbo{NMjIlJQPcV&kHdZhao;FYdd;YC_H zF)|~K`IzLJ(&Wa;vdQ)tZF#I_)qEU|40Yq+IW(3{7oh49ruOxMBRn(~iz55JA@ROi z#{I;W!;vj!xWaBmRkf+^o%eQ=;9;{4sV%5$%&#;>l)!G6!4##Xg~wDb-JrA-r2YZj zQ7#BNKK5lF191m*r-9G`jrTp-pp9&h?bS$$NoPyqbA5VN?7+mc2SqzkEc48lx8cE` z_7M|(;Kn|AuE|=uPjbhjK6AKgNHjt|x%)C8eCTko0tEf-+&;br|2705Ag37yAa&L^ zgQ`EbYd&+O?Es`CM-DEH{xv?O(+msn>x&wUKAcq#Tpv76GxS+Lg5-OqS0|X z_WIr6x>HXj4&KPOC5l;R62?s{lfLzxI3tNrZc|!m@xuIVR_wB^Kp|p<=Fc|RcP8qH(Y3HU|IO1;r~0+5?XQa|CecjX|UmlGn2LQ zVfZEOj>M5wY^bmnmcm(JmWcj?{C1BYm|o8|+LqEapdrv?<^#G`sI0A2n9z%X^br0i zMJJehQ6Oi&8xh{Y1YIkERe@T+-uD$yX1p#wusr-mfkiko8aT+Q&GVADD79Um>*0sO z@sJoa)Fdod`BHmt-R={iC_F8gzJV|GIE3;m zOoi1=Gj5pypO=A}PQK*Njq1gJBrkT#P^$q~F2a+lsDyC$I@mFX-6@4qQh37z7GDd@ zrpLC3rnsfsrn5yDRbjT7V_x}Y1I6qF>5qt|`(w&_AI?AJMa&V#zw8(h^Vt91MOumd zycG5VZ_aNs;Zc{^xZ?epF$Gd=0vcSV{x8=j1&oky2zp?hzw@0*ghVHH= zCj|L)2HJiq;>-geeQ0RI3;}erH}u&%QO&ChC_Cz->pjoEW4mK)tZ)g=SwRY&8l%MP zyw2nCX`o&cmivUyGMrm~M(#hjQH@Kq`WU4^cKRoezm=`Vzv3MZ7Nf6XJxSI!=l^8k z2}u4ky5A`GthuR@Z*scz`daLt&NI?kCL-#*Sm2 zRf(aX)Tu?7B$TF}C0shWtRSsHY7|4* zI%v|XWDULfcPw9QSrg47gne|0XpT#FH~B6?y�y&e&*B*fBZ9KL+|kFQ0*IKZ0fL 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
  • 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%0A`woC(egFIRkcXfr{mQDKX0xj+>x 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 U0k+Dr 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 literal 0 HcmV?d00001 diff --git a/stc/exp/ml_stc_linux_make_v1.0/Makefile b/stc/exp/ml_stc_linux_make_v1.0/Makefile new file mode 100644 index 0000000..2cdd07c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/Makefile @@ -0,0 +1,19 @@ +CC = g++ +CXX = g++ +CXXFLAGS = -I ../include +VPATH = ../ml_stc_src + +all: r g +targets: example1_ml_stc example2_ml_stc +example1_ml_stc: example1_ml_stc.o stc_embed_c.o stc_extract_c.o common.o stc_ml_c.o +example2_ml_stc: example2_ml_stc.o stc_embed_c.o stc_extract_c.o common.o stc_ml_c.o + +r: + make -f ../Makefile -C release "CPPFLAGS=-O3" "LDFLAGS=-O3" targets +g: + make -f ../Makefile -C debug "CPPFLAGS=-ggdb" "LDFLAGS=-ggdb" targets +clean: + rm -f debug/* release/* +# use this configuration for valgrind tests +valgrind: g + valgrind --leak-check=full ./debug/example2_ml_stc diff --git a/stc/exp/ml_stc_linux_make_v1.0/example.sh b/stc/exp/ml_stc_linux_make_v1.0/example.sh new file mode 100755 index 0000000..b9570da --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/example.sh @@ -0,0 +1,10 @@ +echo "example of Multi-layered construction implemented using STCs" +echo "author: Tomas Filler ( tomas.filler@gmail.com, http://dde.binghamton.edu/filler )" + +echo "running \"example1_ml_stc.exe\"" +./release/example1_ml_stc +echo done + +echo "running \"example2_ml_stc.exe\"" +./release/example2_ml_stc +echo done diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/any.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/any.hpp new file mode 100644 index 0000000..646cd29 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/any.hpp @@ -0,0 +1,253 @@ +// See http://www.boost.org/libs/any for Documentation. + +#ifndef BOOST_ANY_INCLUDED +#define BOOST_ANY_INCLUDED + +// what: variant type boost::any +// who: contributed by Kevlin Henney, +// with features contributed and bugs found by +// Ed Brey, Mark Rodgers, Peter Dimov, and James Curran +// when: July 2001 +// where: tested with BCC 5.5, MSVC 6.0, and g++ 2.95 + +#include +#include + +#include "boost/config.hpp" +#include +#include +#include +#include + +// See boost/python/type_id.hpp +// TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp +# if (defined(__GNUC__) && __GNUC__ >= 3) \ + || defined(_AIX) \ + || ( defined(__sgi) && defined(__host_mips)) \ + || (defined(__hpux) && defined(__HP_aCC)) \ + || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC)) +# define BOOST_AUX_ANY_TYPE_ID_NAME +#include +# endif + +namespace boost +{ + class any + { + public: // structors + + any() + : content(0) + { + } + + template + any(const ValueType & value) + : content(new holder(value)) + { + } + + any(const any & other) + : content(other.content ? other.content->clone() : 0) + { + } + + ~any() + { + delete content; + } + + public: // modifiers + + any & swap(any & rhs) + { + std::swap(content, rhs.content); + return *this; + } + + template + any & operator=(const ValueType & rhs) + { + any(rhs).swap(*this); + return *this; + } + + any & operator=(any rhs) + { + rhs.swap(*this); + return *this; + } + + public: // queries + + bool empty() const + { + return !content; + } + + const std::type_info & type() const + { + return content ? content->type() : typeid(void); + } + +#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS + private: // types +#else + public: // types (public so any_cast can be non-friend) +#endif + + class placeholder + { + public: // structors + + virtual ~placeholder() + { + } + + public: // queries + + virtual const std::type_info & type() const = 0; + + virtual placeholder * clone() const = 0; + + }; + + template + class holder : public placeholder + { + public: // structors + + holder(const ValueType & value) + : held(value) + { + } + + public: // queries + + virtual const std::type_info & type() const + { + return typeid(ValueType); + } + + virtual placeholder * clone() const + { + return new holder(held); + } + + public: // representation + + ValueType held; + + private: // intentionally left unimplemented + holder & operator=(const holder &); + }; + +#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS + + private: // representation + + template + friend ValueType * any_cast(any *); + + template + friend ValueType * unsafe_any_cast(any *); + +#else + + public: // representation (public so any_cast can be non-friend) + +#endif + + placeholder * content; + + }; + + class bad_any_cast : public std::bad_cast + { + public: + virtual const char * what() const throw() + { + return "boost::bad_any_cast: " + "failed conversion using boost::any_cast"; + } + }; + + template + ValueType * any_cast(any * operand) + { + return operand && +#ifdef BOOST_AUX_ANY_TYPE_ID_NAME + std::strcmp(operand->type().name(), typeid(ValueType).name()) == 0 +#else + operand->type() == typeid(ValueType) +#endif + ? &static_cast *>(operand->content)->held + : 0; + } + + template + inline const ValueType * any_cast(const any * operand) + { + return any_cast(const_cast(operand)); + } + + template + ValueType any_cast(any & operand) + { + typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + // If 'nonref' is still reference type, it means the user has not + // specialized 'remove_reference'. + + // Please use BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION macro + // to generate specialization of remove_reference for your class + // See type traits library documentation for details + BOOST_STATIC_ASSERT(!is_reference::value); +#endif + + nonref * result = any_cast(&operand); + if(!result) + boost::throw_exception(bad_any_cast()); + return *result; + } + + template + inline ValueType any_cast(const any & operand) + { + typedef BOOST_DEDUCED_TYPENAME remove_reference::type nonref; + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + // The comment in the above version of 'any_cast' explains when this + // assert is fired and what to do. + BOOST_STATIC_ASSERT(!is_reference::value); +#endif + + return any_cast(const_cast(operand)); + } + + // Note: The "unsafe" versions of any_cast are not part of the + // public interface and may be removed at any time. They are + // required where we know what type is stored in the any and can't + // use typeid() comparison, e.g., when our types may travel across + // different shared libraries. + template + inline ValueType * unsafe_any_cast(any * operand) + { + return &static_cast *>(operand->content)->held; + } + + template + inline const ValueType * unsafe_any_cast(const any * operand) + { + return unsafe_any_cast(const_cast(operand)); + } +} + +// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/assert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/assert.hpp new file mode 100644 index 0000000..281c465 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/assert.hpp @@ -0,0 +1,50 @@ +// +// boost/assert.hpp - BOOST_ASSERT(expr) +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2007 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Note: There are no include guards. This is intentional. +// +// See http://www.boost.org/libs/utility/assert.html for documentation. +// + +#undef BOOST_ASSERT + +#if defined(BOOST_DISABLE_ASSERTS) + +# define BOOST_ASSERT(expr) ((void)0) + +#elif defined(BOOST_ENABLE_ASSERT_HANDLER) + +#include + +namespace boost +{ + +void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined + +} // namespace boost + +#define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) + +#else +# include // .h to support old libraries w/o - effect is the same +# define BOOST_ASSERT(expr) assert(expr) +#endif + +#undef BOOST_VERIFY + +#if defined(BOOST_DISABLE_ASSERTS) || ( !defined(BOOST_ENABLE_ASSERT_HANDLER) && defined(NDEBUG) ) + +# define BOOST_VERIFY(expr) ((void)(expr)) + +#else + +# define BOOST_VERIFY(expr) BOOST_ASSERT(expr) + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/apply.hpp new file mode 100644 index 0000000..5ca4e1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/apply.hpp @@ -0,0 +1,74 @@ +#ifndef BOOST_BIND_APPLY_HPP_INCLUDED +#define BOOST_BIND_APPLY_HPP_INCLUDED + +// +// apply.hpp +// +// Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +namespace boost +{ + +template struct apply +{ + typedef R result_type; + + template result_type operator()(F & f) const + { + return f(); + } + + template result_type operator()(F & f, A1 & a1) const + { + return f(a1); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2) const + { + return f(a1, a2); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3) const + { + return f(a1, a2, a3); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4) const + { + return f(a1, a2, a3, a4); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const + { + return f(a1, a2, a3, a4, a5); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const + { + return f(a1, a2, a3, a4, a5, a6); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const + { + return f(a1, a2, a3, a4, a5, a6, a7); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const + { + return f(a1, a2, a3, a4, a5, a6, a7, a8); + } + + template result_type operator()(F & f, A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const + { + return f(a1, a2, a3, a4, a5, a6, a7, a8, a9); + } +}; + +} // namespace boost + +#endif // #ifndef BOOST_BIND_APPLY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/arg.hpp new file mode 100644 index 0000000..c08291a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/arg.hpp @@ -0,0 +1,62 @@ +#ifndef BOOST_BIND_ARG_HPP_INCLUDED +#define BOOST_BIND_ARG_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// bind/arg.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +#include +#include + +namespace boost +{ + +template< int I > struct arg +{ + arg() + { + } + + template< class T > arg( T const & /* t */ ) + { + // static assert I == is_placeholder::value + typedef char T_must_be_placeholder[ I == is_placeholder::value? 1: -1 ]; + } +}; + +template< int I > bool operator==( arg const &, arg const & ) +{ + return true; +} + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template< int I > struct is_placeholder< arg > +{ + enum _vt { value = I }; +}; + +template< int I > struct is_placeholder< arg (*) () > +{ + enum _vt { value = I }; +}; + +#endif + +} // namespace boost + +#endif // #ifndef BOOST_BIND_ARG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind.hpp new file mode 100644 index 0000000..308f607 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind.hpp @@ -0,0 +1,1751 @@ +#ifndef BOOST_BIND_BIND_HPP_INCLUDED +#define BOOST_BIND_BIND_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// bind.hpp - binds function objects to arguments +// +// Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2001 David Abrahams +// Copyright (c) 2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +#include +#include +#include +#include +#include +#include +#include +#include + +// Borland-specific bug, visit_each() silently fails to produce code + +#if defined(__BORLANDC__) +# define BOOST_BIND_VISIT_EACH boost::visit_each +#else +# define BOOST_BIND_VISIT_EACH visit_each +#endif + +#include + +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable: 4512) // assignment operator could not be generated +#endif + +namespace boost +{ + +template class weak_ptr; + +namespace _bi // implementation details +{ + +// result_traits + +template struct result_traits +{ + typedef R type; +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) + +struct unspecified {}; + +template struct result_traits +{ + typedef typename F::result_type type; +}; + +template struct result_traits< unspecified, reference_wrapper > +{ + typedef typename F::result_type type; +}; + +#endif + +// ref_compare + +template bool ref_compare( T const & a, T const & b, long ) +{ + return a == b; +} + +template bool ref_compare( arg const &, arg const &, int ) +{ + return true; +} + +template bool ref_compare( arg (*) (), arg (*) (), int ) +{ + return true; +} + +template bool ref_compare( reference_wrapper const & a, reference_wrapper const & b, int ) +{ + return a.get_pointer() == b.get_pointer(); +} + +// bind_t forward declaration for listN + +template class bind_t; + +template bool ref_compare( bind_t const & a, bind_t const & b, int ) +{ + return a.compare( b ); +} + +// value + +template class value +{ +public: + + value(T const & t): t_(t) {} + + T & get() { return t_; } + T const & get() const { return t_; } + + bool operator==(value const & rhs) const + { + return t_ == rhs.t_; + } + +private: + + T t_; +}; + +// ref_compare for weak_ptr + +template bool ref_compare( value< weak_ptr > const & a, value< weak_ptr > const & b, int ) +{ + return !(a.get() < b.get()) && !(b.get() < a.get()); +} + +// type + +template class type {}; + +// unwrap + +template struct unwrapper +{ + static inline F & unwrap( F & f, long ) + { + return f; + } + + template static inline F2 & unwrap( reference_wrapper rf, int ) + { + return rf.get(); + } + + template static inline _mfi::dm unwrap( R T::* pm, int ) + { + return _mfi::dm( pm ); + } +}; + +// listN + +class list0 +{ +public: + + list0() {} + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A &, long) + { + return unwrapper::unwrap(f, 0)(); + } + + template R operator()(type, F const & f, A &, long) const + { + return unwrapper::unwrap(f, 0)(); + } + + template void operator()(type, F & f, A &, int) + { + unwrapper::unwrap(f, 0)(); + } + + template void operator()(type, F const & f, A &, int) const + { + unwrapper::unwrap(f, 0)(); + } + + template void accept(V &) const + { + } + + bool operator==(list0 const &) const + { + return true; + } +}; + +#ifdef BOOST_MSVC +// MSVC is bright enough to realise that the parameter rhs +// in operator==may be unused for some template argument types: +#pragma warning(push) +#pragma warning(disable:4100) +#endif + +template< class A1 > class list1: private storage1< A1 > +{ +private: + + typedef storage1< A1 > base_type; + +public: + + explicit list1( A1 a1 ): base_type( a1 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + + template T & operator[] ( _bi::value & v ) const { return v.get(); } + + template T const & operator[] ( _bi::value const & v ) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list1 const & rhs) const + { + return ref_compare(base_type::a1_, rhs.a1_, 0); + } +}; + +struct logical_and; +struct logical_or; + +template< class A1, class A2 > class list2: private storage2< A1, A2 > +{ +private: + + typedef storage2< A1, A2 > base_type; + +public: + + list2( A1 a1, A2 a2 ): base_type( a1, a2 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); + } + + template bool operator()( type, logical_and & /*f*/, A & a, int ) + { + return a[ base_type::a1_ ] && a[ base_type::a2_ ]; + } + + template bool operator()( type, logical_and const & /*f*/, A & a, int ) const + { + return a[ base_type::a1_ ] && a[ base_type::a2_ ]; + } + + template bool operator()( type, logical_or & /*f*/, A & a, int ) + { + return a[ base_type::a1_ ] || a[ base_type::a2_ ]; + } + + template bool operator()( type, logical_or const & /*f*/, A & a, int ) const + { + return a[ base_type::a1_ ] || a[ base_type::a2_ ]; + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list2 const & rhs) const + { + return ref_compare(base_type::a1_, rhs.a1_, 0) && ref_compare(base_type::a2_, rhs.a2_, 0); + } +}; + +template< class A1, class A2, class A3 > class list3: private storage3< A1, A2, A3 > +{ +private: + + typedef storage3< A1, A2, A3 > base_type; + +public: + + list3( A1 a1, A2 a2, A3 a3 ): base_type( a1, a2, a3 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list3 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ); + } +}; + +template< class A1, class A2, class A3, class A4 > class list4: private storage4< A1, A2, A3, A4 > +{ +private: + + typedef storage4< A1, A2, A3, A4 > base_type; + +public: + + list4( A1 a1, A2 a2, A3 a3, A4 a4 ): base_type( a1, a2, a3, a4 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + A4 operator[] (boost::arg<4>) const { return base_type::a4_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list4 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ) && + ref_compare( base_type::a4_, rhs.a4_, 0 ); + } +}; + +template< class A1, class A2, class A3, class A4, class A5 > class list5: private storage5< A1, A2, A3, A4, A5 > +{ +private: + + typedef storage5< A1, A2, A3, A4, A5 > base_type; + +public: + + list5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): base_type( a1, a2, a3, a4, a5 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + A4 operator[] (boost::arg<4>) const { return base_type::a4_; } + A5 operator[] (boost::arg<5>) const { return base_type::a5_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } + A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list5 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ) && + ref_compare( base_type::a4_, rhs.a4_, 0 ) && + ref_compare( base_type::a5_, rhs.a5_, 0 ); + } +}; + +template class list6: private storage6< A1, A2, A3, A4, A5, A6 > +{ +private: + + typedef storage6< A1, A2, A3, A4, A5, A6 > base_type; + +public: + + list6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): base_type( a1, a2, a3, a4, a5, a6 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + A4 operator[] (boost::arg<4>) const { return base_type::a4_; } + A5 operator[] (boost::arg<5>) const { return base_type::a5_; } + A6 operator[] (boost::arg<6>) const { return base_type::a6_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } + A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } + A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list6 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ) && + ref_compare( base_type::a4_, rhs.a4_, 0 ) && + ref_compare( base_type::a5_, rhs.a5_, 0 ) && + ref_compare( base_type::a6_, rhs.a6_, 0 ); + } +}; + +template class list7: private storage7< A1, A2, A3, A4, A5, A6, A7 > +{ +private: + + typedef storage7< A1, A2, A3, A4, A5, A6, A7 > base_type; + +public: + + list7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): base_type( a1, a2, a3, a4, a5, a6, a7 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + A4 operator[] (boost::arg<4>) const { return base_type::a4_; } + A5 operator[] (boost::arg<5>) const { return base_type::a5_; } + A6 operator[] (boost::arg<6>) const { return base_type::a6_; } + A7 operator[] (boost::arg<7>) const { return base_type::a7_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } + A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } + A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } + A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list7 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ) && + ref_compare( base_type::a4_, rhs.a4_, 0 ) && + ref_compare( base_type::a5_, rhs.a5_, 0 ) && + ref_compare( base_type::a6_, rhs.a6_, 0 ) && + ref_compare( base_type::a7_, rhs.a7_, 0 ); + } +}; + +template< class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8 > class list8: private storage8< A1, A2, A3, A4, A5, A6, A7, A8 > +{ +private: + + typedef storage8< A1, A2, A3, A4, A5, A6, A7, A8 > base_type; + +public: + + list8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + A4 operator[] (boost::arg<4>) const { return base_type::a4_; } + A5 operator[] (boost::arg<5>) const { return base_type::a5_; } + A6 operator[] (boost::arg<6>) const { return base_type::a6_; } + A7 operator[] (boost::arg<7>) const { return base_type::a7_; } + A8 operator[] (boost::arg<8>) const { return base_type::a8_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } + A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } + A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } + A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } + A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list8 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ) && + ref_compare( base_type::a4_, rhs.a4_, 0 ) && + ref_compare( base_type::a5_, rhs.a5_, 0 ) && + ref_compare( base_type::a6_, rhs.a6_, 0 ) && + ref_compare( base_type::a7_, rhs.a7_, 0 ) && + ref_compare( base_type::a8_, rhs.a8_, 0 ); + } +}; + +template class list9: private storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > +{ +private: + + typedef storage9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > base_type; + +public: + + list9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): base_type( a1, a2, a3, a4, a5, a6, a7, a8, a9 ) {} + + A1 operator[] (boost::arg<1>) const { return base_type::a1_; } + A2 operator[] (boost::arg<2>) const { return base_type::a2_; } + A3 operator[] (boost::arg<3>) const { return base_type::a3_; } + A4 operator[] (boost::arg<4>) const { return base_type::a4_; } + A5 operator[] (boost::arg<5>) const { return base_type::a5_; } + A6 operator[] (boost::arg<6>) const { return base_type::a6_; } + A7 operator[] (boost::arg<7>) const { return base_type::a7_; } + A8 operator[] (boost::arg<8>) const { return base_type::a8_; } + A9 operator[] (boost::arg<9>) const { return base_type::a9_; } + + A1 operator[] (boost::arg<1> (*) ()) const { return base_type::a1_; } + A2 operator[] (boost::arg<2> (*) ()) const { return base_type::a2_; } + A3 operator[] (boost::arg<3> (*) ()) const { return base_type::a3_; } + A4 operator[] (boost::arg<4> (*) ()) const { return base_type::a4_; } + A5 operator[] (boost::arg<5> (*) ()) const { return base_type::a5_; } + A6 operator[] (boost::arg<6> (*) ()) const { return base_type::a6_; } + A7 operator[] (boost::arg<7> (*) ()) const { return base_type::a7_; } + A8 operator[] (boost::arg<8> (*) ()) const { return base_type::a8_; } + A9 operator[] (boost::arg<9> (*) ()) const { return base_type::a9_; } + + template T & operator[] (_bi::value & v) const { return v.get(); } + + template T const & operator[] (_bi::value const & v) const { return v.get(); } + + template T & operator[] (reference_wrapper const & v) const { return v.get(); } + + template typename result_traits::type operator[] (bind_t & b) const { return b.eval(*this); } + + template typename result_traits::type operator[] (bind_t const & b) const { return b.eval(*this); } + + template R operator()(type, F & f, A & a, long) + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); + } + + template R operator()(type, F const & f, A & a, long) const + { + return unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); + } + + template void operator()(type, F & f, A & a, int) + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); + } + + template void operator()(type, F const & f, A & a, int) const + { + unwrapper::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_], a[base_type::a4_], a[base_type::a5_], a[base_type::a6_], a[base_type::a7_], a[base_type::a8_], a[base_type::a9_]); + } + + template void accept(V & v) const + { + base_type::accept(v); + } + + bool operator==(list9 const & rhs) const + { + return + + ref_compare( base_type::a1_, rhs.a1_, 0 ) && + ref_compare( base_type::a2_, rhs.a2_, 0 ) && + ref_compare( base_type::a3_, rhs.a3_, 0 ) && + ref_compare( base_type::a4_, rhs.a4_, 0 ) && + ref_compare( base_type::a5_, rhs.a5_, 0 ) && + ref_compare( base_type::a6_, rhs.a6_, 0 ) && + ref_compare( base_type::a7_, rhs.a7_, 0 ) && + ref_compare( base_type::a8_, rhs.a8_, 0 ) && + ref_compare( base_type::a9_, rhs.a9_, 0 ); + } +}; + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif + +// bind_t + +#ifndef BOOST_NO_VOID_RETURNS + +template class bind_t +{ +public: + + typedef bind_t this_type; + + bind_t(F f, L const & l): f_(f), l_(l) {} + +#define BOOST_BIND_RETURN return +#include +#undef BOOST_BIND_RETURN + +}; + +#else + +template struct bind_t_generator +{ + +template class implementation +{ +public: + + typedef implementation this_type; + + implementation(F f, L const & l): f_(f), l_(l) {} + +#define BOOST_BIND_RETURN return +#include +#undef BOOST_BIND_RETURN + +}; + +}; + +template<> struct bind_t_generator +{ + +template class implementation +{ +private: + + typedef void R; + +public: + + typedef implementation this_type; + + implementation(F f, L const & l): f_(f), l_(l) {} + +#define BOOST_BIND_RETURN +#include +#undef BOOST_BIND_RETURN + +}; + +}; + +template class bind_t: public bind_t_generator::BOOST_NESTED_TEMPLATE implementation +{ +public: + + bind_t(F f, L const & l): bind_t_generator::BOOST_NESTED_TEMPLATE implementation(f, l) {} + +}; + +#endif + +// function_equal + +#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP + +// put overloads in _bi, rely on ADL + +# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING + +template bool function_equal( bind_t const & a, bind_t const & b ) +{ + return a.compare(b); +} + +# else + +template bool function_equal_impl( bind_t const & a, bind_t const & b, int ) +{ + return a.compare(b); +} + +# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING + +#else // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP + +// put overloads in boost + +} // namespace _bi + +# ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING + +template bool function_equal( _bi::bind_t const & a, _bi::bind_t const & b ) +{ + return a.compare(b); +} + +# else + +template bool function_equal_impl( _bi::bind_t const & a, _bi::bind_t const & b, int ) +{ + return a.compare(b); +} + +# endif // #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING + +namespace _bi +{ + +#endif // BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP + +// add_value + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || (__SUNPRO_CC >= 0x530) + +#if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x582) ) + +template struct add_value +{ + typedef _bi::value type; +}; + +#else + +template< class T, int I > struct add_value_2 +{ + typedef boost::arg type; +}; + +template< class T > struct add_value_2< T, 0 > +{ + typedef _bi::value< T > type; +}; + +template struct add_value +{ + typedef typename add_value_2< T, boost::is_placeholder< T >::value >::type type; +}; + +#endif + +template struct add_value< value > +{ + typedef _bi::value type; +}; + +template struct add_value< reference_wrapper > +{ + typedef reference_wrapper type; +}; + +template struct add_value< arg > +{ + typedef boost::arg type; +}; + +template struct add_value< arg (*) () > +{ + typedef boost::arg (*type) (); +}; + +template struct add_value< bind_t > +{ + typedef bind_t type; +}; + +#else + +template struct _avt_0; + +template<> struct _avt_0<1> +{ + template struct inner + { + typedef T type; + }; +}; + +template<> struct _avt_0<2> +{ + template struct inner + { + typedef value type; + }; +}; + +typedef char (&_avt_r1) [1]; +typedef char (&_avt_r2) [2]; + +template _avt_r1 _avt_f(value); +template _avt_r1 _avt_f(reference_wrapper); +template _avt_r1 _avt_f(arg); +template _avt_r1 _avt_f(arg (*) ()); +template _avt_r1 _avt_f(bind_t); + +_avt_r2 _avt_f(...); + +template struct add_value +{ + static T t(); + typedef typename _avt_0::template inner::type type; +}; + +#endif + +// list_av_N + +template struct list_av_1 +{ + typedef typename add_value::type B1; + typedef list1 type; +}; + +template struct list_av_2 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef list2 type; +}; + +template struct list_av_3 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef list3 type; +}; + +template struct list_av_4 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef typename add_value::type B4; + typedef list4 type; +}; + +template struct list_av_5 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef typename add_value::type B4; + typedef typename add_value::type B5; + typedef list5 type; +}; + +template struct list_av_6 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef typename add_value::type B4; + typedef typename add_value::type B5; + typedef typename add_value::type B6; + typedef list6 type; +}; + +template struct list_av_7 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef typename add_value::type B4; + typedef typename add_value::type B5; + typedef typename add_value::type B6; + typedef typename add_value::type B7; + typedef list7 type; +}; + +template struct list_av_8 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef typename add_value::type B4; + typedef typename add_value::type B5; + typedef typename add_value::type B6; + typedef typename add_value::type B7; + typedef typename add_value::type B8; + typedef list8 type; +}; + +template struct list_av_9 +{ + typedef typename add_value::type B1; + typedef typename add_value::type B2; + typedef typename add_value::type B3; + typedef typename add_value::type B4; + typedef typename add_value::type B5; + typedef typename add_value::type B6; + typedef typename add_value::type B7; + typedef typename add_value::type B8; + typedef typename add_value::type B9; + typedef list9 type; +}; + +// operator! + +struct logical_not +{ + template bool operator()(V const & v) const { return !v; } +}; + +template + bind_t< bool, logical_not, list1< bind_t > > + operator! (bind_t const & f) +{ + typedef list1< bind_t > list_type; + return bind_t ( logical_not(), list_type(f) ); +} + +// relational operators + +#define BOOST_BIND_OPERATOR( op, name ) \ +\ +struct name \ +{ \ + template bool operator()(V const & v, W const & w) const { return v op w; } \ +}; \ + \ +template \ + bind_t< bool, name, list2< bind_t, typename add_value::type > > \ + operator op (bind_t const & f, A2 a2) \ +{ \ + typedef typename add_value::type B2; \ + typedef list2< bind_t, B2> list_type; \ + return bind_t ( name(), list_type(f, a2) ); \ +} + +BOOST_BIND_OPERATOR( ==, equal ) +BOOST_BIND_OPERATOR( !=, not_equal ) + +BOOST_BIND_OPERATOR( <, less ) +BOOST_BIND_OPERATOR( <=, less_equal ) + +BOOST_BIND_OPERATOR( >, greater ) +BOOST_BIND_OPERATOR( >=, greater_equal ) + +BOOST_BIND_OPERATOR( &&, logical_and ) +BOOST_BIND_OPERATOR( ||, logical_or ) + +#undef BOOST_BIND_OPERATOR + +#if defined(__GNUC__) && BOOST_WORKAROUND(__GNUC__, < 3) + +// resolve ambiguity with rel_ops + +#define BOOST_BIND_OPERATOR( op, name ) \ +\ +template \ + bind_t< bool, name, list2< bind_t, bind_t > > \ + operator op (bind_t const & f, bind_t const & g) \ +{ \ + typedef list2< bind_t, bind_t > list_type; \ + return bind_t ( name(), list_type(f, g) ); \ +} + +BOOST_BIND_OPERATOR( !=, not_equal ) +BOOST_BIND_OPERATOR( <=, less_equal ) +BOOST_BIND_OPERATOR( >, greater ) +BOOST_BIND_OPERATOR( >=, greater_equal ) + +#endif + +// visit_each, ADL + +#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) \ + && !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) + +template void visit_each( V & v, value const & t, int ) +{ + using boost::visit_each; + BOOST_BIND_VISIT_EACH( v, t.get(), 0 ); +} + +template void visit_each( V & v, bind_t const & t, int ) +{ + t.accept( v ); +} + +#endif + +} // namespace _bi + +// visit_each, no ADL + +#if defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) || defined( __BORLANDC__ ) \ + || (defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) + +template void visit_each( V & v, _bi::value const & t, int ) +{ + BOOST_BIND_VISIT_EACH( v, t.get(), 0 ); +} + +template void visit_each( V & v, _bi::bind_t const & t, int ) +{ + t.accept( v ); +} + +#endif + +// is_bind_expression + +template< class T > struct is_bind_expression +{ + enum _vt { value = 0 }; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template< class R, class F, class L > struct is_bind_expression< _bi::bind_t< R, F, L > > +{ + enum _vt { value = 1 }; +}; + +#endif + +// bind + +#ifndef BOOST_BIND +#define BOOST_BIND bind +#endif + +// generic function objects + +template + _bi::bind_t + BOOST_BIND(F f) +{ + typedef _bi::list0 list_type; + return _bi::bind_t (f, list_type()); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1) +{ + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t (f, list_type(a1)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2) +{ + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t (f, list_type(a1, a2)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3) +{ + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + _bi::bind_t::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +// generic function objects, alternative syntax + +template + _bi::bind_t + BOOST_BIND(boost::type, F f) +{ + typedef _bi::list0 list_type; + return _bi::bind_t (f, list_type()); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1) +{ + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t (f, list_type(a1)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2) +{ + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t (f, list_type(a1, a2)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3) +{ + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + _bi::bind_t::type> + BOOST_BIND(boost::type, F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) + +// adaptable function objects + +template + _bi::bind_t<_bi::unspecified, F, _bi::list0> + BOOST_BIND(F f) +{ + typedef _bi::list0 list_type; + return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type()); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_1::type> + BOOST_BIND(F f, A1 a1) +{ + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_2::type> + BOOST_BIND(F f, A1 a1, A2 a2) +{ + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type> (f, list_type(a1, a2)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_3::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3) +{ + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_4::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_5::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_6::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_7::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_8::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + _bi::bind_t<_bi::unspecified, F, typename _bi::list_av_9::type> + BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t<_bi::unspecified, F, list_type>(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) + +// function pointers + +#define BOOST_BIND_CC +#define BOOST_BIND_ST + +#include + +#undef BOOST_BIND_CC +#undef BOOST_BIND_ST + +#ifdef BOOST_BIND_ENABLE_STDCALL + +#define BOOST_BIND_CC __stdcall +#define BOOST_BIND_ST + +#include + +#undef BOOST_BIND_CC +#undef BOOST_BIND_ST + +#endif + +#ifdef BOOST_BIND_ENABLE_FASTCALL + +#define BOOST_BIND_CC __fastcall +#define BOOST_BIND_ST + +#include + +#undef BOOST_BIND_CC +#undef BOOST_BIND_ST + +#endif + +#ifdef BOOST_BIND_ENABLE_PASCAL + +#define BOOST_BIND_ST pascal +#define BOOST_BIND_CC + +#include + +#undef BOOST_BIND_ST +#undef BOOST_BIND_CC + +#endif + +// member function pointers + +#define BOOST_BIND_MF_NAME(X) X +#define BOOST_BIND_MF_CC + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC + +#ifdef BOOST_MEM_FN_ENABLE_CDECL + +#define BOOST_BIND_MF_NAME(X) X##_cdecl +#define BOOST_BIND_MF_CC __cdecl + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_STDCALL + +#define BOOST_BIND_MF_NAME(X) X##_stdcall +#define BOOST_BIND_MF_CC __stdcall + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_FASTCALL + +#define BOOST_BIND_MF_NAME(X) X##_fastcall +#define BOOST_BIND_MF_CC __fastcall + +#include +#include + +#undef BOOST_BIND_MF_NAME +#undef BOOST_BIND_MF_CC + +#endif + +// data member pointers + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + || ( defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x620 ) ) ) + +template +_bi::bind_t< R, _mfi::dm, typename _bi::list_av_1::type > + BOOST_BIND(R T::*f, A1 a1) +{ + typedef _mfi::dm F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t( F(f), list_type(a1) ); +} + +#else + +namespace _bi +{ + +template< class Pm, int I > struct add_cref; + +template< class M, class T > struct add_cref< M T::*, 0 > +{ + typedef M type; +}; + +template< class M, class T > struct add_cref< M T::*, 1 > +{ +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4180) +#endif + typedef M const & type; +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif +}; + +template< class R, class T > struct add_cref< R (T::*) (), 1 > +{ + typedef void type; +}; + +#if !( defined(__IBMCPP__) && BOOST_WORKAROUND( __IBMCPP__, BOOST_TESTED_AT(600) ) ) + +template< class R, class T > struct add_cref< R (T::*) () const, 1 > +{ + typedef void type; +}; + +#endif // __IBMCPP__ + +template struct isref +{ + enum value_type { value = 0 }; +}; + +template struct isref< R& > +{ + enum value_type { value = 1 }; +}; + +template struct isref< R* > +{ + enum value_type { value = 1 }; +}; + +template struct dm_result +{ + typedef typename add_cref< Pm, 1 >::type type; +}; + +template struct dm_result< Pm, bind_t > +{ + typedef typename bind_t::result_type result_type; + typedef typename add_cref< Pm, isref< result_type >::value >::type type; +}; + +} // namespace _bi + +template< class A1, class M, class T > + +_bi::bind_t< + typename _bi::dm_result< M T::*, A1 >::type, + _mfi::dm, + typename _bi::list_av_1::type +> + +BOOST_BIND( M T::*f, A1 a1 ) +{ + typedef typename _bi::dm_result< M T::*, A1 >::type result_type; + typedef _mfi::dm F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t< result_type, F, list_type >( F( f ), list_type( a1 ) ); +} + +#endif + +} // namespace boost + +#ifndef BOOST_BIND_NO_PLACEHOLDERS + +# include + +#endif + +#ifdef BOOST_MSVC +# pragma warning(default: 4512) // assignment operator could not be generated +# pragma warning(pop) +#endif + +#endif // #ifndef BOOST_BIND_BIND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_cc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_cc.hpp new file mode 100644 index 0000000..9d8ca21 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_cc.hpp @@ -0,0 +1,117 @@ +// +// bind/bind_cc.hpp - support for different calling conventions +// +// Do not include this header directly. +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +template + _bi::bind_t + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) ()) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (); + typedef _bi::list0 list_type; + return _bi::bind_t (f, list_type()); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1), A1 a1) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1); + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t (f, list_type(a1)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2), A1 a1, A2 a2) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2); + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t (f, list_type(a1, a2)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3), A1 a1, A2 a2, A3 a3) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3); + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4); + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5); + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6); + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7); + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8); + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + _bi::bind_t::type> + BOOST_BIND(BOOST_BIND_ST R (BOOST_BIND_CC *f) (B1, B2, B3, B4, B5, B6, B7, B8, B9), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef BOOST_BIND_ST R (BOOST_BIND_CC *F) (B1, B2, B3, B4, B5, B6, B7, B8, B9); + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(f, list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf2_cc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf2_cc.hpp new file mode 100644 index 0000000..f3b90c9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf2_cc.hpp @@ -0,0 +1,228 @@ +// +// bind/bind_mf2_cc.hpp - member functions, type<> syntax +// +// Do not include this header directly. +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2008 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +// 0 + +template + _bi::bind_t, typename _bi::list_av_1::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (), A1 a1) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t(F(f), list_type(a1)); +} + +template + _bi::bind_t, typename _bi::list_av_1::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) () const, A1 a1) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t(F(f), list_type(a1)); +} + +// 1 + +template + _bi::bind_t, typename _bi::list_av_2::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2)); +} + +template + _bi::bind_t, typename _bi::list_av_2::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2)); +} + +// 2 + +template + _bi::bind_t, typename _bi::list_av_3::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3)); +} + +template + _bi::bind_t, typename _bi::list_av_3::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3)); +} + +// 3 + +template + _bi::bind_t, typename _bi::list_av_4::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); +} + +template + _bi::bind_t, typename _bi::list_av_4::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); +} + +// 4 + +template + _bi::bind_t, typename _bi::list_av_5::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); +} + +template + _bi::bind_t, typename _bi::list_av_5::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); +} + +// 5 + +template + _bi::bind_t, typename _bi::list_av_6::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); +} + +template + _bi::bind_t, typename _bi::list_av_6::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); +} + +// 6 + +template + _bi::bind_t, typename _bi::list_av_7::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + _bi::bind_t, typename _bi::list_av_7::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +// 7 + +template + _bi::bind_t, typename _bi::list_av_8::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + _bi::bind_t, typename _bi::list_av_8::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +// 8 + +template + _bi::bind_t, typename _bi::list_av_9::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +template + _bi::bind_t, typename _bi::list_av_9::type> + BOOST_BIND(boost::type, R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf_cc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf_cc.hpp new file mode 100644 index 0000000..49f43a1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_mf_cc.hpp @@ -0,0 +1,227 @@ +// +// bind/bind_mf_cc.hpp - support for different calling conventions +// +// Do not include this header directly. +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +// 0 + +template + _bi::bind_t, typename _bi::list_av_1::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t(F(f), list_type(a1)); +} + +template + _bi::bind_t, typename _bi::list_av_1::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t(F(f), list_type(a1)); +} + +// 1 + +template + _bi::bind_t, typename _bi::list_av_2::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2)); +} + +template + _bi::bind_t, typename _bi::list_av_2::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2)); +} + +// 2 + +template + _bi::bind_t, typename _bi::list_av_3::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3)); +} + +template + _bi::bind_t, typename _bi::list_av_3::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3)); +} + +// 3 + +template + _bi::bind_t, typename _bi::list_av_4::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); +} + +template + _bi::bind_t, typename _bi::list_av_4::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); +} + +// 4 + +template + _bi::bind_t, typename _bi::list_av_5::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); +} + +template + _bi::bind_t, typename _bi::list_av_5::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); +} + +// 5 + +template + _bi::bind_t, typename _bi::list_av_6::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); +} + +template + _bi::bind_t, typename _bi::list_av_6::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); +} + +// 6 + +template + _bi::bind_t, typename _bi::list_av_7::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + _bi::bind_t, typename _bi::list_av_7::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +// 7 + +template + _bi::bind_t, typename _bi::list_av_8::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + _bi::bind_t, typename _bi::list_av_8::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +// 8 + +template + _bi::bind_t, typename _bi::list_av_9::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +template + _bi::bind_t, typename _bi::list_av_9::type> + BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_template.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_template.hpp new file mode 100644 index 0000000..d394a9b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/bind_template.hpp @@ -0,0 +1,345 @@ +// +// bind/bind_template.hpp +// +// Do not include this header directly. +// +// Copyright (c) 2001-2004 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + + typedef typename result_traits::type result_type; + + result_type operator()() + { + list0 a; + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + result_type operator()() const + { + list0 a; + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1) + { + list1 a(a1); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1) const + { + list1 a(a1); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1) + { + list1 a(a1); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1) const + { + list1 a(a1); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2) + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2) const + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 & a2) + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 & a2) const + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + + template result_type operator()(A1 & a1, A2 const & a2) + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 const & a2) const + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + + template result_type operator()(A1 const & a1, A2 const & a2) + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2) const + { + list2 a(a1, a2); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3) + { + list3 a(a1, a2, a3); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3) const + { + list3 a(a1, a2, a3); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) + { + list3 a(a1, a2, a3); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const + { + list3 a(a1, a2, a3); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) + { + list4 a(a1, a2, a3, a4); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const + { + list4 a(a1, a2, a3, a4); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) + { + list4 a(a1, a2, a3, a4); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const + { + list4 a(a1, a2, a3, a4); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) + { + list5 a(a1, a2, a3, a4, a5); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const + { + list5 a(a1, a2, a3, a4, a5); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) + { + list5 a(a1, a2, a3, a4, a5); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const + { + list5 a(a1, a2, a3, a4, a5); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) + { + list6 a(a1, a2, a3, a4, a5, a6); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const + { + list6 a(a1, a2, a3, a4, a5, a6); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) + { + list6 a(a1, a2, a3, a4, a5, a6); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const + { + list6 a(a1, a2, a3, a4, a5, a6); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) + { + list7 a(a1, a2, a3, a4, a5, a6, a7); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const + { + list7 a(a1, a2, a3, a4, a5, a6, a7); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) + { + list7 a(a1, a2, a3, a4, a5, a6, a7); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const + { + list7 a(a1, a2, a3, a4, a5, a6, a7); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) + { + list8 a(a1, a2, a3, a4, a5, a6, a7, a8); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const + { + list8 a(a1, a2, a3, a4, a5, a6, a7, a8); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) + { + list8 a(a1, a2, a3, a4, a5, a6, a7, a8); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const + { + list8 a(a1, a2, a3, a4, a5, a6, a7, a8); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) + { + list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const + { + list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) + { + list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const + { + list9 a(a1, a2, a3, a4, a5, a6, a7, a8, a9); + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + +#endif + + template result_type eval(A & a) + { + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template result_type eval(A & a) const + { + BOOST_BIND_RETURN l_(type(), f_, a, 0); + } + + template void accept(V & v) const + { +#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) + + using boost::visit_each; + +#endif + BOOST_BIND_VISIT_EACH(v, f_, 0); + l_.accept(v); + } + + bool compare(this_type const & rhs) const + { + return ref_compare(f_, rhs.f_, 0) && l_ == rhs.l_; + } + +private: + + F f_; + L l_; diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/make_adaptable.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/make_adaptable.hpp new file mode 100644 index 0000000..06ecccf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/make_adaptable.hpp @@ -0,0 +1,187 @@ +#ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED +#define BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED + +// +// make_adaptable.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +namespace boost +{ + +namespace _bi +{ + +template class af0 +{ +public: + + typedef R result_type; + + explicit af0(F f): f_(f) + { + } + + result_type operator()() + { + return f_(); + } + + result_type operator()() const + { + return f_(); + } + +private: + + F f_; +}; + +template class af1 +{ +public: + + typedef R result_type; + typedef A1 argument_type; + typedef A1 arg1_type; + + explicit af1(F f): f_(f) + { + } + + result_type operator()(A1 a1) + { + return f_(a1); + } + + result_type operator()(A1 a1) const + { + return f_(a1); + } + +private: + + F f_; +}; + +template class af2 +{ +public: + + typedef R result_type; + typedef A1 first_argument_type; + typedef A2 second_argument_type; + typedef A1 arg1_type; + typedef A2 arg2_type; + + explicit af2(F f): f_(f) + { + } + + result_type operator()(A1 a1, A2 a2) + { + return f_(a1, a2); + } + + result_type operator()(A1 a1, A2 a2) const + { + return f_(a1, a2); + } + +private: + + F f_; +}; + +template class af3 +{ +public: + + typedef R result_type; + typedef A1 arg1_type; + typedef A2 arg2_type; + typedef A3 arg3_type; + + explicit af3(F f): f_(f) + { + } + + result_type operator()(A1 a1, A2 a2, A3 a3) + { + return f_(a1, a2, a3); + } + + result_type operator()(A1 a1, A2 a2, A3 a3) const + { + return f_(a1, a2, a3); + } + +private: + + F f_; +}; + +template class af4 +{ +public: + + typedef R result_type; + typedef A1 arg1_type; + typedef A2 arg2_type; + typedef A3 arg3_type; + typedef A4 arg4_type; + + explicit af4(F f): f_(f) + { + } + + result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4) + { + return f_(a1, a2, a3, a4); + } + + result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4) const + { + return f_(a1, a2, a3, a4); + } + +private: + + F f_; +}; + +} // namespace _bi + +template _bi::af0 make_adaptable(F f) +{ + return _bi::af0(f); +} + +template _bi::af1 make_adaptable(F f) +{ + return _bi::af1(f); +} + +template _bi::af2 make_adaptable(F f) +{ + return _bi::af2(f); +} + +template _bi::af3 make_adaptable(F f) +{ + return _bi::af3(f); +} + +template _bi::af4 make_adaptable(F f) +{ + return _bi::af4(f); +} + +} // namespace boost + +#endif // #ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn.hpp new file mode 100644 index 0000000..86c61e4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn.hpp @@ -0,0 +1,389 @@ +#ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED +#define BOOST_BIND_MEM_FN_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// mem_fn.hpp - a generalization of std::mem_fun[_ref] +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2001 David Abrahams +// Copyright (c) 2003-2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/mem_fn.html for documentation. +// + +#include +#include +#include + +namespace boost +{ + +#if defined(BOOST_NO_VOID_RETURNS) + +#define BOOST_MEM_FN_CLASS_F , class F +#define BOOST_MEM_FN_TYPEDEF(X) + +namespace _mfi // mem_fun_impl +{ + +template struct mf +{ + +#define BOOST_MEM_FN_RETURN return + +#define BOOST_MEM_FN_NAME(X) inner_##X +#define BOOST_MEM_FN_CC + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#ifdef BOOST_MEM_FN_ENABLE_CDECL + +#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl +#define BOOST_MEM_FN_CC __cdecl + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_STDCALL + +#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall +#define BOOST_MEM_FN_CC __stdcall + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_FASTCALL + +#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall +#define BOOST_MEM_FN_CC __fastcall + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#undef BOOST_MEM_FN_RETURN + +}; // struct mf + +template<> struct mf +{ + +#define BOOST_MEM_FN_RETURN + +#define BOOST_MEM_FN_NAME(X) inner_##X +#define BOOST_MEM_FN_CC + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#ifdef BOOST_MEM_FN_ENABLE_CDECL + +#define BOOST_MEM_FN_NAME(X) inner_##X##_cdecl +#define BOOST_MEM_FN_CC __cdecl + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_STDCALL + +#define BOOST_MEM_FN_NAME(X) inner_##X##_stdcall +#define BOOST_MEM_FN_CC __stdcall + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_FASTCALL + +#define BOOST_MEM_FN_NAME(X) inner_##X##_fastcall +#define BOOST_MEM_FN_CC __fastcall + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#undef BOOST_MEM_FN_RETURN + +}; // struct mf + +#undef BOOST_MEM_FN_CLASS_F +#undef BOOST_MEM_FN_TYPEDEF_F + +#define BOOST_MEM_FN_NAME(X) X +#define BOOST_MEM_FN_NAME2(X) inner_##X +#define BOOST_MEM_FN_CC + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_NAME2 +#undef BOOST_MEM_FN_CC + +#ifdef BOOST_MEM_FN_ENABLE_CDECL + +#define BOOST_MEM_FN_NAME(X) X##_cdecl +#define BOOST_MEM_FN_NAME2(X) inner_##X##_cdecl +#define BOOST_MEM_FN_CC __cdecl + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_NAME2 +#undef BOOST_MEM_FN_CC + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_STDCALL + +#define BOOST_MEM_FN_NAME(X) X##_stdcall +#define BOOST_MEM_FN_NAME2(X) inner_##X##_stdcall +#define BOOST_MEM_FN_CC __stdcall + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_NAME2 +#undef BOOST_MEM_FN_CC + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_FASTCALL + +#define BOOST_MEM_FN_NAME(X) X##_fastcall +#define BOOST_MEM_FN_NAME2(X) inner_##X##_fastcall +#define BOOST_MEM_FN_CC __fastcall + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_NAME2 +#undef BOOST_MEM_FN_CC + +#endif + +} // namespace _mfi + +#else // #ifdef BOOST_NO_VOID_RETURNS + +#define BOOST_MEM_FN_CLASS_F +#define BOOST_MEM_FN_TYPEDEF(X) typedef X; + +namespace _mfi +{ + +#define BOOST_MEM_FN_RETURN return + +#define BOOST_MEM_FN_NAME(X) X +#define BOOST_MEM_FN_CC + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#ifdef BOOST_MEM_FN_ENABLE_CDECL + +#define BOOST_MEM_FN_NAME(X) X##_cdecl +#define BOOST_MEM_FN_CC __cdecl + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_STDCALL + +#define BOOST_MEM_FN_NAME(X) X##_stdcall +#define BOOST_MEM_FN_CC __stdcall + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_FASTCALL + +#define BOOST_MEM_FN_NAME(X) X##_fastcall +#define BOOST_MEM_FN_CC __fastcall + +#include + +#undef BOOST_MEM_FN_CC +#undef BOOST_MEM_FN_NAME + +#endif + +#undef BOOST_MEM_FN_RETURN + +} // namespace _mfi + +#undef BOOST_MEM_FN_CLASS_F +#undef BOOST_MEM_FN_TYPEDEF + +#endif // #ifdef BOOST_NO_VOID_RETURNS + +#define BOOST_MEM_FN_NAME(X) X +#define BOOST_MEM_FN_CC + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_CC + +#ifdef BOOST_MEM_FN_ENABLE_CDECL + +#define BOOST_MEM_FN_NAME(X) X##_cdecl +#define BOOST_MEM_FN_CC __cdecl + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_CC + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_STDCALL + +#define BOOST_MEM_FN_NAME(X) X##_stdcall +#define BOOST_MEM_FN_CC __stdcall + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_CC + +#endif + +#ifdef BOOST_MEM_FN_ENABLE_FASTCALL + +#define BOOST_MEM_FN_NAME(X) X##_fastcall +#define BOOST_MEM_FN_CC __fastcall + +#include + +#undef BOOST_MEM_FN_NAME +#undef BOOST_MEM_FN_CC + +#endif + +// data member support + +namespace _mfi +{ + +template class dm +{ +public: + + typedef R const & result_type; + typedef T const * argument_type; + +private: + + typedef R (T::*F); + F f_; + + template R const & call(U & u, T const *) const + { + return (u.*f_); + } + + template R const & call(U & u, void const *) const + { + return (get_pointer(u)->*f_); + } + +public: + + explicit dm(F f): f_(f) {} + + R & operator()(T * p) const + { + return (p->*f_); + } + + R const & operator()(T const * p) const + { + return (p->*f_); + } + + template R const & operator()(U const & u) const + { + return call(u, &u); + } + +#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__MWERKS__, < 0x3200) + + R & operator()(T & t) const + { + return (t.*f_); + } + + R const & operator()(T const & t) const + { + return (t.*f_); + } + +#endif + + bool operator==(dm const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(dm const & rhs) const + { + return f_ != rhs.f_; + } +}; + +} // namespace _mfi + +template _mfi::dm mem_fn(R T::*f) +{ + return _mfi::dm(f); +} + +} // namespace boost + +#endif // #ifndef BOOST_BIND_MEM_FN_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_cc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_cc.hpp new file mode 100644 index 0000000..afc35bf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_cc.hpp @@ -0,0 +1,103 @@ +// +// bind/mem_fn_cc.hpp - support for different calling conventions +// +// Do not include this header directly. +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/mem_fn.html for documentation. +// + +template _mfi::BOOST_MEM_FN_NAME(mf0) mem_fn(R (BOOST_MEM_FN_CC T::*f) ()) +{ + return _mfi::BOOST_MEM_FN_NAME(mf0)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf0) mem_fn(R (BOOST_MEM_FN_CC T::*f) () const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf0)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf1) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf1)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf1) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf1)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf2) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf2)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf2) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf2)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf3) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf3)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf3) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf3)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf4) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf4)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf4) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf4)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf5) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf5)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf5) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf5)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf6) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf6)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf6) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf6)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf7) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf7)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf7) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf7)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(mf8) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8)) +{ + return _mfi::BOOST_MEM_FN_NAME(mf8)(f); +} + +template _mfi::BOOST_MEM_FN_NAME(cmf8) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const) +{ + return _mfi::BOOST_MEM_FN_NAME(cmf8)(f); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_template.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_template.hpp new file mode 100644 index 0000000..0392c61 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_template.hpp @@ -0,0 +1,1047 @@ +// +// bind/mem_fn_template.hpp +// +// Do not include this header directly +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/mem_fn.html for documentation. +// + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) +# define BOOST_MEM_FN_ENABLE_CONST_OVERLOADS +#endif + +// mf0 + +template class BOOST_MEM_FN_NAME(mf0) +{ +public: + + typedef R result_type; + typedef T * argument_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) ()) + F f_; + + template R call(U & u, T const *) const + { + BOOST_MEM_FN_RETURN (u.*f_)(); + } + + template R call(U & u, void const *) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf0)(F f): f_(f) {} + + R operator()(T * p) const + { + BOOST_MEM_FN_RETURN (p->*f_)(); + } + + template R operator()(U & u) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p); + } + +#endif + + R operator()(T & t) const + { + BOOST_MEM_FN_RETURN (t.*f_)(); + } + + bool operator==(BOOST_MEM_FN_NAME(mf0) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf0) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf0 + +template class BOOST_MEM_FN_NAME(cmf0) +{ +public: + + typedef R result_type; + typedef T const * argument_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) () const) + F f_; + + template R call(U & u, T const *) const + { + BOOST_MEM_FN_RETURN (u.*f_)(); + } + + template R call(U & u, void const *) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf0)(F f): f_(f) {} + + template R operator()(U const & u) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p); + } + + R operator()(T const & t) const + { + BOOST_MEM_FN_RETURN (t.*f_)(); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf0) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf0) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf1 + +template class BOOST_MEM_FN_NAME(mf1) +{ +public: + + typedef R result_type; + typedef T * first_argument_type; + typedef A1 second_argument_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1)) + F f_; + + template R call(U & u, T const *, B1 & b1) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1); + } + + template R call(U & u, void const *, B1 & b1) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf1)(F f): f_(f) {} + + R operator()(T * p, A1 a1) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1); + } + + template R operator()(U & u, A1 a1) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1); + } + +#endif + + R operator()(T & t, A1 a1) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1); + } + + bool operator==(BOOST_MEM_FN_NAME(mf1) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf1) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf1 + +template class BOOST_MEM_FN_NAME(cmf1) +{ +public: + + typedef R result_type; + typedef T const * first_argument_type; + typedef A1 second_argument_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1) const) + F f_; + + template R call(U & u, T const *, B1 & b1) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1); + } + + template R call(U & u, void const *, B1 & b1) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf1)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1); + } + + R operator()(T const & t, A1 a1) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf1) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf1) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf2 + +template class BOOST_MEM_FN_NAME(mf2) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf2)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2); + } + + template R operator()(U & u, A1 a1, A2 a2) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2); + } + + bool operator==(BOOST_MEM_FN_NAME(mf2) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf2) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf2 + +template class BOOST_MEM_FN_NAME(cmf2) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf2)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1, A2 a2) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2); + } + + R operator()(T const & t, A1 a1, A2 a2) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf2) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf2) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf3 + +template class BOOST_MEM_FN_NAME(mf3) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf3)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2, A3 a3) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3); + } + + template R operator()(U & u, A1 a1, A2 a2, A3 a3) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2, A3 a3) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3); + } + + bool operator==(BOOST_MEM_FN_NAME(mf3) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf3) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf3 + +template class BOOST_MEM_FN_NAME(cmf3) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf3)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3); + } + + R operator()(T const & t, A1 a1, A2 a2, A3 a3) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf3) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf3) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf4 + +template class BOOST_MEM_FN_NAME(mf4) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf4)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4); + } + + template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4); + } + + bool operator==(BOOST_MEM_FN_NAME(mf4) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf4) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf4 + +template class BOOST_MEM_FN_NAME(cmf4) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf4)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4); + } + + R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf4) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf4) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf5 + +template class BOOST_MEM_FN_NAME(mf5) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf5)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5); + } + + template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5); + } + + bool operator==(BOOST_MEM_FN_NAME(mf5) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf5) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf5 + +template class BOOST_MEM_FN_NAME(cmf5) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf5)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5); + } + + R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf5) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf5) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf6 + +template class BOOST_MEM_FN_NAME(mf6) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf6)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6); + } + + template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6); + } + + bool operator==(BOOST_MEM_FN_NAME(mf6) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf6) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf6 + +template class BOOST_MEM_FN_NAME(cmf6) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf6)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6); + } + + R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf6) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf6) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf7 + +template class BOOST_MEM_FN_NAME(mf7) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf7)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7); + } + + template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7); + } + + bool operator==(BOOST_MEM_FN_NAME(mf7) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf7) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf7 + +template class BOOST_MEM_FN_NAME(cmf7) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf7)(F f): f_(f) {} + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7); + } + + R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf7) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf7) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// mf8 + +template class BOOST_MEM_FN_NAME(mf8) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8)) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8); + } + +public: + + explicit BOOST_MEM_FN_NAME(mf8)(F f): f_(f) {} + + R operator()(T * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8); + } + + template R operator()(U & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); + } + +#ifdef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); + } + +#endif + + R operator()(T & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8); + } + + bool operator==(BOOST_MEM_FN_NAME(mf8) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(mf8) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +// cmf8 + +template class BOOST_MEM_FN_NAME(cmf8) +{ +public: + + typedef R result_type; + +private: + + BOOST_MEM_FN_TYPEDEF(R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const) + F f_; + + template R call(U & u, T const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const + { + BOOST_MEM_FN_RETURN (u.*f_)(b1, b2, b3, b4, b5, b6, b7, b8); + } + + template R call(U & u, void const *, B1 & b1, B2 & b2, B3 & b3, B4 & b4, B5 & b5, B6 & b6, B7 & b7, B8 & b8) const + { + BOOST_MEM_FN_RETURN (get_pointer(u)->*f_)(b1, b2, b3, b4, b5, b6, b7, b8); + } + +public: + + explicit BOOST_MEM_FN_NAME(cmf8)(F f): f_(f) {} + + R operator()(T const * p, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + BOOST_MEM_FN_RETURN (p->*f_)(a1, a2, a3, a4, a5, a6, a7, a8); + } + + template R operator()(U const & u, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + U const * p = 0; + BOOST_MEM_FN_RETURN call(u, p, a1, a2, a3, a4, a5, a6, a7, a8); + } + + R operator()(T const & t, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) const + { + BOOST_MEM_FN_RETURN (t.*f_)(a1, a2, a3, a4, a5, a6, a7, a8); + } + + bool operator==(BOOST_MEM_FN_NAME(cmf8) const & rhs) const + { + return f_ == rhs.f_; + } + + bool operator!=(BOOST_MEM_FN_NAME(cmf8) const & rhs) const + { + return f_ != rhs.f_; + } +}; + +#undef BOOST_MEM_FN_ENABLE_CONST_OVERLOADS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_vw.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_vw.hpp new file mode 100644 index 0000000..7f7daef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/mem_fn_vw.hpp @@ -0,0 +1,130 @@ +// +// bind/mem_fn_vw.hpp - void return helper wrappers +// +// Do not include this header directly +// +// Copyright (c) 2001 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/mem_fn.html for documentation. +// + +template struct BOOST_MEM_FN_NAME(mf0): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (); + explicit BOOST_MEM_FN_NAME(mf0)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf0): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0) +{ + typedef R (BOOST_MEM_FN_CC T::*F) () const; + explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf1): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1); + explicit BOOST_MEM_FN_NAME(mf1)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf1): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1) const; + explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf2): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2); + explicit BOOST_MEM_FN_NAME(mf2)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf2): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const; + explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf3): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3); + explicit BOOST_MEM_FN_NAME(mf3)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf3): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const; + explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf4): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4); + explicit BOOST_MEM_FN_NAME(mf4)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf4): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const; + explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf5): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5); + explicit BOOST_MEM_FN_NAME(mf5)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf5): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const; + explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf6): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6); + explicit BOOST_MEM_FN_NAME(mf6)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf6): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const; + explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf7): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7); + explicit BOOST_MEM_FN_NAME(mf7)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf7): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const; + explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)(f) {} +}; + + +template struct BOOST_MEM_FN_NAME(mf8): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8); + explicit BOOST_MEM_FN_NAME(mf8)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)(f) {} +}; + +template struct BOOST_MEM_FN_NAME(cmf8): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8) +{ + typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const; + explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)(f) {} +}; + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/placeholders.hpp new file mode 100644 index 0000000..af52c91 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/placeholders.hpp @@ -0,0 +1,69 @@ +#ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED +#define BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// bind/placeholders.hpp - _N definitions +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +#include +#include + +namespace +{ + +#if defined(__BORLANDC__) || defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ < 400) + +static inline boost::arg<1> _1() { return boost::arg<1>(); } +static inline boost::arg<2> _2() { return boost::arg<2>(); } +static inline boost::arg<3> _3() { return boost::arg<3>(); } +static inline boost::arg<4> _4() { return boost::arg<4>(); } +static inline boost::arg<5> _5() { return boost::arg<5>(); } +static inline boost::arg<6> _6() { return boost::arg<6>(); } +static inline boost::arg<7> _7() { return boost::arg<7>(); } +static inline boost::arg<8> _8() { return boost::arg<8>(); } +static inline boost::arg<9> _9() { return boost::arg<9>(); } + +#elif defined(BOOST_MSVC) || (defined(__DECCXX_VER) && __DECCXX_VER <= 60590031) || defined(__MWERKS__) || \ + defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ == 400) + +static boost::arg<1> _1; +static boost::arg<2> _2; +static boost::arg<3> _3; +static boost::arg<4> _4; +static boost::arg<5> _5; +static boost::arg<6> _6; +static boost::arg<7> _7; +static boost::arg<8> _8; +static boost::arg<9> _9; + +#else + +boost::arg<1> _1; +boost::arg<2> _2; +boost::arg<3> _3; +boost::arg<4> _4; +boost::arg<5> _5; +boost::arg<6> _6; +boost::arg<7> _7; +boost::arg<8> _8; +boost::arg<9> _9; + +#endif + +} // unnamed namespace + +#endif // #ifndef BOOST_BIND_PLACEHOLDERS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/protect.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/protect.hpp new file mode 100644 index 0000000..b624bf1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/protect.hpp @@ -0,0 +1,304 @@ +#ifndef BOOST_BIND_PROTECT_HPP_INCLUDED +#define BOOST_BIND_PROTECT_HPP_INCLUDED + +// +// protect.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2009 Steven Watanabe +// +// Distributed under the 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 +#include + +namespace boost +{ + +namespace _bi +{ + +template class protected_bind_t +{ +public: + + typedef typename F::result_type result_type; + + explicit protected_bind_t(F f): f_(f) + { + } + + result_type operator()() + { + return f_(); + } + + result_type operator()() const + { + return f_(); + } + + template result_type operator()(A1 & a1) + { + return f_(a1); + } + + template result_type operator()(A1 & a1) const + { + return f_(a1); + } + + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(const A1 & a1) + { + return f_(a1); + } + + template result_type operator()(const A1 & a1) const + { + return f_(a1); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2) + { + return f_(a1, a2); + } + + template result_type operator()(A1 & a1, A2 & a2) const + { + return f_(a1, a2); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 & a2) + { + return f_(a1, a2); + } + + template result_type operator()(A1 const & a1, A2 & a2) const + { + return f_(a1, a2); + } + + template result_type operator()(A1 & a1, A2 const & a2) + { + return f_(a1, a2); + } + + template result_type operator()(A1 & a1, A2 const & a2) const + { + return f_(a1, a2); + } + + template result_type operator()(A1 const & a1, A2 const & a2) + { + return f_(a1, a2); + } + + template result_type operator()(A1 const & a1, A2 const & a2) const + { + return f_(a1, a2); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3) + { + return f_(a1, a2, a3); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3) const + { + return f_(a1, a2, a3); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) + { + return f_(a1, a2, a3); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3) const + { + return f_(a1, a2, a3); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) + { + return f_(a1, a2, a3, a4); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4) const + { + return f_(a1, a2, a3, a4); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) + { + return f_(a1, a2, a3, a4); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4) const + { + return f_(a1, a2, a3, a4); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) + { + return f_(a1, a2, a3, a4, a5); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5) const + { + return f_(a1, a2, a3, a4, a5); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) + { + return f_(a1, a2, a3, a4, a5); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5) const + { + return f_(a1, a2, a3, a4, a5); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) + { + return f_(a1, a2, a3, a4, a5, a6); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6) const + { + return f_(a1, a2, a3, a4, a5, a6); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) + { + return f_(a1, a2, a3, a4, a5, a6); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6) const + { + return f_(a1, a2, a3, a4, a5, a6); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) + { + return f_(a1, a2, a3, a4, a5, a6, a7); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7) const + { + return f_(a1, a2, a3, a4, a5, a6, a7); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) + { + return f_(a1, a2, a3, a4, a5, a6, a7); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7) const + { + return f_(a1, a2, a3, a4, a5, a6, a7); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8) const + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8) const + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8); + } + +#endif + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); + } + + template result_type operator()(A1 & a1, A2 & a2, A3 & a3, A4 & a4, A5 & a5, A6 & a6, A7 & a7, A8 & a8, A9 & a9) const + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); + } + +#if !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); + } + + template result_type operator()(A1 const & a1, A2 const & a2, A3 const & a3, A4 const & a4, A5 const & a5, A6 const & a6, A7 const & a7, A8 const & a8, A9 const & a9) const + { + return f_(a1, a2, a3, a4, a5, a6, a7, a8, a9); + } + +#endif + +private: + + F f_; +}; + +} // namespace _bi + +template _bi::protected_bind_t protect(F f) +{ + return _bi::protected_bind_t(f); +} + +} // namespace boost + +#endif // #ifndef BOOST_BIND_PROTECT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/storage.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/storage.hpp new file mode 100644 index 0000000..512adc5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/bind/storage.hpp @@ -0,0 +1,475 @@ +#ifndef BOOST_BIND_STORAGE_HPP_INCLUDED +#define BOOST_BIND_STORAGE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// bind/storage.hpp +// +// boost/bind.hpp support header, optimized storage +// +// Copyright (c) 2006 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// +// See http://www.boost.org/libs/bind/bind.html for documentation. +// + +#include +#include + +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable: 4512) // assignment operator could not be generated +#endif + +namespace boost +{ + +namespace _bi +{ + +// 1 + +template struct storage1 +{ + explicit storage1( A1 a1 ): a1_( a1 ) {} + + template void accept(V & v) const + { + BOOST_BIND_VISIT_EACH(v, a1_, 0); + } + + A1 a1_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined( __BORLANDC__ ) + +template struct storage1< boost::arg > +{ + explicit storage1( boost::arg ) {} + + template void accept(V &) const { } + + static boost::arg a1_() { return boost::arg(); } +}; + +template struct storage1< boost::arg (*) () > +{ + explicit storage1( boost::arg (*) () ) {} + + template void accept(V &) const { } + + static boost::arg a1_() { return boost::arg(); } +}; + +#endif + +// 2 + +template struct storage2: public storage1 +{ + typedef storage1 inherited; + + storage2( A1 a1, A2 a2 ): storage1( a1 ), a2_( a2 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a2_, 0); + } + + A2 a2_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage2< A1, boost::arg >: public storage1 +{ + typedef storage1 inherited; + + storage2( A1 a1, boost::arg ): storage1( a1 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a2_() { return boost::arg(); } +}; + +template struct storage2< A1, boost::arg (*) () >: public storage1 +{ + typedef storage1 inherited; + + storage2( A1 a1, boost::arg (*) () ): storage1( a1 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a2_() { return boost::arg(); } +}; + +#endif + +// 3 + +template struct storage3: public storage2< A1, A2 > +{ + typedef storage2 inherited; + + storage3( A1 a1, A2 a2, A3 a3 ): storage2( a1, a2 ), a3_( a3 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a3_, 0); + } + + A3 a3_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage3< A1, A2, boost::arg >: public storage2< A1, A2 > +{ + typedef storage2 inherited; + + storage3( A1 a1, A2 a2, boost::arg ): storage2( a1, a2 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a3_() { return boost::arg(); } +}; + +template struct storage3< A1, A2, boost::arg (*) () >: public storage2< A1, A2 > +{ + typedef storage2 inherited; + + storage3( A1 a1, A2 a2, boost::arg (*) () ): storage2( a1, a2 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a3_() { return boost::arg(); } +}; + +#endif + +// 4 + +template struct storage4: public storage3< A1, A2, A3 > +{ + typedef storage3 inherited; + + storage4( A1 a1, A2 a2, A3 a3, A4 a4 ): storage3( a1, a2, a3 ), a4_( a4 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a4_, 0); + } + + A4 a4_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage4< A1, A2, A3, boost::arg >: public storage3< A1, A2, A3 > +{ + typedef storage3 inherited; + + storage4( A1 a1, A2 a2, A3 a3, boost::arg ): storage3( a1, a2, a3 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a4_() { return boost::arg(); } +}; + +template struct storage4< A1, A2, A3, boost::arg (*) () >: public storage3< A1, A2, A3 > +{ + typedef storage3 inherited; + + storage4( A1 a1, A2 a2, A3 a3, boost::arg (*) () ): storage3( a1, a2, a3 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a4_() { return boost::arg(); } +}; + +#endif + +// 5 + +template struct storage5: public storage4< A1, A2, A3, A4 > +{ + typedef storage4 inherited; + + storage5( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5 ): storage4( a1, a2, a3, a4 ), a5_( a5 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a5_, 0); + } + + A5 a5_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage5< A1, A2, A3, A4, boost::arg >: public storage4< A1, A2, A3, A4 > +{ + typedef storage4 inherited; + + storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg ): storage4( a1, a2, a3, a4 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a5_() { return boost::arg(); } +}; + +template struct storage5< A1, A2, A3, A4, boost::arg (*) () >: public storage4< A1, A2, A3, A4 > +{ + typedef storage4 inherited; + + storage5( A1 a1, A2 a2, A3 a3, A4 a4, boost::arg (*) () ): storage4( a1, a2, a3, a4 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a5_() { return boost::arg(); } +}; + +#endif + +// 6 + +template struct storage6: public storage5< A1, A2, A3, A4, A5 > +{ + typedef storage5 inherited; + + storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6 ): storage5( a1, a2, a3, a4, a5 ), a6_( a6 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a6_, 0); + } + + A6 a6_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage6< A1, A2, A3, A4, A5, boost::arg >: public storage5< A1, A2, A3, A4, A5 > +{ + typedef storage5 inherited; + + storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg ): storage5( a1, a2, a3, a4, a5 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a6_() { return boost::arg(); } +}; + +template struct storage6< A1, A2, A3, A4, A5, boost::arg (*) () >: public storage5< A1, A2, A3, A4, A5 > +{ + typedef storage5 inherited; + + storage6( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, boost::arg (*) () ): storage5( a1, a2, a3, a4, a5 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a6_() { return boost::arg(); } +}; + +#endif + +// 7 + +template struct storage7: public storage6< A1, A2, A3, A4, A5, A6 > +{ + typedef storage6 inherited; + + storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7 ): storage6( a1, a2, a3, a4, a5, a6 ), a7_( a7 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a7_, 0); + } + + A7 a7_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg >: public storage6< A1, A2, A3, A4, A5, A6 > +{ + typedef storage6 inherited; + + storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg ): storage6( a1, a2, a3, a4, a5, a6 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a7_() { return boost::arg(); } +}; + +template struct storage7< A1, A2, A3, A4, A5, A6, boost::arg (*) () >: public storage6< A1, A2, A3, A4, A5, A6 > +{ + typedef storage6 inherited; + + storage7( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, boost::arg (*) () ): storage6( a1, a2, a3, a4, a5, a6 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a7_() { return boost::arg(); } +}; + +#endif + +// 8 + +template struct storage8: public storage7< A1, A2, A3, A4, A5, A6, A7 > +{ + typedef storage7 inherited; + + storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8 ): storage7( a1, a2, a3, a4, a5, a6, a7 ), a8_( a8 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a8_, 0); + } + + A8 a8_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg >: public storage7< A1, A2, A3, A4, A5, A6, A7 > +{ + typedef storage7 inherited; + + storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a8_() { return boost::arg(); } +}; + +template struct storage8< A1, A2, A3, A4, A5, A6, A7, boost::arg (*) () >: public storage7< A1, A2, A3, A4, A5, A6, A7 > +{ + typedef storage7 inherited; + + storage8( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, boost::arg (*) () ): storage7( a1, a2, a3, a4, a5, a6, a7 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a8_() { return boost::arg(); } +}; + +#endif + +// 9 + +template struct storage9: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > +{ + typedef storage8 inherited; + + storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9 ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ), a9_( a9 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + BOOST_BIND_VISIT_EACH(v, a9_, 0); + } + + A9 a9_; +}; + +#if !defined( BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) + +template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > +{ + typedef storage8 inherited; + + storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a9_() { return boost::arg(); } +}; + +template struct storage9< A1, A2, A3, A4, A5, A6, A7, A8, boost::arg (*) () >: public storage8< A1, A2, A3, A4, A5, A6, A7, A8 > +{ + typedef storage8 inherited; + + storage9( A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, boost::arg (*) () ): storage8( a1, a2, a3, a4, a5, a6, a7, a8 ) {} + + template void accept(V & v) const + { + inherited::accept(v); + } + + static boost::arg a9_() { return boost::arg(); } +}; + +#endif + +} // namespace _bi + +} // namespace boost + +#ifdef BOOST_MSVC +# pragma warning(default: 4512) // assignment operator could not be generated +# pragma warning(pop) +#endif + +#endif // #ifndef BOOST_BIND_STORAGE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/call_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/call_traits.hpp new file mode 100644 index 0000000..9add20e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/call_traits.hpp @@ -0,0 +1,24 @@ +// (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/utility for most recent version including documentation. + +// See boost/detail/call_traits.hpp and boost/detail/ob_call_traits.hpp +// for full copyright notices. + +#ifndef BOOST_CALL_TRAITS_HPP +#define BOOST_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +#include +#else +#include +#endif + +#endif // BOOST_CALL_TRAITS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/cerrno.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/cerrno.hpp new file mode 100644 index 0000000..1205455 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/cerrno.hpp @@ -0,0 +1,331 @@ +// Boost cerrno.hpp header -------------------------------------------------// + +// Copyright Beman Dawes 2005. +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See library home page at http://www.boost.org/libs/system + +#ifndef BOOST_CERRNO_HPP +#define BOOST_CERRNO_HPP + +#include + +// supply errno values likely to be missing, particularly on Windows + +#ifndef EAFNOSUPPORT +#define EAFNOSUPPORT 9901 +#endif + +#ifndef EADDRINUSE +#define EADDRINUSE 9902 +#endif + +#ifndef EADDRNOTAVAIL +#define EADDRNOTAVAIL 9903 +#endif + +#ifndef EISCONN +#define EISCONN 9904 +#endif + +#ifndef EBADMSG +#define EBADMSG 9905 +#endif + +#ifndef ECONNABORTED +#define ECONNABORTED 9906 +#endif + +#ifndef EALREADY +#define EALREADY 9907 +#endif + +#ifndef ECONNREFUSED +#define ECONNREFUSED 9908 +#endif + +#ifndef ECONNRESET +#define ECONNRESET 9909 +#endif + +#ifndef EDESTADDRREQ +#define EDESTADDRREQ 9910 +#endif + +#ifndef EHOSTUNREACH +#define EHOSTUNREACH 9911 +#endif + +#ifndef EIDRM +#define EIDRM 9912 +#endif + +#ifndef EMSGSIZE +#define EMSGSIZE 9913 +#endif + +#ifndef ENETDOWN +#define ENETDOWN 9914 +#endif + +#ifndef ENETRESET +#define ENETRESET 9915 +#endif + +#ifndef ENETUNREACH +#define ENETUNREACH 9916 +#endif + +#ifndef ENOBUFS +#define ENOBUFS 9917 +#endif + +#ifndef ENOLINK +#define ENOLINK 9918 +#endif + +#ifndef ENODATA +#define ENODATA 9919 +#endif + +#ifndef ENOMSG +#define ENOMSG 9920 +#endif + +#ifndef ENOPROTOOPT +#define ENOPROTOOPT 9921 +#endif + +#ifndef ENOSR +#define ENOSR 9922 +#endif + +#ifndef ENOTSOCK +#define ENOTSOCK 9923 +#endif + +#ifndef ENOSTR +#define ENOSTR 9924 +#endif + +#ifndef ENOTCONN +#define ENOTCONN 9925 +#endif + +#ifndef ENOTSUP +#define ENOTSUP 9926 +#endif + +#ifndef ECANCELED +#define ECANCELED 9927 +#endif + +#ifndef EINPROGRESS +#define EINPROGRESS 9928 +#endif + +#ifndef EOPNOTSUPP +#define EOPNOTSUPP 9929 +#endif + +#ifndef EWOULDBLOCK +#define EWOULDBLOCK 9930 +#endif + +#ifndef EOWNERDEAD +#define EOWNERDEAD 9931 +#endif + +#ifndef EPROTO +#define EPROTO 9932 +#endif + +#ifndef EPROTONOSUPPORT +#define EPROTONOSUPPORT 9933 +#endif + +#ifndef ENOTRECOVERABLE +#define ENOTRECOVERABLE 9934 +#endif + +#ifndef ETIME +#define ETIME 9935 +#endif + +#ifndef ETXTBSY +#define ETXTBSY 9936 +#endif + +#ifndef ETIMEDOUT +#define ETIMEDOUT 9938 +#endif + +#ifndef ELOOP +#define ELOOP 9939 +#endif + +#ifndef EOVERFLOW +#define EOVERFLOW 9940 +#endif + +#ifndef EPROTOTYPE +#define EPROTOTYPE 9941 +#endif + +#ifndef ENOSYS +#define ENOSYS 9942 +#endif + +#ifndef EINVAL +#define EINVAL 9943 +#endif + +#ifndef ERANGE +#define ERANGE 9944 +#endif + +#ifndef EILSEQ +#define EILSEQ 9945 +#endif + +// Windows Mobile doesn't appear to define these: + +#ifndef E2BIG +#define E2BIG 9946 +#endif + +#ifndef EDOM +#define EDOM 9947 +#endif + +#ifndef EFAULT +#define EFAULT 9948 +#endif + +#ifndef EBADF +#define EBADF 9949 +#endif + +#ifndef EPIPE +#define EPIPE 9950 +#endif + +#ifndef EXDEV +#define EXDEV 9951 +#endif + +#ifndef EBUSY +#define EBUSY 9952 +#endif + +#ifndef ENOTEMPTY +#define ENOTEMPTY 9953 +#endif + +#ifndef ENOEXEC +#define ENOEXEC 9954 +#endif + +#ifndef EEXIST +#define EEXIST 9955 +#endif + +#ifndef EFBIG +#define EFBIG 9956 +#endif + +#ifndef ENAMETOOLONG +#define ENAMETOOLONG 9957 +#endif + +#ifndef ENOTTY +#define ENOTTY 9958 +#endif + +#ifndef EINTR +#define EINTR 9959 +#endif + +#ifndef ESPIPE +#define ESPIPE 9960 +#endif + +#ifndef EIO +#define EIO 9961 +#endif + +#ifndef EISDIR +#define EISDIR 9962 +#endif + +#ifndef ECHILD +#define ECHILD 9963 +#endif + +#ifndef ENOLCK +#define ENOLCK 9964 +#endif + +#ifndef ENOSPC +#define ENOSPC 9965 +#endif + +#ifndef ENXIO +#define ENXIO 9966 +#endif + +#ifndef ENODEV +#define ENODEV 9967 +#endif + +#ifndef ENOENT +#define ENOENT 9968 +#endif + +#ifndef ESRCH +#define ESRCH 9969 +#endif + +#ifndef ENOTDIR +#define ENOTDIR 9970 +#endif + +#ifndef ENOMEM +#define ENOMEM 9971 +#endif + +#ifndef EPERM +#define EPERM 9972 +#endif + +#ifndef EACCES +#define EACCES 9973 +#endif + +#ifndef EROFS +#define EROFS 9974 +#endif + +#ifndef EDEADLK +#define EDEADLK 9975 +#endif + +#ifndef EAGAIN +#define EAGAIN 9976 +#endif + +#ifndef ENFILE +#define ENFILE 9977 +#endif + +#ifndef EMFILE +#define EMFILE 9978 +#endif + +#ifndef EMLINK +#define EMLINK 9979 +#endif + +#endif // include guard diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/checked_delete.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/checked_delete.hpp new file mode 100644 index 0000000..e8f479f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/checked_delete.hpp @@ -0,0 +1,69 @@ +#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED +#define BOOST_CHECKED_DELETE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/checked_delete.hpp +// +// Copyright (c) 2002, 2003 Peter Dimov +// Copyright (c) 2003 Daniel Frey +// Copyright (c) 2003 Howard Hinnant +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/utility/checked_delete.html for documentation. +// + +namespace boost +{ + +// verify that types are complete for increased safety + +template inline void checked_delete(T * x) +{ + // intentionally complex - simplification causes regressions + typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; + (void) sizeof(type_must_be_complete); + delete x; +} + +template inline void checked_array_delete(T * x) +{ + typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; + (void) sizeof(type_must_be_complete); + delete [] x; +} + +template struct checked_deleter +{ + typedef void result_type; + typedef T * argument_type; + + void operator()(T * x) const + { + // boost:: disables ADL + boost::checked_delete(x); + } +}; + +template struct checked_array_deleter +{ + typedef void result_type; + typedef T * argument_type; + + void operator()(T * x) const + { + boost::checked_array_delete(x); + } +}; + +} // namespace boost + +#endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config.hpp new file mode 100644 index 0000000..cb5037a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config.hpp @@ -0,0 +1,70 @@ +// Boost config.hpp configuration header file ------------------------------// + +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for most recent version. + +// Boost config.hpp policy and rationale documentation has been moved to +// http://www.boost.org/libs/config +// +// CAUTION: This file is intended to be completely stable - +// DO NOT MODIFY THIS FILE! +// + +#ifndef BOOST_CONFIG_HPP +#define BOOST_CONFIG_HPP + +// if we don't have a user config, then use the default location: +#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) +# define BOOST_USER_CONFIG +#endif +// include it first: +#ifdef BOOST_USER_CONFIG +# include BOOST_USER_CONFIG +#endif + +// if we don't have a compiler config set, try and find one: +#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a compiler config, include it now: +#ifdef BOOST_COMPILER_CONFIG +# include BOOST_COMPILER_CONFIG +#endif + +// if we don't have a std library config set, try and find one: +#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a std library config, include it now: +#ifdef BOOST_STDLIB_CONFIG +# include BOOST_STDLIB_CONFIG +#endif + +// if we don't have a platform config set, try and find one: +#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) +# include +#endif +// if we have a platform config, include it now: +#ifdef BOOST_PLATFORM_CONFIG +# include BOOST_PLATFORM_CONFIG +#endif + +// get config suffix code: +#include + +#endif // BOOST_CONFIG_HPP + + + + + + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_prefix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_prefix.hpp new file mode 100644 index 0000000..6148195 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_prefix.hpp @@ -0,0 +1,27 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// for C++ Builder the following options effect the ABI: +// +// -b (on or off - effect emum sizes) +// -Vx (on or off - empty members) +// -Ve (on or off - empty base classes) +// -aX (alignment - 5 options). +// -pX (Calling convention - 4 options) +// -VmX (member pointer size and layout - 5 options) +// -VC (on or off, changes name mangling) +// -Vl (on or off, changes struct layout). + +// In addition the following warnings are sufficiently annoying (and +// unfixable) to have them turned off by default: +// +// 8027 - functions containing [for|while] loops are not expanded inline +// 8026 - functions taking class by value arguments are not expanded inline + +#pragma nopushoptwarn +# pragma option push -Vx -Ve -a8 -b -pc -Vmv -VC- -Vl- -w-8027 -w-8026 + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_suffix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_suffix.hpp new file mode 100644 index 0000000..110b3c3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/borland_suffix.hpp @@ -0,0 +1,12 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +# pragma option pop +#pragma nopushoptwarn + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_prefix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_prefix.hpp new file mode 100644 index 0000000..417e0dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_prefix.hpp @@ -0,0 +1,22 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// +// Boost binaries are built with the compiler's default ABI settings, +// if the user changes their default alignment in the VS IDE then their +// code will no longer be binary compatible with the bjam built binaries +// unless this header is included to force Boost code into a consistent ABI. +// +// Note that inclusion of this header is only necessary for libraries with +// separate source, header only libraries DO NOT need this as long as all +// translation units are built with the same options. +// +#if defined(_M_X64) +# pragma pack(push,16) +#else +# pragma pack(push,8) +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_suffix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_suffix.hpp new file mode 100644 index 0000000..8c1edd0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi/msvc_suffix.hpp @@ -0,0 +1,8 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#pragma pack(pop) + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_prefix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_prefix.hpp new file mode 100644 index 0000000..10cf51d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_prefix.hpp @@ -0,0 +1,25 @@ +// abi_prefix header -------------------------------------------------------// + +// (c) Copyright John Maddock 2003 + +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). + +#ifndef BOOST_CONFIG_ABI_PREFIX_HPP +# define BOOST_CONFIG_ABI_PREFIX_HPP +#else +# error double inclusion of header boost/config/abi_prefix.hpp is an error +#endif + +#include + +// this must occur after all other includes and before any code appears: +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +#if defined( __BORLANDC__ ) +#pragma nopushoptwarn +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_suffix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_suffix.hpp new file mode 100644 index 0000000..21da961 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/abi_suffix.hpp @@ -0,0 +1,27 @@ +// abi_sufffix header -------------------------------------------------------// + +// (c) Copyright John Maddock 2003 + +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). + +// This header should be #included AFTER code that was preceded by a #include +// . + +#ifndef BOOST_CONFIG_ABI_PREFIX_HPP +# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp +#else +# undef BOOST_CONFIG_ABI_PREFIX_HPP +#endif + +// the suffix header occurs after all of our code: +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#if defined( __BORLANDC__ ) +#pragma nopushoptwarn +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/auto_link.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/auto_link.hpp new file mode 100644 index 0000000..a14f265 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/auto_link.hpp @@ -0,0 +1,373 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + /* + * LOCATION: see http://www.boost.org for most recent version. + * FILE auto_link.hpp + * VERSION see + * DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. + */ + +/************************************************************************* + +USAGE: +~~~~~~ + +Before including this header you must define one or more of define the following macros: + +BOOST_LIB_NAME: Required: A string containing the basename of the library, + for example boost_regex. +BOOST_LIB_TOOLSET: Optional: the base name of the toolset. +BOOST_DYN_LINK: Optional: when set link to dll rather than static library. +BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name + of the library selected (useful for debugging). +BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, + rather than a mangled-name version. + +These macros will be undef'ed at the end of the header, further this header +has no include guards - so be sure to include it only once from your library! + +Algorithm: +~~~~~~~~~~ + +Libraries for Borland and Microsoft compilers are automatically +selected here, the name of the lib is selected according to the following +formula: + +BOOST_LIB_PREFIX + + BOOST_LIB_NAME + + "_" + + BOOST_LIB_TOOLSET + + BOOST_LIB_THREAD_OPT + + BOOST_LIB_RT_OPT + "-" + + BOOST_LIB_VERSION + +These are defined as: + +BOOST_LIB_PREFIX: "lib" for static libraries otherwise "". + +BOOST_LIB_NAME: The base name of the lib ( for example boost_regex). + +BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc). + +BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. + +BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used, + contains one or more of the following letters after + a hiphen: + + s static runtime (dynamic if not present). + d debug build (release if not present). + g debug/diagnostic runtime (release if not present). + p STLPort Build. + +BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. + + +***************************************************************************/ + +#ifdef __cplusplus +# ifndef BOOST_CONFIG_HPP +# include +# endif +#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) +// +// C language compatability (no, honestly) +// +# define BOOST_MSVC _MSC_VER +# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +# define BOOST_DO_STRINGIZE(X) #X +#endif +// +// Only include what follows for known and supported compilers: +// +#if defined(BOOST_MSVC) \ + || defined(__BORLANDC__) \ + || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ + || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) + +#ifndef BOOST_VERSION_HPP +# include +#endif + +#ifndef BOOST_LIB_NAME +# error "Macro BOOST_LIB_NAME not set (internal error)" +#endif + +// +// error check: +// +#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG) +# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors") +# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes") +# error "Incompatible build options" +#endif +// +// select toolset if not defined already: +// +#ifndef BOOST_LIB_TOOLSET +// Note: no compilers before 1200 are supported +#if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) + +# ifdef UNDER_CE + // vc6: +# define BOOST_LIB_TOOLSET "evc4" +# else + // vc6: +# define BOOST_LIB_TOOLSET "vc6" +# endif + +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1300) + + // vc7: +# define BOOST_LIB_TOOLSET "vc7" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1310) + + // vc71: +# define BOOST_LIB_TOOLSET "vc71" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1400) + + // vc80: +# define BOOST_LIB_TOOLSET "vc80" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC == 1500) + + // vc90: +# define BOOST_LIB_TOOLSET "vc90" + +#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1600) + + // vc10: +# define BOOST_LIB_TOOLSET "vc100" + +#elif defined(__BORLANDC__) + + // CBuilder 6: +# define BOOST_LIB_TOOLSET "bcb" + +#elif defined(__ICL) + + // Intel C++, no version number: +# define BOOST_LIB_TOOLSET "iw" + +#elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF ) + + // Metrowerks CodeWarrior 8.x +# define BOOST_LIB_TOOLSET "cw8" + +#elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF ) + + // Metrowerks CodeWarrior 9.x +# define BOOST_LIB_TOOLSET "cw9" + +#endif +#endif // BOOST_LIB_TOOLSET + +// +// select thread opt: +// +#if defined(_MT) || defined(__MT__) +# define BOOST_LIB_THREAD_OPT "-mt" +#else +# define BOOST_LIB_THREAD_OPT +#endif + +#if defined(_MSC_VER) || defined(__MWERKS__) + +# ifdef _DLL + +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-gdp" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gdp" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-p" +# endif + +# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-gdpn" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gdpn" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-pn" +# endif + +# else + +# if defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-gd" +# else +# define BOOST_LIB_RT_OPT +# endif + +# endif + +# else + +# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS)) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-sgdp" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgdp" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-sp" +# endif + +# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) + +# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG)) +# define BOOST_LIB_RT_OPT "-sgdpn" +# elif defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgdpn" +# pragma message("warning: STLPort debug versions are built with /D_STLP_DEBUG=1") +# error "Build options aren't compatible with pre-built libraries" +# else +# define BOOST_LIB_RT_OPT "-spn" +# endif + +# else + +# if defined(_DEBUG) +# define BOOST_LIB_RT_OPT "-sgd" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +# endif + +#elif defined(__BORLANDC__) + +// +// figure out whether we want the debug builds or not: +// +#if __BORLANDC__ > 0x561 +#pragma defineonoption BOOST_BORLAND_DEBUG -v +#endif +// +// sanity check: +// +#if defined(__STL_DEBUG) || defined(_STLP_DEBUG) +#error "Pre-built versions of the Boost libraries are not provided in STLPort-debug form" +#endif + +# ifdef _RTLDLL + +# ifdef BOOST_BORLAND_DEBUG +# define BOOST_LIB_RT_OPT "-d" +# else +# define BOOST_LIB_RT_OPT +# endif + +# else + +# ifdef BOOST_BORLAND_DEBUG +# define BOOST_LIB_RT_OPT "-sd" +# else +# define BOOST_LIB_RT_OPT "-s" +# endif + +# endif + +#endif + +// +// select linkage opt: +// +#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK) +# define BOOST_LIB_PREFIX +#elif defined(BOOST_DYN_LINK) +# error "Mixing a dll boost library with a static runtime is a really bad idea..." +#else +# define BOOST_LIB_PREFIX "lib" +#endif + +// +// now include the lib: +// +#if defined(BOOST_LIB_NAME) \ + && defined(BOOST_LIB_PREFIX) \ + && defined(BOOST_LIB_TOOLSET) \ + && defined(BOOST_LIB_THREAD_OPT) \ + && defined(BOOST_LIB_RT_OPT) \ + && defined(BOOST_LIB_VERSION) + +#ifndef BOOST_AUTO_LINK_NOMANGLE +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") +# endif +#else +# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# endif +#endif + +#else +# error "some required macros where not defined (internal logic error)." +#endif + + +#endif // _MSC_VER || __BORLANDC__ + +// +// finally undef any macros we may have set: +// +#ifdef BOOST_LIB_PREFIX +# undef BOOST_LIB_PREFIX +#endif +#if defined(BOOST_LIB_NAME) +# undef BOOST_LIB_NAME +#endif +// Don't undef this one: it can be set by the user and should be the +// same for all libraries: +//#if defined(BOOST_LIB_TOOLSET) +//# undef BOOST_LIB_TOOLSET +//#endif +#if defined(BOOST_LIB_THREAD_OPT) +# undef BOOST_LIB_THREAD_OPT +#endif +#if defined(BOOST_LIB_RT_OPT) +# undef BOOST_LIB_RT_OPT +#endif +#if defined(BOOST_LIB_LINK_OPT) +# undef BOOST_LIB_LINK_OPT +#endif +#if defined(BOOST_LIB_DEBUG_OPT) +# undef BOOST_LIB_DEBUG_OPT +#endif +#if defined(BOOST_DYN_LINK) +# undef BOOST_DYN_LINK +#endif +#if defined(BOOST_AUTO_LINK_NOMANGLE) +# undef BOOST_AUTO_LINK_NOMANGLE +#endif + + + + + + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/borland.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/borland.hpp new file mode 100644 index 0000000..661d6c8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/borland.hpp @@ -0,0 +1,267 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Borland C++ compiler setup: + +// +// versions check: +// we don't support Borland prior to version 5.4: +#if __BORLANDC__ < 0x540 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// last known compiler version: +#if (__BORLANDC__ > 0x613) +//# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +//# else +//# pragma message( "Unknown compiler version - please run the configure tests and report the results") +//# endif +#elif (__BORLANDC__ == 0x600) +# error "CBuilderX preview compiler is no longer supported" +#endif + +// +// Support macros to help with standard library detection +#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL) +# define BOOST_BCB_WITH_ROGUE_WAVE +#elif __BORLANDC__ < 0x570 +# define BOOST_BCB_WITH_STLPORT +#else +# define BOOST_BCB_WITH_DINKUMWARE +#endif + +// +// Version 5.0 and below: +# if __BORLANDC__ <= 0x0550 +// Borland C++Builder 4 and 5: +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# if __BORLANDC__ == 0x0550 +// Borland C++Builder 5, command-line compiler 5.5: +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# endif +# endif + +// Version 5.51 and below: +#if (__BORLANDC__ <= 0x551) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# define BOOST_NO_DEDUCED_TYPENAME +// workaround for missing WCHAR_MAX/WCHAR_MIN: +#include +#include +#ifndef WCHAR_MAX +# define WCHAR_MAX 0xffff +#endif +#ifndef WCHAR_MIN +# define WCHAR_MIN 0 +#endif +#endif + +// Borland C++ Builder 6 and below: +#if (__BORLANDC__ <= 0x564) + +# ifdef NDEBUG + // fix broken so that Boost.test works: +# include +# undef strcmp +# endif + // fix broken errno declaration: +# include +# ifndef errno +# define errno errno +# endif + +#endif + +// +// new bug in 5.61: +#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580) + // this seems to be needed by the command line compiler, but not the IDE: +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +// Borland C++ Builder 2006 Update 2 and below: +#if (__BORLANDC__ <= 0x582) +# define BOOST_NO_SFINAE +# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# define BOOST_NO_TEMPLATE_TEMPLATES + +# define BOOST_NO_PRIVATE_IN_AGGREGATE + +# ifdef _WIN32 +# define BOOST_NO_SWPRINTF +# elif defined(linux) || defined(__linux__) || defined(__linux) + // we should really be able to do without this + // but the wcs* functions aren't imported into std:: +# define BOOST_NO_STDC_NAMESPACE + // _CPPUNWIND doesn't get automatically set for some reason: +# pragma defineonoption BOOST_CPPUNWIND -x +# endif +#endif + +#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info + // we shouldn't really need this - but too many things choke + // without it, this needs more investigation: +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS +# define BOOST_NO_USING_TEMPLATE +# define BOOST_SP_NO_SP_CONVERTIBLE + +// Temporary workaround +#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif + +// Borland C++ Builder 2008 and below: +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# define BOOST_NO_NESTED_FRIENDSHIP +# define BOOST_NO_TYPENAME_WITH_CTOR +#if (__BORLANDC__ < 0x600) +# define BOOST_ILLEGAL_CV_REFERENCES +#endif + +// +// Positive Feature detection +// +// Borland C++ Builder 2008 and below: +#if (__BORLANDC__ >= 0x599) +# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax +#endif +// +// C++0x Macros: +// +#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610) +# define BOOST_NO_CHAR16_T +# define BOOST_NO_CHAR32_T +# define BOOST_NO_DECLTYPE +# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +# define BOOST_NO_EXTERN_TEMPLATE +# define BOOST_NO_RVALUE_REFERENCES +# define BOOST_NO_SCOPED_ENUMS +# define BOOST_NO_STATIC_ASSERT +#else +# define BOOST_HAS_ALIGNOF +# define BOOST_HAS_CHAR16_T +# define BOOST_HAS_CHAR32_T +# define BOOST_HAS_DECLTYPE +# define BOOST_HAS_EXPLICIT_CONVERSION_OPS +# define BOOST_HAS_REF_QUALIFIER +# define BOOST_HAS_RVALUE_REFS +# define BOOST_HAS_STATIC_ASSERT +#endif + +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS // UTF-8 still not supported +#define BOOST_NO_VARIADIC_TEMPLATES + +#if __BORLANDC__ >= 0x590 +# define BOOST_HAS_TR1_HASH + +# define BOOST_HAS_MACRO_USE_FACET +#endif + +// +// Post 0x561 we have long long and stdint.h: +#if __BORLANDC__ >= 0x561 +# ifndef __NO_LONG_LONG +# define BOOST_HAS_LONG_LONG +# else +# define BOOST_NO_LONG_LONG +# endif + // On non-Win32 platforms let the platform config figure this out: +# ifdef _WIN32 +# define BOOST_HAS_STDINT_H +# endif +#endif + +// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is +// defined, then we have 0x560 or greater with the Rogue Wave implementation +// which presumably has the std::DBL_MAX bug. +#if defined( BOOST_BCB_WITH_ROGUE_WAVE ) +// is partly broken, some macros define symbols that are really in +// namespace std, so you end up having to use illegal constructs like +// std::DBL_MAX, as a fix we'll just include float.h and have done with: +#include +#endif +// +// __int64: +// +#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__) +# define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a : +// +#ifndef __STRICT_ANSI__ +# define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#ifndef __STRICT_ANSI__ +# define BOOST_HAS_DECLSPEC +#endif +// +// ABI fixing headers: +// +#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +#endif +// +// Disable Win32 support in ANSI mode: +// +#if __BORLANDC__ < 0x600 +# pragma defineonoption BOOST_DISABLE_WIN32 -A +#elif defined(__STRICT_ANSI__) +# define BOOST_DISABLE_WIN32 +#endif +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_VOID_RETURNS +#endif + +#define BOOST_COMPILER "Borland C++ version " BOOST_STRINGIZE(__BORLANDC__) + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/codegear.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/codegear.hpp new file mode 100644 index 0000000..bd9f12d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/codegear.hpp @@ -0,0 +1,163 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// CodeGear C++ compiler setup: + +#if !defined( BOOST_WITH_CODEGEAR_WARNINGS ) +// these warnings occur frequently in optimized template code +# pragma warn -8004 // var assigned value, but never used +# pragma warn -8008 // condition always true/false +# pragma warn -8066 // dead code can never execute +# pragma warn -8104 // static members with ctors not threadsafe +# pragma warn -8105 // reference member in class without ctors +#endif +// +// versions check: +// last known and checked version is 0x620 +#if (__CODEGEARC__ > 0x620) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# else +# pragma message( "Unknown compiler version - please run the configure tests and report the results") +# endif +#endif + +// CodeGear C++ Builder 2009 +#if (__CODEGEARC__ <= 0x613) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_PRIVATE_IN_AGGREGATE +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE + // we shouldn't really need this - but too many things choke + // without it, this needs more investigation: +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_SP_NO_SP_CONVERTIBLE +#endif + +// CodeGear C++ Builder 2010 +#if (__CODEGEARC__ <= 0x620) +# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member +# define BOOST_NO_USING_TEMPLATE +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +// Temporary hack, until specific MPL preprocessed headers are generated +# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +# ifdef NDEBUG + // fix broken so that Boost.test works: +# include +# undef strcmp +# endif + // fix broken errno declaration: +# include +# ifndef errno +# define errno errno +# endif + +#endif +// +// C++0x macros: +// +#define BOOST_HAS_CHAR16_T +#define BOOST_HAS_CHAR32_T +#define BOOST_HAS_LONG_LONG +// #define BOOST_HAS_ALIGNOF +#define BOOST_HAS_DECLTYPE +#define BOOST_HAS_EXPLICIT_CONVERSION_OPS +// #define BOOST_HAS_RVALUE_REFS +#define BOOST_HAS_SCOPED_ENUM +// #define BOOST_HAS_STATIC_ASSERT +#define BOOST_HAS_STD_TYPE_TRAITS + +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +// +// TR1 macros: +// +#define BOOST_HAS_TR1_HASH +#define BOOST_HAS_TR1_TYPE_TRAITS +#define BOOST_HAS_TR1_UNORDERED_MAP +#define BOOST_HAS_TR1_UNORDERED_SET + +#define BOOST_HAS_MACRO_USE_FACET + +#define BOOST_NO_INITIALIZER_LISTS + +// On non-Win32 platforms let the platform config figure this out: +#ifdef _WIN32 +# define BOOST_HAS_STDINT_H +#endif + +// +// __int64: +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_MS_INT64 +#endif +// +// check for exception handling support: +// +#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif +// +// all versions have a : +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_DIRENT_H +#endif +// +// all versions support __declspec: +// +#if !defined(__STRICT_ANSI__) +# define BOOST_HAS_DECLSPEC +#endif +// +// ABI fixing headers: +// +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp" +#endif +// +// Disable Win32 support in ANSI mode: +// +# pragma defineonoption BOOST_DISABLE_WIN32 -A +// +// MSVC compatibility mode does some nasty things: +// TODO: look up if this doesn't apply to the whole 12xx range +// +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_VOID_RETURNS +#endif + +#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__) + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/comeau.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/comeau.hpp new file mode 100644 index 0000000..c2cb68c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/comeau.hpp @@ -0,0 +1,59 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Douglas Gregor 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Aleksey Gurtovoy 2003. +// (C) Copyright Beman Dawes 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Comeau C++ compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#if (__COMO_VERSION__ <= 4245) + +# if defined(_MSC_VER) && _MSC_VER <= 1300 +# if _MSC_VER > 100 + // only set this in non-strict mode: +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# endif +# endif + +// Void returns don't work when emulating VC 6 (Peter Dimov) +// TODO: look up if this doesn't apply to the whole 12xx range +# if defined(_MSC_VER) && (_MSC_VER < 1300) +# define BOOST_NO_VOID_RETURNS +# endif + +#endif // version 4245 + +// +// enable __int64 support in VC emulation mode +// +# if defined(_MSC_VER) && (_MSC_VER >= 1200) +# define BOOST_HAS_MS_INT64 +# endif + +#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) + +// +// versions check: +// we don't know Comeau prior to version 4245: +#if __COMO_VERSION__ < 4245 +# error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4245: +#if (__COMO_VERSION__ > 4245) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/common_edg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/common_edg.hpp new file mode 100644 index 0000000..452ab7d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/common_edg.hpp @@ -0,0 +1,97 @@ +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright Markus Schoepflin 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// +// Options common to all edg based compilers. +// +// This is included from within the individual compiler mini-configs. + +#ifndef __EDG_VERSION__ +# error This file requires that __EDG_VERSION__ be defined. +#endif + +#if (__EDG_VERSION__ <= 238) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_SFINAE +#endif + +#if (__EDG_VERSION__ <= 240) +# define BOOST_NO_VOID_RETURNS +#endif + +#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#endif + +#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) +# define BOOST_NO_TEMPLATE_TEMPLATES +#endif + +#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT) +# define BOOST_NO_IS_ABSTRACT +#endif + +#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// See also kai.hpp which checks a Kai-specific symbol for EH +# if !defined(__KCC) && !defined(__EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +# endif + +# if !defined(__NO_LONG_LONG) +# define BOOST_HAS_LONG_LONG +# else +# define BOOST_NO_LONG_LONG +# endif + +// +// C++0x features +// +// See above for BOOST_NO_LONG_LONG +// +#if (__EDG_VERSION__ <= 310) || !defined(BOOST_STRICT_CONFIG) +// No support for initializer lists +# define BOOST_NO_INITIALIZER_LISTS +#endif + +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +#ifdef c_plusplus +// EDG has "long long" in non-strict mode +// However, some libraries have insufficient "long long" support +// #define BOOST_HAS_LONG_LONG +#endif + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/compaq_cxx.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/compaq_cxx.hpp new file mode 100644 index 0000000..8fb73fb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/compaq_cxx.hpp @@ -0,0 +1,19 @@ +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Tru64 C++ compiler setup (now HP): + +#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER) + +#include "boost/config/compiler/common_edg.hpp" + +// +// versions check: +// Nothing to do here? + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/digitalmars.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/digitalmars.hpp new file mode 100644 index 0000000..47b23be --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/digitalmars.hpp @@ -0,0 +1,93 @@ +// Copyright (C) Christof Meerwald 2003 +// Copyright (C) Dan Watkins 2003 +// +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// Digital Mars C++ compiler setup: +#define BOOST_COMPILER __DMC_VERSION_STRING__ + +#define BOOST_HAS_LONG_LONG +#define BOOST_HAS_PRAGMA_ONCE + +#if (__DMC__ <= 0x833) +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#define BOOST_NO_TEMPLATE_TEMPLATES +#define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING +#define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +#endif +#if (__DMC__ <= 0x840) || !defined(BOOST_STRICT_CONFIG) +#define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#define BOOST_NO_OPERATORS_IN_NAMESPACE +#define BOOST_NO_UNREACHABLE_RETURN_DETECTION +#define BOOST_NO_SFINAE +#define BOOST_NO_USING_TEMPLATE +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// +// has macros: +#if (__DMC__ >= 0x840) +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_WINTHREADS +#endif + +#if (__DMC__ >= 0x847) +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#endif + +// +// Is this really the best way to detect whether the std lib is in namespace std? +// +#include +#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD) +# define BOOST_NO_STDC_NAMESPACE +#endif + + +// check for exception handling support: +#ifndef _CPPUNWIND +# define BOOST_NO_EXCEPTIONS +#endif + +// +// C++0x features +// +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +#if __DMC__ < 0x800 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is ...: +#if (__DMC__ > 0x848) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc.hpp new file mode 100644 index 0000000..c97353b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc.hpp @@ -0,0 +1,204 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Jens Maurer 2001 - 2002. +// (C) Copyright Beman Dawes 2001 - 2003. +// (C) Copyright Douglas Gregor 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Synge Todo 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// GNU C++ compiler setup: + +#if __GNUC__ < 3 +# if __GNUC_MINOR__ == 91 + // egcs 1.1 won't parse shared_ptr.hpp without this: +# define BOOST_NO_AUTO_PTR +# endif +# if __GNUC_MINOR__ < 95 + // + // Prior to gcc 2.95 member templates only partly + // work - define BOOST_MSVC6_MEMBER_TEMPLATES + // instead since inline member templates mostly work. + // +# define BOOST_NO_MEMBER_TEMPLATES +# if __GNUC_MINOR__ >= 9 +# define BOOST_MSVC6_MEMBER_TEMPLATES +# endif +# endif + +# if __GNUC_MINOR__ < 96 +# define BOOST_NO_SFINAE +# endif + +# if __GNUC_MINOR__ <= 97 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# endif + +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# define BOOST_NO_IS_ABSTRACT +#elif __GNUC__ == 3 +# if defined (__PATHSCALE__) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +# define BOOST_NO_IS_ABSTRACT +# endif + // + // gcc-3.x problems: + // + // Bug specific to gcc 3.1 and 3.2: + // +# if ((__GNUC_MINOR__ == 1) || (__GNUC_MINOR__ == 2)) +# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# endif +# if __GNUC_MINOR__ < 4 +# define BOOST_NO_IS_ABSTRACT +# endif +#endif +#if __GNUC__ < 4 +// +// All problems to gcc-3.x and earlier here: +// +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +# ifdef __OPEN64__ +# define BOOST_NO_IS_ABSTRACT +# endif +#endif + +#ifndef __EXCEPTIONS +# define BOOST_NO_EXCEPTIONS +#endif + + +// +// Threading support: Turn this on unconditionally here (except for +// those platforms where we can know for sure). It will get turned off again +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif + +// +// gcc has "long long" +// +#define BOOST_HAS_LONG_LONG + +// +// gcc implements the named return value optimization since version 3.1 +// +#if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) +#define BOOST_HAS_NRVO +#endif +// +// RTTI and typeinfo detection is possible post gcc-4.3: +// +#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403 +# ifndef __GXX_RTTI +# define BOOST_NO_TYPEID +# define BOOST_NO_RTTI +# endif +#endif + +// C++0x features not implemented in any GCC version +// +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS + +// C++0x features in 4.3.n and later +// +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__) +// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are +// passed on the command line, which in turn defines +// __GXX_EXPERIMENTAL_CXX0X__. +# define BOOST_HAS_DECLTYPE +# define BOOST_HAS_RVALUE_REFS +# define BOOST_HAS_STATIC_ASSERT +# define BOOST_HAS_VARIADIC_TMPL +#else +# define BOOST_NO_DECLTYPE +# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +# define BOOST_NO_RVALUE_REFERENCES +# define BOOST_NO_STATIC_ASSERT + +// Variadic templates compiler: +// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html +# ifdef __VARIADIC_TEMPLATES +# define BOOST_HAS_VARIADIC_TMPL +# else +# define BOOST_NO_VARIADIC_TEMPLATES +# endif +#endif + +// C++0x features in 4.4.n and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_NO_AUTO_DECLARATIONS +# define BOOST_NO_AUTO_MULTIDECLARATIONS +# define BOOST_NO_CHAR16_T +# define BOOST_NO_CHAR32_T +# define BOOST_NO_DEFAULTED_FUNCTIONS +# define BOOST_NO_DELETED_FUNCTIONS +# define BOOST_NO_INITIALIZER_LISTS +# define BOOST_NO_SCOPED_ENUMS +#endif + +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) +# define BOOST_NO_SFINAE_EXPR +#endif + +// C++0x features in 4.4.1 and later +// +#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40401) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_SCOPED_ENUMS before 4.4.1 +// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 +# define BOOST_NO_SCOPED_ENUMS +#endif + +// C++0x features in 4.5.n and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#endif + +// ConceptGCC compiler: +// http://www.generic-programming.org/software/ConceptGCC/ +#ifdef __GXX_CONCEPTS__ +# define BOOST_HAS_CONCEPTS +# define BOOST_COMPILER "ConceptGCC version " __VERSION__ +#else +# define BOOST_NO_CONCEPTS +#endif + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "GNU C++ version " __VERSION__ +#endif + +// +// versions check: +// we don't know gcc prior to version 2.90: +#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) +# error "Compiler not configured - please reconfigure" +#endif +// +// last known and checked version is 4.4 (Pre-release): +#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 4)) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# else +// we don't emit warnings here anymore since there are no defect macros defined for +// gcc post 3.4, so any failures are gcc regressions... +//# warning "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc_xml.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc_xml.hpp new file mode 100644 index 0000000..76954a9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/gcc_xml.hpp @@ -0,0 +1,30 @@ +// (C) Copyright John Maddock 2006. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// GCC-XML C++ compiler setup: + +# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3)) +# define BOOST_NO_IS_ABSTRACT +# endif + +// +// Threading support: Turn this on unconditionally here (except for +// those platforms where we can know for sure). It will get turned off again +// later if no threading API is detected. +// +#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__) +# define BOOST_HAS_THREADS +#endif + +// +// gcc has "long long" +// +#define BOOST_HAS_LONG_LONG + +#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/greenhills.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/greenhills.hpp new file mode 100644 index 0000000..1dd89d1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/greenhills.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Greenhills C++ compiler setup: + +#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) + +#include "boost/config/compiler/common_edg.hpp" + +// +// versions check: +// we don't support Greenhills prior to version 0: +#if __ghs < 0 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0: +#if (__ghs > 0) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/hp_acc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/hp_acc.hpp new file mode 100644 index 0000000..66bbb46 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/hp_acc.hpp @@ -0,0 +1,127 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Toon Knapen 2003. +// (C) Copyright Boris Gubenko 2006 - 2007. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// HP aCC C++ compiler setup: + +#if defined(__EDG__) +#include "boost/config/compiler/common_edg.hpp" +#endif + +#if (__HP_aCC <= 33100) +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_OPERATORS_IN_NAMESPACE +# if !defined(_NAMESPACE_STD) +# define BOOST_NO_STD_LOCALE +# define BOOST_NO_STRINGSTREAM +# endif +#endif + +#if (__HP_aCC <= 33300) +// member templates are sufficiently broken that we disable them for now +# define BOOST_NO_MEMBER_TEMPLATES +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#endif + +#if (__HP_aCC <= 38000) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#if (__HP_aCC > 50000) && (__HP_aCC < 60000) +# define BOOST_NO_UNREACHABLE_RETURN_DETECTION +# define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_SWPRINTF +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif + +// optional features rather than defects: +#if (__HP_aCC >= 33900) +# define BOOST_HAS_LONG_LONG +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 ) +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +// This macro should not be defined when compiling in strict ansi +// mode, but, currently, we don't have the ability to determine +// what standard mode we are compiling with. Some future version +// of aCC6 compiler will provide predefined macros reflecting the +// compilation options, including the standard mode. +#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98)) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) + +// +// versions check: +// we don't support HP aCC prior to version 33000: +#if __HP_aCC < 33000 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// +// Extended checks for supporting aCC on PA-RISC +#if __HP_aCC > 30000 && __HP_aCC < 50000 +# if __HP_aCC < 38000 + // versions prior to version A.03.80 not supported +# error "Compiler version not supported - version A.03.80 or higher is required" +# elif !defined(__hpxstd98) + // must compile using the option +hpxstd98 with version A.03.80 and above +# error "Compiler option '+hpxstd98' is required for proper support" +# endif //PA-RISC +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#if !defined(__EDG__) + +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES +#endif + +// +// last known and checked version for HP-UX/ia64 is 61300 +// last known and checked version for PA-RISC is 38000 +#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/intel.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/intel.hpp new file mode 100644 index 0000000..620f457 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/intel.hpp @@ -0,0 +1,173 @@ +// (C) Copyright John Maddock 2001-8. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Aleksey Gurtovoy 2002 - 2003. +// (C) Copyright Guillaume Melquiond 2002 - 2003. +// (C) Copyright Beman Dawes 2003. +// (C) Copyright Martin Wille 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Intel compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +#if defined(__INTEL_COMPILER) +# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#elif defined(__ICL) +# define BOOST_INTEL_CXX_VERSION __ICL +#elif defined(__ICC) +# define BOOST_INTEL_CXX_VERSION __ICC +#elif defined(__ECC) +# define BOOST_INTEL_CXX_VERSION __ECC +#endif + +#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +#define BOOST_INTEL BOOST_INTEL_CXX_VERSION + +#if defined(_WIN32) || defined(_WIN64) +# define BOOST_INTEL_WIN BOOST_INTEL +#else +# define BOOST_INTEL_LINUX BOOST_INTEL +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) +# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# define BOOST_NO_TEMPLATE_TEMPLATES +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 600) + +# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) + +// Boost libraries assume strong standard conformance unless otherwise +// indicated by a config macro. As configured by Intel, the EDG front-end +// requires certain compiler options be set to achieve that strong conformance. +// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt) +// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for +// details as they apply to particular versions of the compiler. When the +// compiler does not predefine a macro indicating if an option has been set, +// this config file simply assumes the option has been set. +// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if +// the compiler option is not enabled. + +# define BOOST_NO_SWPRINTF +# endif + +// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) + +# if defined(_MSC_VER) && (_MSC_VER <= 1200) +# define BOOST_NO_VOID_RETURNS +# define BOOST_NO_INTEGRAL_INT64_T +# endif + +#endif + +#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32) +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#endif + +// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864 +#if BOOST_INTEL_CXX_VERSION < 600 +# define BOOST_NO_INTRINSIC_WCHAR_T +#else +// We should test the macro _WCHAR_T_DEFINED to check if the compiler +// supports wchar_t natively. *BUT* there is a problem here: the standard +// headers define this macro if they typedef wchar_t. Anyway, we're lucky +// because they define it without a value, while Intel C++ defines it +// to 1. So we can check its value to see if the macro was defined natively +// or not. +// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T +// is used instead. +# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0) +# define BOOST_NO_INTRINSIC_WCHAR_T +# endif +#endif + +#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +// +// Figure out when Intel is emulating this gcc bug +// (All Intel versions prior to 9.0.26, and versions +// later than that if they are set up to emulate gcc 3.2 +// or earlier): +// +# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +# endif +#endif +#if (defined(__GNUC__) && (__GNUC__ < 4)) || defined(_WIN32) || (BOOST_INTEL_CXX_VERSION <= 1110) +// GCC or VC emulation: +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif +// +// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T +// set correctly, if we don't do this now, we will get errors later +// in type_traits code among other things, getting this correct +// for the Intel compiler is actually remarkably fragile and tricky: +// +#if defined(BOOST_NO_INTRINSIC_WCHAR_T) +#include +template< typename T > struct assert_no_intrinsic_wchar_t; +template<> struct assert_no_intrinsic_wchar_t { typedef void type; }; +// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T +// where it is defined above: +typedef assert_no_intrinsic_wchar_t::type assert_no_intrinsic_wchar_t_; +#else +template< typename T > struct assert_intrinsic_wchar_t; +template<> struct assert_intrinsic_wchar_t {}; +// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line: +template<> struct assert_intrinsic_wchar_t {}; +#endif + +#if _MSC_VER+0 >= 1000 +# if _MSC_VER >= 1200 +# define BOOST_HAS_MS_INT64 +# endif +# define BOOST_NO_SWPRINTF +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#elif defined(_WIN32) +# define BOOST_DISABLE_WIN32 +#endif + +// I checked version 6.0 build 020312Z, it implements the NRVO. +// Correct this as you find out which version of the compiler +// implemented the NRVO first. (Daniel Frey) +#if (BOOST_INTEL_CXX_VERSION >= 600) +# define BOOST_HAS_NRVO +#endif + +// +// versions check: +// we don't support Intel prior to version 5.0: +#if BOOST_INTEL_CXX_VERSION < 500 +# error "Compiler not supported or configured - please reconfigure" +#endif + +// Intel on MacOS requires +#if defined(__APPLE__) && defined(__INTEL_COMPILER) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +// Intel on Altix Itanium +#if defined(__itanium__) && defined(__INTEL_COMPILER) +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +// +// last known and checked version: +#if (BOOST_INTEL_CXX_VERSION > 1110) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# elif defined(_MSC_VER) +// +// We don't emit this warning any more, since we have so few +// defect macros set anyway (just the one). +// +//# pragma message("Unknown compiler version - please run the configure tests and report the results") +# endif +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/kai.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/kai.hpp new file mode 100644 index 0000000..6b5591a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/kai.hpp @@ -0,0 +1,33 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Kai C++ compiler setup: + +#include "boost/config/compiler/common_edg.hpp" + +# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) + // at least on Sun, the contents of is not in namespace std +# define BOOST_NO_STDC_NAMESPACE +# endif + +// see also common_edg.hpp which needs a special check for __KCC +# if !defined(_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +# endif + +// +// last known and checked version is 4001: +#if (__KCC_VERSION > 4001) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/metrowerks.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/metrowerks.hpp new file mode 100644 index 0000000..1dd07a4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/metrowerks.hpp @@ -0,0 +1,139 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright David Abrahams 2001 - 2002. +// (C) Copyright Beman Dawes 2001 - 2003. +// (C) Copyright Stefan Slapeta 2004. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Metrowerks C++ compiler setup: + +// locale support is disabled when linking with the dynamic runtime +# ifdef _MSL_NO_LOCALE +# define BOOST_NO_STD_LOCALE +# endif + +# if __MWERKS__ <= 0x2301 // 5.3 +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_NO_POINTER_TO_MEMBER_CONST +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# endif + +# if __MWERKS__ <= 0x2401 // 6.2 +//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# endif + +# if(__MWERKS__ <= 0x2407) // 7.x +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# define BOOST_NO_UNREACHABLE_RETURN_DETECTION +# endif + +# if(__MWERKS__ <= 0x3003) // 8.x +# define BOOST_NO_SFINAE +# endif + +// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last +// tested version *only*: +# if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_IS_ABSTRACT +# endif + +#if !__option(wchar_type) +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#if !__option(exceptions) +# define BOOST_NO_EXCEPTIONS +#endif + +#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh) +# if __MWERKS__ == 0x3000 +# define BOOST_COMPILER_VERSION 8.0 +# elif __MWERKS__ == 0x3001 +# define BOOST_COMPILER_VERSION 8.1 +# elif __MWERKS__ == 0x3002 +# define BOOST_COMPILER_VERSION 8.2 +# elif __MWERKS__ == 0x3003 +# define BOOST_COMPILER_VERSION 8.3 +# elif __MWERKS__ == 0x3200 +# define BOOST_COMPILER_VERSION 9.0 +# elif __MWERKS__ == 0x3201 +# define BOOST_COMPILER_VERSION 9.1 +# elif __MWERKS__ == 0x3202 +# define BOOST_COMPILER_VERSION 9.2 +# elif __MWERKS__ == 0x3204 +# define BOOST_COMPILER_VERSION 9.3 +# elif __MWERKS__ == 0x3205 +# define BOOST_COMPILER_VERSION 9.4 +# elif __MWERKS__ == 0x3206 +# define BOOST_COMPILER_VERSION 9.5 +# elif __MWERKS__ == 0x3207 +# define BOOST_COMPILER_VERSION 9.6 +# else +# define BOOST_COMPILER_VERSION __MWERKS__ +# endif +#else +# define BOOST_COMPILER_VERSION __MWERKS__ +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#if __MWERKS__ > 0x3206 && __option(rvalue_refs) +# define BOOST_HAS_RVALUE_REFS +#else +# define BOOST_NO_RVALUE_REFERENCES +#endif +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Metrowerks prior to version 5.3: +#if __MWERKS__ < 0x2301 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version: +#if (__MWERKS__ > 0x3205) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/mpw.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/mpw.hpp new file mode 100644 index 0000000..abdbc46 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/mpw.hpp @@ -0,0 +1,81 @@ +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Aleksey Gurtovoy 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// MPW C++ compilers setup: + +# if defined(__SC__) +# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) +# elif defined(__MRC__) +# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) +# else +# error "Using MPW compiler configuration by mistake. Please update." +# endif + +// +// MPW 8.90: +// +#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_CV_SPECIALIZATIONS +# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_INTRINSIC_WCHAR_T +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# define BOOST_NO_USING_TEMPLATE + +# define BOOST_NO_CWCHAR +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + +# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ + +#endif + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +// +// versions check: +// we don't support MPW prior to version 8.9: +#if MPW_CPLUS < 0x890 +# error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x890: +#if (MPW_CPLUS > 0x890) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/pgi.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/pgi.hpp new file mode 100644 index 0000000..86c65b4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/pgi.hpp @@ -0,0 +1,62 @@ +// (C) Copyright Noel Belcourt 2007. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// PGI C++ compiler setup: + +#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__ +#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) + +// +// Threading support: +// Turn this on unconditionally here, it will get turned off again later +// if no threading API is detected. +// + +#if (__PGIC__ >= 7) + +#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_SWPRINTF + +#else + +# error "Pgi compiler not configured - please reconfigure" + +#endif +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +// +// version check: +// probably nothing to do here? + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sgi_mipspro.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sgi_mipspro.hpp new file mode 100644 index 0000000..da028e2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sgi_mipspro.hpp @@ -0,0 +1,29 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// SGI C++ compiler setup: + +#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) + +#include "boost/config/compiler/common_edg.hpp" + +// +// Threading support: +// Turn this on unconditionally here, it will get turned off again later +// if no threading API is detected. +// +#define BOOST_HAS_THREADS +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP + +#undef BOOST_NO_SWPRINTF +#undef BOOST_DEDUCED_TYPENAME + +// +// version check: +// probably nothing to do here? + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sunpro_cc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sunpro_cc.hpp new file mode 100644 index 0000000..032966c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/sunpro_cc.hpp @@ -0,0 +1,130 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright Peter Dimov 2002. +// (C) Copyright Aleksey Gurtovoy 2002 - 2003. +// (C) Copyright David Abrahams 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Sun C++ compiler setup: + +# if __SUNPRO_CC <= 0x500 +# define BOOST_NO_MEMBER_TEMPLATES +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# endif + +# if (__SUNPRO_CC <= 0x520) + // + // Sunpro 5.2 and earler: + // + // although sunpro 5.2 supports the syntax for + // inline initialization it often gets the value + // wrong, especially where the value is computed + // from other constants (J Maddock 6th May 2001) +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + + // Although sunpro 5.2 supports the syntax for + // partial specialization, it often seems to + // bind to the wrong specialization. Better + // to disable it until suppport becomes more stable + // (J Maddock 6th May 2001). +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# endif + +# if (__SUNPRO_CC <= 0x530) + // Requesting debug info (-g) with Boost.Python results + // in an internal compiler error for "static const" + // initialized in-class. + // >> Assertion: (../links/dbg_cstabs.cc, line 611) + // while processing ../test.cpp at line 0. + // (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002) +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION + + // SunPro 5.3 has better support for partial specialization, + // but breaks when compiling std::less > + // (Jens Maurer 4 Nov 2001). + + // std::less specialization fixed as reported by George + // Heintzelman; partial specialization re-enabled + // (Peter Dimov 17 Jan 2002) + +//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + // integral constant expressions with 64 bit numbers fail +# define BOOST_NO_INTEGRAL_INT64_T +# endif + +# if (__SUNPRO_CC < 0x570) +# define BOOST_NO_TEMPLATE_TEMPLATES + // see http://lists.boost.org/MailArchives/boost/msg47184.php + // and http://lists.boost.org/MailArchives/boost/msg47220.php +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_SFINAE +# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# endif +# if (__SUNPRO_CC <= 0x580) +# define BOOST_NO_IS_ABSTRACT +# endif + +// +// Issues that effect all known versions: +// +#define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_ADL_BARRIER + +// +// C++0x features +// + +#if(__SUNPRO_CC >= 0x590) +# define BOOST_HAS_LONG_LONG +#else +# define BOOST_NO_LONG_LONG +#endif + +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +// +// Version +// + +#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) + +// +// versions check: +// we don't support sunpro prior to version 4: +#if __SUNPRO_CC < 0x400 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 0x590: +#if (__SUNPRO_CC > 0x590) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/vacpp.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/vacpp.hpp new file mode 100644 index 0000000..13f99b3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/vacpp.hpp @@ -0,0 +1,88 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Toon Knapen 2001 - 2003. +// (C) Copyright Lie-Quan Lee 2001. +// (C) Copyright Markus Schoepflin 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Visual Age (IBM) C++ compiler setup: + +#if __IBMCPP__ <= 501 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#endif + +#if (__IBMCPP__ <= 502) +// Actually the compiler supports inclass member initialization but it +// requires a definition for the class member and it doesn't recognize +// it as an integral constant expression when used as a template argument. +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#endif + +#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG) +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# define BOOST_NO_INITIALIZER_LISTS +#endif + +// +// On AIX thread support seems to be indicated by _THREAD_SAFE: +// +#ifdef _THREAD_SAFE +# define BOOST_HAS_THREADS +#endif + +#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) + +// +// versions check: +// we don't support Visual age prior to version 5: +#if __IBMCPP__ < 500 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 600: +#if (__IBMCPP__ > 1010) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# endif +#endif + +// Some versions of the compiler have issues with default arguments on partial specializations +#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS + +// +// C++0x features +// +// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG +// +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DECLTYPE +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_LAMBDAS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_STATIC_ASSERT +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/visualc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/visualc.hpp new file mode 100644 index 0000000..191f553 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/compiler/visualc.hpp @@ -0,0 +1,258 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright Aleksey Gurtovoy 2002. +// (C) Copyright David Abrahams 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Microsoft Visual C++ compiler setup: + +#define BOOST_MSVC _MSC_VER + +#if _MSC_FULL_VER > 100000000 +# define BOOST_MSVC_FULL_VER _MSC_FULL_VER +#else +# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10) +#endif + +// turn off the warnings before we #include anything +#pragma warning( disable : 4503 ) // warning: decorated name length exceeded + +#if _MSC_VER < 1300 // 1200 == VC++ 6.0, 1200-1202 == eVC++4 +# pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# define BOOST_NO_VOID_RETURNS +# define BOOST_NO_EXCEPTION_STD_NAMESPACE + +# if BOOST_MSVC == 1202 +# define BOOST_NO_STD_TYPEINFO +# endif + + // disable min/max macro defines on vc6: + // +#endif + +#if (_MSC_VER <= 1300) // 1300 == VC++ 7.0 + +# if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) // VC7 bug with /Za +# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +# endif + +# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_NO_PRIVATE_IN_AGGREGATE +# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +# define BOOST_NO_INTEGRAL_INT64_T +# define BOOST_NO_DEDUCED_TYPENAME +# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE + +// VC++ 6/7 has member templates but they have numerous problems including +// cases of silent failure, so for safety we define: +# define BOOST_NO_MEMBER_TEMPLATES +// For VC++ experts wishing to attempt workarounds, we define: +# define BOOST_MSVC6_MEMBER_TEMPLATES + +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING +# define BOOST_NO_USING_TEMPLATE +# define BOOST_NO_SWPRINTF +# define BOOST_NO_TEMPLATE_TEMPLATES +# define BOOST_NO_SFINAE +# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +# define BOOST_NO_IS_ABSTRACT +# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS +// TODO: what version is meant here? Have there really been any fixes in cl 12.01 (as e.g. shipped with eVC4)? +# if (_MSC_VER > 1200) +# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +# endif + +#endif + +#if _MSC_VER < 1400 +// although a conforming signature for swprint exists in VC7.1 +// it appears not to actually work: +# define BOOST_NO_SWPRINTF +#endif + +#if defined(UNDER_CE) +// Windows CE does not have a conforming signature for swprintf +# define BOOST_NO_SWPRINTF +#endif + +#if _MSC_VER <= 1400 // 1400 == VC++ 8.0 +# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#endif + +#if _MSC_VER <= 1600 // 1600 == VC++ 10.0 +# define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#endif + +#if _MSC_VER == 1500 // 1500 == VC++ 9.0 + // A bug in VC9: +# define BOOST_NO_ADL_BARRIER +#endif + +#if _MSC_VER <= 1500 || !defined(BOOST_STRICT_CONFIG) // 1500 == VC++ 9.0 +# define BOOST_NO_INITIALIZER_LISTS +#endif + +#ifndef _NATIVE_WCHAR_T_DEFINED +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +#if defined(_WIN32_WCE) || defined(UNDER_CE) +# define BOOST_NO_THREADEX +# define BOOST_NO_GETSYSTEMTIMEASFILETIME +# define BOOST_NO_SWPRINTF +#endif + +// +// check for exception handling support: +#ifndef _CPPUNWIND +# define BOOST_NO_EXCEPTIONS +#endif + +// +// __int64 support: +// +#if (_MSC_VER >= 1200) +# define BOOST_HAS_MS_INT64 +#endif +#if (_MSC_VER >= 1310) && (defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1500)) +# define BOOST_HAS_LONG_LONG +#else +# define BOOST_NO_LONG_LONG +#endif +#if (_MSC_VER >= 1400) && !defined(_DEBUG) +# define BOOST_HAS_NRVO +#endif +// +// disable Win32 API's if compiler extentions are +// turned off: +// +#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32) +# define BOOST_DISABLE_WIN32 +#endif +#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +// +// all versions support __declspec: +// +#define BOOST_HAS_DECLSPEC + +// +// C++0x features +// +// See above for BOOST_NO_LONG_LONG + +// C++ features supported by VC++ 10 (aka 2010) +// +#if _MSC_VER < 1600 +#define BOOST_NO_AUTO_DECLARATIONS +#define BOOST_NO_AUTO_MULTIDECLARATIONS +#define BOOST_NO_DECLTYPE +#define BOOST_NO_LAMBDAS +#define BOOST_NO_RVALUE_REFERENCES +#define BOOST_NO_STATIC_ASSERT +#endif // _MSC_VER < 1600 + +// C++0x features not supported by any versions +#define BOOST_NO_CHAR16_T +#define BOOST_NO_CHAR32_T +#define BOOST_NO_CONCEPTS +#define BOOST_NO_CONSTEXPR +#define BOOST_NO_DEFAULTED_FUNCTIONS +#define BOOST_NO_DELETED_FUNCTIONS +#define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS +#define BOOST_NO_EXTERN_TEMPLATE +#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS +#define BOOST_NO_INITIALIZER_LISTS +#define BOOST_NO_NULLPTR +#define BOOST_NO_RAW_LITERALS +#define BOOST_NO_SCOPED_ENUMS +#define BOOST_NO_SFINAE_EXPR +#define BOOST_NO_TEMPLATE_ALIASES +#define BOOST_NO_UNICODE_LITERALS +#define BOOST_NO_VARIADIC_TEMPLATES + +// +// prefix and suffix headers: +// +#ifndef BOOST_ABI_PREFIX +# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp" +#endif +#ifndef BOOST_ABI_SUFFIX +# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp" +#endif + +// TODO: +// these things are mostly bogus. 1200 means version 12.0 of the compiler. The +// artificial versions assigned to them only refer to the versions of some IDE +// these compilers have been shipped with, and even that is not all of it. Some +// were shipped with freely downloadable SDKs, others as crosscompilers in eVC. +// IOW, you can't use these 'versions' in any sensible way. Sorry. +# if defined(UNDER_CE) +# if _MSC_VER < 1200 + // Note: these are so far off, they are not really supported +# elif _MSC_VER < 1300 // eVC++ 4 comes with 1200-1202 +# define BOOST_COMPILER_VERSION evc4.0 +# elif _MSC_VER == 1400 +# define BOOST_COMPILER_VERSION evc8 +# elif _MSC_VER == 1500 +# define BOOST_COMPILER_VERSION evc9 +# elif _MSC_VER == 1600 +# define BOOST_COMPILER_VERSION evc10 +# else +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown EVC++ compiler version - please run the configure tests and report the results" +# else +# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") +# endif +# endif +# else +# if _MSC_VER < 1200 + // Note: these are so far off, they are not really supported +# define BOOST_COMPILER_VERSION 5.0 +# elif _MSC_VER < 1300 +# define BOOST_COMPILER_VERSION 6.0 +# elif _MSC_VER == 1300 +# define BOOST_COMPILER_VERSION 7.0 +# elif _MSC_VER == 1310 +# define BOOST_COMPILER_VERSION 7.1 +# elif _MSC_VER == 1400 +# define BOOST_COMPILER_VERSION 8.0 +# elif _MSC_VER == 1500 +# define BOOST_COMPILER_VERSION 9.0 +# elif _MSC_VER == 1600 +# define BOOST_COMPILER_VERSION 10.0 +# else +# define BOOST_COMPILER_VERSION _MSC_VER +# endif +# endif + +#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) + +// +// versions check: +// we don't support Visual C++ prior to version 6: +#if _MSC_VER < 1200 +#error "Compiler not supported or configured - please reconfigure" +#endif +// +// last known and checked version is 1600 (VC10, aka 2010): +#if (_MSC_VER > 1600) +# if defined(BOOST_ASSERT_CONFIG) +# error "Unknown compiler version - please run the configure tests and report the results" +# else +# pragma message("Unknown compiler version - please run the configure tests and report the results") +# endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/cmath.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/cmath.hpp new file mode 100644 index 0000000..19ff526 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/cmath.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2008. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/cmath is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_CMATH +# define BOOST_CONFIG_CMATH + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_CMATH_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_CMATH_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_CMATH_RECURSION +# endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/complex.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/complex.hpp new file mode 100644 index 0000000..c6f4254 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/complex.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/complex is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_COMPLEX +# define BOOST_CONFIG_COMPLEX + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_COMPLEX_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_COMPLEX_RECURSION +# endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/functional.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/functional.hpp new file mode 100644 index 0000000..08d46fc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/functional.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/functional is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_FUNCTIONAL +# define BOOST_CONFIG_FUNCTIONAL + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION +# endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/memory.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/memory.hpp new file mode 100644 index 0000000..d998a54 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/memory.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/memory is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_MEMORY +# define BOOST_CONFIG_MEMORY + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_MEMORY_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_MEMORY_RECURSION +# endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/utility.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/utility.hpp new file mode 100644 index 0000000..40f2234 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/no_tr1/utility.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// The aim of this header is just to include but to do +// so in a way that does not result in recursive inclusion of +// the Boost TR1 components if boost/tr1/tr1/utility is in the +// include search path. We have to do this to avoid circular +// dependencies: +// + +#ifndef BOOST_CONFIG_UTILITY +# define BOOST_CONFIG_UTILITY + +# ifndef BOOST_TR1_NO_RECURSION +# define BOOST_TR1_NO_RECURSION +# define BOOST_CONFIG_NO_UTILITY_RECURSION +# endif + +# include + +# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION +# undef BOOST_TR1_NO_RECURSION +# undef BOOST_CONFIG_NO_UTILITY_RECURSION +# endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/aix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/aix.hpp new file mode 100644 index 0000000..36b6ab2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/aix.hpp @@ -0,0 +1,33 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// IBM/Aix specific config options: + +#define BOOST_PLATFORM "IBM Aix" + +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_NL_TYPES_H +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_CLOCK_GETTIME + +// This needs support in "boost/cstdint.hpp" exactly like FreeBSD. +// This platform has header named which includes all +// the things needed. +#define BOOST_HAS_STDINT_H + +// Threading API's: +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_PTHREAD_DELAY_NP +#define BOOST_HAS_SCHED_YIELD +//#define BOOST_HAS_PTHREAD_YIELD + +// boilerplate code: +#include + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/amigaos.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/amigaos.hpp new file mode 100644 index 0000000..fe22635 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/amigaos.hpp @@ -0,0 +1,15 @@ +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +#define BOOST_PLATFORM "AmigaOS" + +#define BOOST_DISABLE_THREADS +#define BOOST_NO_CWCHAR +#define BOOST_NO_STD_WSTRING +#define BOOST_NO_INTRINSIC_WCHAR_T + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/beos.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/beos.hpp new file mode 100644 index 0000000..507ef82 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/beos.hpp @@ -0,0 +1,26 @@ +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// BeOS specific config options: + +#define BOOST_PLATFORM "BeOS" + +#define BOOST_NO_CWCHAR +#define BOOST_NO_CWCTYPE +#define BOOST_HAS_UNISTD_H + +#define BOOST_HAS_BETHREADS + +#ifndef BOOST_DISABLE_THREADS +# define BOOST_HAS_THREADS +#endif + +// boilerplate code: +#include + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/bsd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/bsd.hpp new file mode 100644 index 0000000..a1ef7c3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/bsd.hpp @@ -0,0 +1,86 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Douglas Gregor 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// generic BSD config options: + +#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) +#error "This platform is not BSD" +#endif + +#ifdef __FreeBSD__ +#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__) +#elif defined(__NetBSD__) +#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__) +#elif defined(__OpenBSD__) +#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__) +#elif defined(__DragonFly__) +#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__) +#endif + +// +// is this the correct version check? +// FreeBSD has but does not +// advertise the fact in : +// +#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) || defined(__DragonFly__) +# define BOOST_HAS_NL_TYPES_H +#endif + +// +// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in +// and not in +// +#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\ + || defined(__OpenBSD__) || defined(__DragonFly__) +# define BOOST_HAS_PTHREADS +#endif + +// +// No wide character support in the BSD header files: +// +#if defined(__NetBSD__) +#define __NetBSD_GCC__ (__GNUC__ * 1000000 \ + + __GNUC_MINOR__ * 1000 \ + + __GNUC_PATCHLEVEL__) +// XXX - the following is required until c++config.h +// defines _GLIBCXX_HAVE_SWPRINTF and friends +// or the preprocessor conditionals are removed +// from the cwchar header. +#define _GLIBCXX_HAVE_SWPRINTF 1 +#endif + +#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \ + || (__NetBSD_GCC__ >= 2095003) || defined(__DragonFly__)) +# define BOOST_NO_CWCHAR +#endif +// +// The BSD has macros only, no functions: +// +#if !defined(__OpenBSD__) || defined(__DragonFly__) +# define BOOST_NO_CTYPE_FUNCTIONS +#endif + +// +// thread API's not auto detected: +// +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_NANOSLEEP +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_SIGACTION + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/cygwin.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/cygwin.hpp new file mode 100644 index 0000000..514ad25 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/cygwin.hpp @@ -0,0 +1,51 @@ +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// cygwin specific config options: + +#define BOOST_PLATFORM "Cygwin" +#define BOOST_NO_CWCTYPE +#define BOOST_NO_CWCHAR +#define BOOST_NO_SWPRINTF +#define BOOST_HAS_DIRENT_H +#define BOOST_HAS_LOG1P +#define BOOST_HAS_EXPM1 + +// +// Threading API: +// See if we have POSIX threads, if we do use them, otherwise +// revert to native Win threads. +#define BOOST_HAS_UNISTD_H +#include +#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) +# define BOOST_HAS_PTHREADS +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_SIGACTION +#else +# if !defined(BOOST_HAS_WINTHREADS) +# define BOOST_HAS_WINTHREADS +# endif +# define BOOST_HAS_FTIME +#endif + +// +// find out if we have a stdint.h, there should be a better way to do this: +// +#include +#ifdef _STDINT_H +#define BOOST_HAS_STDINT_H +#endif + +// boilerplate code: +#include + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/hpux.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/hpux.hpp new file mode 100644 index 0000000..8e79892 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/hpux.hpp @@ -0,0 +1,87 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Toon Knapen 2003. +// (C) Copyright Boris Gubenko 2006 - 2007. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// hpux specific config options: + +#define BOOST_PLATFORM "HP-UX" + +// In principle, HP-UX has a nice under the name +// However, it has the following problem: +// Use of UINT32_C(0) results in "0u l" for the preprocessed source +// (verifyable with gcc 2.95.3) +#if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined(__HP_aCC) +# define BOOST_HAS_STDINT_H +#endif + +#if !(defined(__HP_aCC) || !defined(_INCLUDE__STDC_A1_SOURCE)) +# define BOOST_NO_SWPRINTF +#endif +#if defined(__HP_aCC) && !defined(_INCLUDE__STDC_A1_SOURCE) +# define BOOST_NO_CWCTYPE +#endif + +#if defined(__GNUC__) +# if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) + // GNU C on HP-UX does not support threads (checked up to gcc 3.3) +# define BOOST_DISABLE_THREADS +# elif !defined(BOOST_DISABLE_THREADS) + // threads supported from gcc-3.3 onwards: +# define BOOST_HAS_THREADS +# define BOOST_HAS_PTHREADS +# endif +#elif defined(__HP_aCC) && !defined(BOOST_DISABLE_THREADS) +# define BOOST_HAS_PTHREADS +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +// the following are always available: +#ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +#endif +#ifndef BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_SCHED_YIELD +#endif +#ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#endif +#ifndef BOOST_HAS_NL_TYPES_H +# define BOOST_HAS_NL_TYPES_H +#endif +#ifndef BOOST_HAS_NANOSLEEP +# define BOOST_HAS_NANOSLEEP +#endif +#ifndef BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_GETTIMEOFDAY +#endif +#ifndef BOOST_HAS_DIRENT_H +# define BOOST_HAS_DIRENT_H +#endif +#ifndef BOOST_HAS_CLOCK_GETTIME +# define BOOST_HAS_CLOCK_GETTIME +#endif +#ifndef BOOST_HAS_SIGACTION +# define BOOST_HAS_SIGACTION +#endif +#ifndef BOOST_HAS_NRVO +# ifndef __parisc +# define BOOST_HAS_NRVO +# endif +#endif +#ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +#endif +#ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/irix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/irix.hpp new file mode 100644 index 0000000..e0691a4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/irix.hpp @@ -0,0 +1,31 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +// See http://www.boost.org for most recent version. + +// SGI Irix specific config options: + +#define BOOST_PLATFORM "SGI Irix" + +#define BOOST_NO_SWPRINTF +// +// these are not auto detected by POSIX feature tests: +// +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE + +#ifdef __GNUC__ + // GNU C on IRIX does not support threads (checked up to gcc 3.3) +# define BOOST_DISABLE_THREADS +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/linux.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/linux.hpp new file mode 100644 index 0000000..b87db79 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/linux.hpp @@ -0,0 +1,98 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// linux specific config options: + +#define BOOST_PLATFORM "linux" + +// make sure we have __GLIBC_PREREQ if available at all +#include + +// +// added to glibc 2.1.1 +// We can only test for 2.1 though: +// +#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) + // defines int64_t unconditionally, but defines + // int64_t only if __GNUC__. Thus, assume a fully usable + // only when using GCC. +# if defined __GNUC__ +# define BOOST_HAS_STDINT_H +# endif +#endif + +#if defined(__LIBCOMO__) + // + // como on linux doesn't have std:: c functions: + // NOTE: versions of libcomo prior to beta28 have octal version numbering, + // e.g. version 25 is 21 (dec) + // +# if __LIBCOMO_VERSION__ <= 20 +# define BOOST_NO_STDC_NAMESPACE +# endif + +# if __LIBCOMO_VERSION__ <= 21 +# define BOOST_NO_SWPRINTF +# endif + +#endif + +// +// If glibc is past version 2 then we definitely have +// gettimeofday, earlier versions may or may not have it: +// +#if defined(__GLIBC__) && (__GLIBC__ >= 2) +# define BOOST_HAS_GETTIMEOFDAY +#endif + +#ifdef __USE_POSIX199309 +# define BOOST_HAS_NANOSLEEP +#endif + +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +// __GLIBC_PREREQ is available since 2.1.2 + + // swprintf is available since glibc 2.2.0 +# if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) +# define BOOST_NO_SWPRINTF +# endif +#else +# define BOOST_NO_SWPRINTF +#endif + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +#ifndef __GNUC__ +// +// if the compiler is not gcc we still need to be able to parse +// the GNU system headers, some of which (mainly ) +// use GNU specific extensions: +// +# ifndef __extension__ +# define __extension__ +# endif +# ifndef __const__ +# define __const__ const +# endif +# ifndef __volatile__ +# define __volatile__ volatile +# endif +# ifndef __signed__ +# define __signed__ signed +# endif +# ifndef __typeof__ +# define __typeof__ typeof +# endif +# ifndef __inline__ +# define __inline__ inline +# endif +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/macos.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/macos.hpp new file mode 100644 index 0000000..f21d6fc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/macos.hpp @@ -0,0 +1,86 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001 - 2002. +// (C) Copyright Bill Kempf 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Mac OS specific config options: + +#define BOOST_PLATFORM "Mac OS" + +#if __MACH__ && !defined(_MSL_USING_MSL_C) + +// Using the Mac OS X system BSD-style C library. + +# ifndef BOOST_HAS_UNISTD_H +# define BOOST_HAS_UNISTD_H +# endif +// +// Begin by including our boilerplate code for POSIX +// feature detection, this is safe even when using +// the MSL as Metrowerks supply their own +// to replace the platform-native BSD one. G++ users +// should also always be able to do this on MaxOS X. +// +# include +# ifndef BOOST_HAS_STDINT_H +# define BOOST_HAS_STDINT_H +# endif + +// +// BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, +// of these only pthreads are advertised in , so set the +// other options explicitly: +// +# define BOOST_HAS_SCHED_YIELD +# define BOOST_HAS_GETTIMEOFDAY +# define BOOST_HAS_SIGACTION + +# if (__GNUC__ < 3) && !defined( __APPLE_CC__) + +// GCC strange "ignore std" mode works better if you pretend everything +// is in the std namespace, for the most part. + +# define BOOST_NO_STDC_NAMESPACE +# endif + +# if (__GNUC__ == 4) + +// Both gcc and intel require these. +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# define BOOST_HAS_NANOSLEEP + +# endif + +#else + +// Using the MSL C library. + +// We will eventually support threads in non-Carbon builds, but we do +// not support this yet. +# if ( defined(TARGET_API_MAC_CARBON) && TARGET_API_MAC_CARBON ) || ( defined(TARGET_CARBON) && TARGET_CARBON ) + +# if !defined(BOOST_HAS_PTHREADS) +# define BOOST_HAS_MPTASKS +# elif ( __dest_os == __mac_os_x ) +// We are doing a Carbon/Mach-O/MSL build which has pthreads, but only the +// gettimeofday and no posix. +# define BOOST_HAS_GETTIMEOFDAY +# endif + +// The MP task implementation of Boost Threads aims to replace MP-unsafe +// parts of the MSL, so we turn on threads unconditionally. +# define BOOST_HAS_THREADS + +// The remote call manager depends on this. +# define BOOST_BIND_ENABLE_PASCAL + +# endif + +#endif + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/qnxnto.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/qnxnto.hpp new file mode 100644 index 0000000..102f27c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/qnxnto.hpp @@ -0,0 +1,31 @@ +// (C) Copyright Jim Douglas 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// QNX specific config options: + +#define BOOST_PLATFORM "QNX" + +#define BOOST_HAS_UNISTD_H +#include + +// QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h +// or log1p and expm1: +#undef BOOST_HAS_NL_TYPES_H +#undef BOOST_HAS_LOG1P +#undef BOOST_HAS_EXPM1 + +#define BOOST_HAS_PTHREADS +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE + +#define BOOST_HAS_GETTIMEOFDAY +#define BOOST_HAS_CLOCK_GETTIME +#define BOOST_HAS_NANOSLEEP + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/solaris.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/solaris.hpp new file mode 100644 index 0000000..af776bd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/solaris.hpp @@ -0,0 +1,28 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// sun specific config options: + +#define BOOST_PLATFORM "Sun Solaris" + +#define BOOST_HAS_GETTIMEOFDAY + +// boilerplate code: +#define BOOST_HAS_UNISTD_H +#include + +// +// pthreads don't actually work with gcc unless _PTHREADS is defined: +// +#if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS) +# undef BOOST_HAS_PTHREADS +#endif + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/vxworks.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/vxworks.hpp new file mode 100644 index 0000000..75b14ca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/vxworks.hpp @@ -0,0 +1,31 @@ +// (C) Copyright Dustin Spicuzza 2009. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// vxWorks specific config options: + +#define BOOST_PLATFORM "vxWorks" + +#define BOOST_NO_CWCHAR +#define BOOST_NO_INTRINSIC_WCHAR_T + +#if defined(__GNUC__) && defined(__STRICT_ANSI__) +#define BOOST_NO_INT64_T +#endif + +#define BOOST_HAS_UNISTD_H + +// these allow posix_features to work, since vxWorks doesn't +// define them itself +#define _POSIX_TIMERS 1 +#define _POSIX_THREADS 1 + +// vxworks doesn't work with asio serial ports +#define BOOST_ASIO_DISABLE_SERIAL_PORT + +// boilerplate code: +#include + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/win32.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/win32.hpp new file mode 100644 index 0000000..d18b689 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/platform/win32.hpp @@ -0,0 +1,58 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Bill Kempf 2001. +// (C) Copyright Aleksey Gurtovoy 2003. +// (C) Copyright Rene Rivera 2005. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Win32 specific config options: + +#define BOOST_PLATFORM "Win32" + +// Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION. +#if defined(__MINGW32__) +# include <_mingw.h> +#endif + +#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) +# define BOOST_NO_SWPRINTF +#endif + +#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC) +# define BOOST_HAS_DECLSPEC +#endif + +#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0))) +# define BOOST_HAS_STDINT_H +# define __STDC_LIMIT_MACROS +# define BOOST_HAS_DIRENT_H +# define BOOST_HAS_UNISTD_H +#endif + +// +// Win32 will normally be using native Win32 threads, +// but there is a pthread library avaliable as an option, +// we used to disable this when BOOST_DISABLE_WIN32 was +// defined but no longer - this should allow some +// files to be compiled in strict mode - while maintaining +// a consistent setting of BOOST_HAS_THREADS across +// all translation units (needed for shared_ptr etc). +// + +#ifdef _WIN32_WCE +# define BOOST_NO_ANSI_APIS +#endif + +#ifndef BOOST_HAS_PTHREADS +# define BOOST_HAS_WINTHREADS +#endif + +#ifndef BOOST_DISABLE_WIN32 +// WEK: Added +#define BOOST_HAS_FTIME +#define BOOST_WINDOWS 1 + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/posix_features.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/posix_features.hpp new file mode 100644 index 0000000..bc3921c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/posix_features.hpp @@ -0,0 +1,95 @@ +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +// See http://www.boost.org for most recent version. + +// All POSIX feature tests go in this file, +// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well +// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's +// may be present but none-functional unless _POSIX_C_SOURCE and +// _XOPEN_SOURCE have been defined to the right value (it's up +// to the user to do this *before* including any header, although +// in most cases the compiler will do this for you). + +# if defined(BOOST_HAS_UNISTD_H) +# include + + // XOpen has , but is this the correct version check? +# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) +# define BOOST_HAS_NL_TYPES_H +# endif + + // POSIX version 6 requires +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) +# define BOOST_HAS_STDINT_H +# endif + + // POSIX version 2 requires +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) +# define BOOST_HAS_DIRENT_H +# endif + + // POSIX version 3 requires to have sigaction: +# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) +# define BOOST_HAS_SIGACTION +# endif + // POSIX defines _POSIX_THREADS > 0 for pthread support, + // however some platforms define _POSIX_THREADS without + // a value, hence the (_POSIX_THREADS+0 >= 0) check. + // Strictly speaking this may catch platforms with a + // non-functioning stub , but such occurrences should + // occur very rarely if at all. +# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) +# define BOOST_HAS_PTHREADS +# endif + + // BOOST_HAS_NANOSLEEP: + // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: +# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ + || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) +# define BOOST_HAS_NANOSLEEP +# endif + + // BOOST_HAS_CLOCK_GETTIME: + // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME + // but at least one platform - linux - defines that flag without + // defining clock_gettime): +# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) +# define BOOST_HAS_CLOCK_GETTIME +# endif + + // BOOST_HAS_SCHED_YIELD: + // This is predicated on _POSIX_PRIORITY_SCHEDULING or + // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. +# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ + || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ + || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) +# define BOOST_HAS_SCHED_YIELD +# endif + + // BOOST_HAS_GETTIMEOFDAY: + // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: + // These are predicated on _XOPEN_VERSION, and appears to be first released + // in issue 4, version 2 (_XOPEN_VERSION > 500). + // Likewise for the functions log1p and expm1. +# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) +# define BOOST_HAS_GETTIMEOFDAY +# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500) +# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# endif +# ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +# endif +# ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +# endif +# endif + +# endif + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/requires_threads.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/requires_threads.hpp new file mode 100644 index 0000000..b79723b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/requires_threads.hpp @@ -0,0 +1,92 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +#ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP +#define BOOST_CONFIG_REQUIRES_THREADS_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_DISABLE_THREADS) + +// +// special case to handle versions of gcc which don't currently support threads: +// +#if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) +// +// this is checked up to gcc 3.3: +// +#if defined(__sgi) || defined(__hpux) +# error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" +#endif + +#endif + +# error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" + +#elif !defined(BOOST_HAS_THREADS) + +# if defined __COMO__ +// Comeau C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" + +#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) +// Intel +#ifdef _WIN32 +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" +#else +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" +#endif + +# elif defined __GNUC__ +// GNU C++: +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" + +#elif defined __sgi +// SGI MIPSpro C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" + +#elif defined __DECCXX +// Compaq Tru64 Unix cxx +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" + +#elif defined __BORLANDC__ +// Borland +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" + +#elif defined __MWERKS__ +// Metrowerks CodeWarrior +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" + +#elif defined __SUNPRO_CC +// Sun Workshop Compiler C++ +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" + +#elif defined __HP_aCC +// HP aCC +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" + +#elif defined(__IBMCPP__) +// IBM Visual Age +# error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" + +#elif defined _MSC_VER +// Microsoft Visual C++ +// +// Must remain the last #elif since some other vendors (Metrowerks, for +// example) also #define _MSC_VER +# error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" + +#else + +# error "Compiler threading support is not turned on. Please consult your compiler's documentation for the appropriate options to use" + +#endif // compilers + +#endif // BOOST_HAS_THREADS + +#endif // BOOST_CONFIG_REQUIRES_THREADS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_compiler_config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_compiler_config.hpp new file mode 100644 index 0000000..0e2d6b3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_compiler_config.hpp @@ -0,0 +1,119 @@ +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Martin Wille 2003. +// (C) Copyright Guillaume Melquiond 2003. +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/ for most recent version. + + +// one identification macro for each of the +// compilers we support: + +# define BOOST_CXX_GCCXML 0 +# define BOOST_CXX_COMO 0 +# define BOOST_CXX_DMC 0 +# define BOOST_CXX_INTEL 0 +# define BOOST_CXX_GNUC 0 +# define BOOST_CXX_KCC 0 +# define BOOST_CXX_SGI 0 +# define BOOST_CXX_TRU64 0 +# define BOOST_CXX_GHS 0 +# define BOOST_CXX_BORLAND 0 +# define BOOST_CXX_CW 0 +# define BOOST_CXX_SUNPRO 0 +# define BOOST_CXX_HPACC 0 +# define BOOST_CXX_MPW 0 +# define BOOST_CXX_IBMCPP 0 +# define BOOST_CXX_MSVC 0 +# define BOOST_CXX_PGI 0 + + +// locate which compiler we are using and define +// BOOST_COMPILER_CONFIG as needed: + +#if defined(__GCCXML__) +// GCC-XML emulates other compilers, it has to appear first here! +# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp" + +#elif defined __COMO__ +// Comeau C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" + +#elif defined __DMC__ +// Digital Mars C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" + +#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) +// Intel +# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" + +# elif defined __GNUC__ +// GNU C++: +# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" + +#elif defined __KCC +// Kai C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" + +#elif defined __sgi +// SGI MIPSpro C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" + +#elif defined __DECCXX +// Compaq Tru64 Unix cxx +# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" + +#elif defined __ghs +// Greenhills C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" + +#elif defined __CODEGEARC__ +// CodeGear - must be checked for before Borland +# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp" + +#elif defined __BORLANDC__ +// Borland +# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" + +#elif defined __MWERKS__ +// Metrowerks CodeWarrior +# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" + +#elif defined __SUNPRO_CC +// Sun Workshop Compiler C++ +# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" + +#elif defined __HP_aCC +// HP aCC +# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" + +#elif defined(__MRC__) || defined(__SC__) +// MPW MrCpp or SCpp +# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" + +#elif defined(__IBMCPP__) +// IBM Visual Age +# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" + +#elif defined(__PGI) +// Portland Group Inc. +# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp" + +#elif defined _MSC_VER +// Microsoft Visual C++ +// +// Must remain the last #elif since some other vendors (Metrowerks, for +// example) also #define _MSC_VER +# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" + +#elif defined (BOOST_ASSERT_CONFIG) +// this must come last - generate an error if we don't +// recognise the compiler: +# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)" + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_platform_config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_platform_config.hpp new file mode 100644 index 0000000..9662e30 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_platform_config.hpp @@ -0,0 +1,94 @@ +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. +// Note that we define the headers to include using "header_name" not +// in order to prevent macro expansion within the header +// name (for example "linux" is a macro on linux systems). + +#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) +// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? +# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" + +#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) +// BSD: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" + +#elif defined(sun) || defined(__sun) +// solaris: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" + +#elif defined(__sgi) +// SGI Irix: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" + +#elif defined(__hpux) +// hp unix: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" + +#elif defined(__CYGWIN__) +// cygwin is not win32: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +// win32: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" + +#elif defined(__BEOS__) +// BeOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" + +#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) +// MacOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" + +#elif defined(__IBMCPP__) || defined(_AIX) +// IBM +# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" + +#elif defined(__amigaos__) +// AmigaOS +# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" + +#elif defined(__QNXNTO__) +// QNX: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp" + +#elif defined(__VXWORKS__) +// vxWorks: +# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp" + +#else + +# if defined(unix) \ + || defined(__unix) \ + || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) + + // generic unix platform: + +# ifndef BOOST_HAS_UNISTD_H +# define BOOST_HAS_UNISTD_H +# endif + +# include + +# endif + +# if defined (BOOST_ASSERT_CONFIG) + // this must come last - generate an error if we don't + // recognise the platform: +# error "Unknown platform - please configure and report the results to boost.org" +# endif + +#endif + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_stdlib_config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_stdlib_config.hpp new file mode 100644 index 0000000..90531f2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/select_stdlib_config.hpp @@ -0,0 +1,77 @@ +// Boost compiler configuration selection header file + +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + +// See http://www.boost.org for most recent version. + +// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: + +// First include to determine if some version of STLport is in use as the std lib +// (do not rely on this header being included since users can short-circuit this header +// if they know whose std lib they are using.) +#include + +#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) +// STLPort library; this _must_ come first, otherwise since +// STLport typically sits on top of some other library, we +// can end up detecting that first rather than STLport: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" + +#else + +// If our std lib was not some version of STLport, then include as it is about +// the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not +// include their C++-related macros in so this additional include makes sure +// we get those definitions) +// (again do not rely on this header being included since users can short-circuit this +// header if they know whose std lib they are using.) +#include + +#if defined(__LIBCOMO__) +// Comeau STL: +#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" + +#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) +// Rogue Wave library: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" + +#elif defined(__GLIBCPP__) || defined(__GLIBCXX__) +// GNU libstdc++ 3 +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" + +#elif defined(__STL_CONFIG_H) +// generic SGI STL +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" + +#elif defined(__MSL_CPP__) +// MSL standard lib: +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" + +#elif defined(__IBMCPP__) +// take the default VACPP std lib +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" + +#elif defined(MSIPL_COMPILE_H) +// Modena C++ standard library +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" + +#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) +// Dinkumware Library (this has to appear after any possible replacement libraries): +# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" + +#elif defined (BOOST_ASSERT_CONFIG) +// this must come last - generate an error if we don't +// recognise the library: +# error "Unknown standard library - please configure and report the results to boost.org" + +#endif + +#endif + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/dinkumware.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/dinkumware.hpp new file mode 100644 index 0000000..d0f984c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/dinkumware.hpp @@ -0,0 +1,138 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright Peter Dimov 2001. +// (C) Copyright David Abrahams 2002. +// (C) Copyright Guillaume Melquiond 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Dinkumware standard library config: + +#if !defined(_YVALS) && !defined(_CPPLIB_VER) +#include +#if !defined(_YVALS) && !defined(_CPPLIB_VER) +#error This is not the Dinkumware lib! +#endif +#endif + + +#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) + // full dinkumware 3.06 and above + // fully conforming provided the compiler supports it: +# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h +# define BOOST_NO_STDC_NAMESPACE +# endif +# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) +# define BOOST_NO_STD_ALLOCATOR +# endif +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +# if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) + // if this lib version is set up for vc6 then there is no std::use_facet: +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET + // C lib functions aren't in namespace std either: +# define BOOST_NO_STDC_NAMESPACE + // and nor is +# define BOOST_NO_EXCEPTION_STD_NAMESPACE +# endif +// There's no numeric_limits support unless _LONGLONG is defined: +# if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# endif +// 3.06 appears to have (non-sgi versions of) & , +// and no at all +#else +# define BOOST_MSVC_STD_ITERATOR 1 +# define BOOST_NO_STD_ITERATOR +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_STD_USE_FACET +# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +# define BOOST_HAS_MACRO_USE_FACET +# ifndef _CPPLIB_VER + // Updated Dinkum library defines this, and provides + // its own min and max definitions, as does MTA version. +# ifndef __MTA__ +# define BOOST_NO_STD_MIN_MAX +# endif +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# endif +#endif + +// +// std extension namespace is stdext for vc7.1 and later, +// the same applies to other compilers that sit on top +// of vc7.1 (Intel and Comeau): +// +#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) +# define BOOST_STD_EXTENSION_NAMESPACE stdext +#endif + + +#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) + // if we're using a dinkum lib that's + // been configured for VC6/7 then there is + // no iterator traits (true even for icl) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +#if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) +// Intel C++ chokes over any non-trivial use of +// this may be an overly restrictive define, but regex fails without it: +# define BOOST_NO_STD_LOCALE +#endif + +// C++0x headers implemented in 520 (as shipped by Microsoft) +// +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520 +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE + +#ifdef _CPPLIB_VER +# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER +#else +# define BOOST_DINKUMWARE_STDLIB 1 +#endif + +#ifdef _CPPLIB_VER +# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) +#else +# define BOOST_STDLIB "Dinkumware standard library version 1.x" +#endif + + + + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libcomo.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libcomo.hpp new file mode 100644 index 0000000..c6a1b52 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libcomo.hpp @@ -0,0 +1,71 @@ +// (C) Copyright John Maddock 2002 - 2003. +// (C) Copyright Jens Maurer 2002 - 2003. +// (C) Copyright Beman Dawes 2002 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Comeau STL: + +#if !defined(__LIBCOMO__) +# include +# if !defined(__LIBCOMO__) +# error "This is not the Comeau STL!" +# endif +#endif + +// +// std::streambuf is non-standard +// NOTE: versions of libcomo prior to beta28 have octal version numbering, +// e.g. version 25 is 21 (dec) +#if __LIBCOMO_VERSION__ <= 22 +# define BOOST_NO_STD_WSTREAMBUF +#endif + +#if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) +#define BOOST_NO_SWPRINTF +#endif + +#if __LIBCOMO_VERSION__ >= 31 +# define BOOST_HAS_HASH +# define BOOST_HAS_SLIST +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libstdcpp3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libstdcpp3.hpp new file mode 100644 index 0000000..340e866 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/libstdcpp3.hpp @@ -0,0 +1,127 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// config for libstdc++ v3 +// not much to go in here: + +#ifdef __GLIBCXX__ +#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) +#else +#define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) +#endif + +#if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) +# define BOOST_NO_CWCHAR +# define BOOST_NO_CWCTYPE +# define BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTREAMBUF +#endif + +#if defined(__osf__) && !defined(_REENTRANT) \ + && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) +// GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header +// file is included, therefore for consistency we define it here as well. +# define _REENTRANT +#endif + +#ifdef __GLIBCXX__ // gcc 3.4 and greater: +# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ + || defined(_GLIBCXX__PTHREADS) + // + // If the std lib has thread support turned on, then turn it on in Boost + // as well. We do this because some gcc-3.4 std lib headers define _REENTANT + // while others do not... + // +# define BOOST_HAS_THREADS +# else +# define BOOST_DISABLE_THREADS +# endif +#elif defined(__GLIBCPP__) \ + && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ + && !defined(_GLIBCPP__PTHREADS) + // disable thread support if the std lib was built single threaded: +# define BOOST_DISABLE_THREADS +#endif + +#if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) +// linux on arm apparently doesn't define _REENTRANT +// so just turn on threading support whenever the std lib is thread safe: +# define BOOST_HAS_THREADS +#endif + + +#if !defined(_GLIBCPP_USE_LONG_LONG) \ + && !defined(_GLIBCXX_USE_LONG_LONG)\ + && defined(BOOST_HAS_LONG_LONG) +// May have been set by compiler/*.hpp, but "long long" without library +// support is useless. +# undef BOOST_HAS_LONG_LONG +#endif + +#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 +# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx +# define BOOST_HAS_SLIST +# define BOOST_HAS_HASH +# define BOOST_SLIST_HEADER +# if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) +# define BOOST_HASH_SET_HEADER +# define BOOST_HASH_MAP_HEADER +# else +# define BOOST_HASH_SET_HEADER +# define BOOST_HASH_MAP_HEADER +# endif +#endif + +// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly +// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++ +// developers. He also commented: +// +// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in +// GCC 4.2.4 it is set to 20080519 but in GCC 4.3.0 it is set to 20080305. +// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support +// than any release in the 4.2 series." +// +// Another resource for understanding stdlibc++ features is: +// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x + +// C++0x headers in GCC 4.3.0 and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET +#endif + +// C++0x headers in GCC 4.4.0 and later +// +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS + +// --- end --- diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/modena.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/modena.hpp new file mode 100644 index 0000000..c614dcf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/modena.hpp @@ -0,0 +1,55 @@ +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Modena C++ standard library (comes with KAI C++) + +#if !defined(MSIPL_COMPILE_H) +# include +# if !defined(__MSIPL_COMPILE_H) +# error "This is not the Modena C++ library!" +# endif +#endif + +#ifndef MSIPL_NL_TYPES +#define BOOST_NO_STD_MESSAGES +#endif + +#ifndef MSIPL_WCHART +#define BOOST_NO_STD_WSTRING +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + +#define BOOST_STDLIB "Modena C++ standard library" + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/msl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/msl.hpp new file mode 100644 index 0000000..c332226 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/msl.hpp @@ -0,0 +1,83 @@ +// (C) Copyright John Maddock 2001. +// (C) Copyright Darin Adler 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Metrowerks standard library: + +#ifndef __MSL_CPP__ +# include +# ifndef __MSL_CPP__ +# error This is not the MSL standard library! +# endif +#endif + +#if __MSL_CPP__ >= 0x6000 // Pro 6 +# define BOOST_HAS_HASH +# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks +#endif +#define BOOST_HAS_SLIST + +#if __MSL_CPP__ < 0x6209 +# define BOOST_NO_STD_MESSAGES +#endif + +// check C lib version for +#include + +#if defined(__MSL__) && (__MSL__ >= 0x5000) +# define BOOST_HAS_STDINT_H +# if !defined(__PALMOS_TRAPS__) +# define BOOST_HAS_UNISTD_H +# endif + // boilerplate code: +# include +#endif + +#if defined(_MWMT) || _MSL_THREADSAFE +# define BOOST_HAS_THREADS +#endif + +#ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + +#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) + + + + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/roguewave.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/roguewave.hpp new file mode 100644 index 0000000..3fbc618 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/roguewave.hpp @@ -0,0 +1,179 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001. +// (C) Copyright David Abrahams 2003. +// (C) Copyright Boris Gubenko 2007. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// Rogue Wave std lib: + +#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) +# include +# if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) +# error This is not the Rogue Wave standard library +# endif +#endif +// +// figure out a consistent version number: +// +#ifndef _RWSTD_VER +# define BOOST_RWSTD_VER 0x010000 +#elif _RWSTD_VER < 0x010000 +# define BOOST_RWSTD_VER (_RWSTD_VER << 8) +#else +# define BOOST_RWSTD_VER _RWSTD_VER +#endif + +#ifndef _RWSTD_VER +# define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" +#elif _RWSTD_VER < 0x04010200 + # define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) +#else +# ifdef _RWSTD_VER_STR +# define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR +# else +# define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER) +# endif +#endif + +// +// Prior to version 2.2.0 the primary template for std::numeric_limits +// does not have compile time constants, even though specializations of that +// template do: +// +#if BOOST_RWSTD_VER < 0x020200 +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the +// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): +#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# endif + +// +// Borland version of numeric_limits lacks __int64 specialisation: +// +#ifdef __BORLANDC__ +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +#endif + +// +// No std::iterator if it can't figure out default template args: +// +#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) +# define BOOST_NO_STD_ITERATOR +#endif + +// +// No iterator traits without partial specialization: +// +#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// Prior to version 2.0, std::auto_ptr was buggy, and there were no +// new-style iostreams, and no conformant std::allocator: +// +#if (BOOST_RWSTD_VER < 0x020000) +# define BOOST_NO_AUTO_PTR +# define BOOST_NO_STRINGSTREAM +# define BOOST_NO_STD_ALLOCATOR +# define BOOST_NO_STD_LOCALE +#endif + +// +// No template iterator constructors without member template support: +// +#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +#endif + +// +// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use +// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR +// on HP aCC systems even though the allocator is in fact broken): +// +#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// If we have a std::locale, we still may not have std::use_facet: +// +#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_TWO_ARG_USE_FACET +#endif + +// +// There's no std::distance prior to version 2, or without +// partial specialization support: +// +#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) + #define BOOST_NO_STD_DISTANCE +#endif + +// +// Some versions of the rogue wave library don't have assignable +// OutputIterators: +// +#if BOOST_RWSTD_VER < 0x020100 +# define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +#endif + +// +// Disable BOOST_HAS_LONG_LONG when the library has no support for it. +// +#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) +# undef BOOST_HAS_LONG_LONG +#endif + +// +// check that on HP-UX, the proper RW library is used +// +#if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD) +# error "Boost requires Standard RW library. Please compile and link with -AA" +#endif + +// +// Define macros specific to RW V2.2 on HP-UX +// +#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100) +# ifndef __HP_TC1_MAKE_PAIR +# define __HP_TC1_MAKE_PAIR +# endif +# ifndef _HP_INSTANTIATE_STD2_VL +# define _HP_INSTANTIATE_STD2_VL +# endif +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/sgi.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/sgi.hpp new file mode 100644 index 0000000..3fcd543 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/sgi.hpp @@ -0,0 +1,136 @@ +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Jens Maurer 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// generic SGI STL: + +#if !defined(__STL_CONFIG_H) +# include +# if !defined(__STL_CONFIG_H) +# error "This is not the SGI STL!" +# endif +#endif + +// +// No std::iterator traits without partial specialisation: +// +#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// No std::stringstream with gcc < 3 +// +#if defined(__GNUC__) && (__GNUC__ < 3) && \ + ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ + !defined(__STL_USE_NEW_IOSTREAMS) || \ + defined(__APPLE_CC__) + // Note that we only set this for GNU C++ prior to 2.95 since the + // latest patches for that release do contain a minimal + // If you are running a 2.95 release prior to 2.95.3 then this will need + // setting, but there is no way to detect that automatically (other + // than by running the configure script). + // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't + // have . +# define BOOST_NO_STRINGSTREAM +#endif + +// +// Assume no std::locale without own iostreams (this may be an +// incorrect assumption in some cases): +// +#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +#endif + +// +// Original native SGI streams have non-standard std::messages facet: +// +#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +#endif + +// +// SGI's new iostreams have missing "const" in messages<>::open +// +#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) +# define BOOST_NO_STD_MESSAGES +#endif + +// +// No template iterator constructors, or std::allocator +// without member templates: +// +#if !defined(__STL_MEMBER_TEMPLATES) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// We always have SGI style hash_set, hash_map, and slist: +// +#define BOOST_HAS_HASH +#define BOOST_HAS_SLIST + +// +// If this is GNU libstdc++2, then no and no std::wstring: +// +#if (defined(__GNUC__) && (__GNUC__ < 3)) +# include +# if defined(__BASTRING__) +# define BOOST_NO_LIMITS +// Note: will provide compile-time constants +# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_STD_WSTRING +# endif +#endif + +// +// There is no standard iterator unless we have namespace support: +// +#if !defined(__STL_USE_NAMESPACES) +# define BOOST_NO_STD_ITERATOR +#endif + +// +// Intrinsic type_traits support. +// The SGI STL has it's own __type_traits class, which +// has intrinsic compiler support with SGI's compilers. +// Whatever map SGI style type traits to boost equivalents: +// +#define BOOST_HAS_SGI_TYPE_TRAITS + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + +#define BOOST_STDLIB "SGI standard library" + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/stlport.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/stlport.hpp new file mode 100644 index 0000000..10bc1e4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/stlport.hpp @@ -0,0 +1,236 @@ +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Darin Adler 2001. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +// STLPort standard library config: + +#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) +# include +# if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) +# error "This is not STLPort!" +# endif +#endif + +// +// __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +// for versions prior to 4.1(beta) +// +#if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#endif + +// +// If STLport thinks that there is no partial specialisation, then there is no +// std::iterator traits: +// +#if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) +# define BOOST_NO_STD_ITERATOR_TRAITS +#endif + +// +// No new style iostreams on GCC without STLport's iostreams enabled: +// +#if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) +# define BOOST_NO_STRINGSTREAM +#endif + +// +// No new iostreams implies no std::locale, and no std::stringstream: +// +#if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) +# define BOOST_NO_STD_LOCALE +# define BOOST_NO_STRINGSTREAM +#endif + +// +// If the streams are not native, and we have a "using ::x" compiler bug +// then the io stream facets are not available in namespace std:: +// +#ifdef _STLPORT_VERSION +# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) +# define BOOST_NO_STD_LOCALE +# endif +#else +# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) +# define BOOST_NO_STD_LOCALE +# endif +#endif + +#if defined(_STLPORT_VERSION) && ((_STLPORT_VERSION < 0x500) || (_STLPORT_VERSION >= 0x520)) +# define BOOST_NO_STD_UNORDERED +#endif + +#if defined(_STLPORT_VERSION) && (_STLPORT_VERSION >= 0x520) +# define BOOST_HAS_TR1_UNORDERED_SET +# define BOOST_HAS_TR1_UNORDERED_MAP +#endif +// +// Without member template support enabled, their are no template +// iterate constructors, and no std::allocator: +// +#if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# define BOOST_NO_STD_ALLOCATOR +#endif +// +// however we always have at least a partial allocator: +// +#define BOOST_HAS_PARTIAL_STD_ALLOCATOR + +#if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE) +# define BOOST_NO_STD_ALLOCATOR +#endif + +#if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) +# define BOOST_NO_STD_ALLOCATOR +#endif + +// +// If STLport thinks there is no wchar_t at all, then we have to disable +// the support for the relevant specilazations of std:: templates. +// +#if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) +# ifndef BOOST_NO_STD_WSTRING +# define BOOST_NO_STD_WSTRING +# endif +# ifndef BOOST_NO_STD_WSTREAMBUF +# define BOOST_NO_STD_WSTREAMBUF +# endif +#endif + +// +// We always have SGI style hash_set, hash_map, and slist: +// +#ifndef _STLP_NO_EXTENSIONS +#define BOOST_HAS_HASH +#define BOOST_HAS_SLIST +#endif + +// +// STLport does a good job of importing names into namespace std::, +// but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our +// workaround does not conflict with STLports: +// +// +// Harold Howe says: +// Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with +// BCB6 does cause problems. If we detect C++ Builder, then don't define +// BOOST_NO_STDC_NAMESPACE +// +#if !defined(__BORLANDC__) && !defined(__DMC__) +// +// If STLport is using it's own namespace, and the real names are in +// the global namespace, then we duplicate STLport's using declarations +// (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't +// necessarily import all the names we need into namespace std:: +// +# if (defined(__STL_IMPORT_VENDOR_CSTD) \ + || defined(__STL_USE_OWN_NAMESPACE) \ + || defined(_STLP_IMPORT_VENDOR_CSTD) \ + || defined(_STLP_USE_OWN_NAMESPACE)) \ + && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) +# define BOOST_NO_STDC_NAMESPACE +# define BOOST_NO_EXCEPTION_STD_NAMESPACE +# endif +#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560 +// STLport doesn't import std::abs correctly: +#include +namespace std { using ::abs; } +// and strcmp/strcpy don't get imported either ('cos they are macros) +#include +#ifdef strcpy +# undef strcpy +#endif +#ifdef strcmp +# undef strcmp +#endif +#ifdef _STLP_VENDOR_CSTD +namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } +#endif +#endif + +// +// std::use_facet may be non-standard, uses a class instead: +// +#if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) +# define BOOST_NO_STD_USE_FACET +# define BOOST_HAS_STLP_USE_FACET +#endif + +// +// If STLport thinks there are no wide functions, etc. is not working; but +// only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import +// into std:: ourselves). +// +#if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) +# define BOOST_NO_CWCHAR +# define BOOST_NO_CWCTYPE +#endif + +// +// If STLport for some reason was configured so that it thinks that wchar_t +// is not an intrinsic type, then we have to disable the support for it as +// well (we would be missing required specializations otherwise). +// +#if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) +# undef BOOST_NO_INTRINSIC_WCHAR_T +# define BOOST_NO_INTRINSIC_WCHAR_T +#endif + +// +// Borland ships a version of STLport with C++ Builder 6 that lacks +// hashtables and the like: +// +#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) +# undef BOOST_HAS_HASH +#endif + +// +// gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max +// +#if defined(__GNUC__) && (__GNUC__ < 3) +# include // for std::min and std::max +# define BOOST_USING_STD_MIN() ((void)0) +# define BOOST_USING_STD_MAX() ((void)0) +namespace boost { using std::min; using std::max; } +#endif + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + +#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) + + + + + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/vacpp.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/vacpp.hpp new file mode 100644 index 0000000..38a9773 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/stdlib/vacpp.hpp @@ -0,0 +1,43 @@ +// (C) Copyright John Maddock 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for most recent version. + +#if __IBMCPP__ <= 501 +# define BOOST_NO_STD_ALLOCATOR +#endif + +#define BOOST_HAS_MACRO_USE_FACET +#define BOOST_NO_STD_MESSAGES + +// C++0x headers not yet implemented +// +# define BOOST_NO_0X_HDR_ARRAY +# define BOOST_NO_0X_HDR_CHRONO +# define BOOST_NO_0X_HDR_CODECVT +# define BOOST_NO_0X_HDR_CONCEPTS +# define BOOST_NO_0X_HDR_CONDITION_VARIABLE +# define BOOST_NO_0X_HDR_CONTAINER_CONCEPTS +# define BOOST_NO_0X_HDR_FORWARD_LIST +# define BOOST_NO_0X_HDR_FUTURE +# define BOOST_NO_0X_HDR_INITIALIZER_LIST +# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS +# define BOOST_NO_0X_HDR_MEMORY_CONCEPTS +# define BOOST_NO_0X_HDR_MUTEX +# define BOOST_NO_0X_HDR_RANDOM +# define BOOST_NO_0X_HDR_RATIO +# define BOOST_NO_0X_HDR_REGEX +# define BOOST_NO_0X_HDR_SYSTEM_ERROR +# define BOOST_NO_0X_HDR_THREAD +# define BOOST_NO_0X_HDR_TUPLE +# define BOOST_NO_0X_HDR_TYPE_TRAITS +# define BOOST_NO_STD_UNORDERED // deprecated; see following +# define BOOST_NO_0X_HDR_UNORDERED_MAP +# define BOOST_NO_0X_HDR_UNORDERED_SET + +#define BOOST_STDLIB "Visual Age default standard library" + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/suffix.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/suffix.hpp new file mode 100644 index 0000000..4faaeb2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/suffix.hpp @@ -0,0 +1,601 @@ +// Boost config.hpp configuration header file ------------------------------// + +// Copyright (c) 2001-2003 John Maddock +// Copyright (c) 2001 Darin Adler +// Copyright (c) 2001 Peter Dimov +// Copyright (c) 2002 Bill Kempf +// Copyright (c) 2002 Jens Maurer +// Copyright (c) 2002-2003 David Abrahams +// Copyright (c) 2003 Gennaro Prota +// Copyright (c) 2003 Eric Friedman +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/ for most recent version. + +// Boost config.hpp policy and rationale documentation has been moved to +// http://www.boost.org/libs/config/ +// +// This file is intended to be stable, and relatively unchanging. +// It should contain boilerplate code only - no compiler specific +// code unless it is unavoidable - no changes unless unavoidable. + +#ifndef BOOST_CONFIG_SUFFIX_HPP +#define BOOST_CONFIG_SUFFIX_HPP + +// +// look for long long by looking for the appropriate macros in . +// Note that we use limits.h rather than climits for maximal portability, +// remember that since these just declare a bunch of macros, there should be +// no namespace issues from this. +// +#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \ + && !defined(BOOST_MSVC) && !defined(__BORLANDC__) +# include +# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) +# define BOOST_HAS_LONG_LONG +# else +# define BOOST_NO_LONG_LONG +# endif +#endif + +// GCC 3.x will clean up all of those nasty macro definitions that +// BOOST_NO_CTYPE_FUNCTIONS is intended to help work around, so undefine +// it under GCC 3.x. +#if defined(__GNUC__) && (__GNUC__ >= 3) && defined(BOOST_NO_CTYPE_FUNCTIONS) +# undef BOOST_NO_CTYPE_FUNCTIONS +#endif + +// +// Assume any extensions are in namespace std:: unless stated otherwise: +// +# ifndef BOOST_STD_EXTENSION_NAMESPACE +# define BOOST_STD_EXTENSION_NAMESPACE std +# endif + +// +// If cv-qualified specializations are not allowed, then neither are cv-void ones: +// +# if defined(BOOST_NO_CV_SPECIALIZATIONS) \ + && !defined(BOOST_NO_CV_VOID_SPECIALIZATIONS) +# define BOOST_NO_CV_VOID_SPECIALIZATIONS +# endif + +// +// If there is no numeric_limits template, then it can't have any compile time +// constants either! +// +# if defined(BOOST_NO_LIMITS) \ + && !defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) +# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +# endif + +// +// if there is no long long then there is no specialisation +// for numeric_limits either: +// +#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS) +# define BOOST_NO_LONG_LONG_NUMERIC_LIMITS +#endif + +// +// if there is no __int64 then there is no specialisation +// for numeric_limits<__int64> either: +// +#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS) +# define BOOST_NO_MS_INT64_NUMERIC_LIMITS +#endif + +// +// if member templates are supported then so is the +// VC6 subset of member templates: +// +# if !defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) +# define BOOST_MSVC6_MEMBER_TEMPLATES +# endif + +// +// Without partial specialization, can't test for partial specialisation bugs: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) +# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +# endif + +// +// Without partial specialization, we can't have array-type partial specialisations: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +# endif + +// +// Without partial specialization, std::iterator_traits can't work: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_STD_ITERATOR_TRAITS) +# define BOOST_NO_STD_ITERATOR_TRAITS +# endif + +// +// Without partial specialization, partial +// specialization with default args won't work either: +// +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) +# define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +# endif + +// +// Without member template support, we can't have template constructors +// in the standard library either: +// +# if defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ + && !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS) +# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +# endif + +// +// Without member template support, we can't have a conforming +// std::allocator template either: +// +# if defined(BOOST_NO_MEMBER_TEMPLATES) \ + && !defined(BOOST_MSVC6_MEMBER_TEMPLATES) \ + && !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_NO_STD_ALLOCATOR +# endif + +// +// without ADL support then using declarations will break ADL as well: +// +#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL) +# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#endif + +// +// Without typeid support we have no dynamic RTTI either: +// +#if defined(BOOST_NO_TYPEID) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +// +// If we have a standard allocator, then we have a partial one as well: +// +#if !defined(BOOST_NO_STD_ALLOCATOR) +# define BOOST_HAS_PARTIAL_STD_ALLOCATOR +#endif + +// +// We can't have a working std::use_facet if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_USE_FACET) +# define BOOST_NO_STD_USE_FACET +# endif + +// +// We can't have a std::messages facet if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_MESSAGES) +# define BOOST_NO_STD_MESSAGES +# endif + +// +// We can't have a working std::wstreambuf if there is no std::locale: +// +# if defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_NO_STD_WSTREAMBUF) +# define BOOST_NO_STD_WSTREAMBUF +# endif + +// +// We can't have a if there is no : +// +# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_CWCTYPE) +# define BOOST_NO_CWCTYPE +# endif + +// +// We can't have a swprintf if there is no : +// +# if defined(BOOST_NO_CWCHAR) && !defined(BOOST_NO_SWPRINTF) +# define BOOST_NO_SWPRINTF +# endif + +// +// If Win32 support is turned off, then we must turn off +// threading support also, unless there is some other +// thread API enabled: +// +#if defined(BOOST_DISABLE_WIN32) && defined(_WIN32) \ + && !defined(BOOST_DISABLE_THREADS) && !defined(BOOST_HAS_PTHREADS) +# define BOOST_DISABLE_THREADS +#endif + +// +// Turn on threading support if the compiler thinks that it's in +// multithreaded mode. We put this here because there are only a +// limited number of macros that identify this (if there's any missing +// from here then add to the appropriate compiler section): +// +#if (defined(__MT__) || defined(_MT) || defined(_REENTRANT) \ + || defined(_PTHREADS) || defined(__APPLE__) || defined(__DragonFly__)) \ + && !defined(BOOST_HAS_THREADS) +# define BOOST_HAS_THREADS +#endif + +// +// Turn threading support off if BOOST_DISABLE_THREADS is defined: +// +#if defined(BOOST_DISABLE_THREADS) && defined(BOOST_HAS_THREADS) +# undef BOOST_HAS_THREADS +#endif + +// +// Turn threading support off if we don't recognise the threading API: +// +#if defined(BOOST_HAS_THREADS) && !defined(BOOST_HAS_PTHREADS)\ + && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_BETHREADS)\ + && !defined(BOOST_HAS_MPTASKS) +# undef BOOST_HAS_THREADS +#endif + +// +// Turn threading detail macros off if we don't (want to) use threading +// +#ifndef BOOST_HAS_THREADS +# undef BOOST_HAS_PTHREADS +# undef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +# undef BOOST_HAS_PTHREAD_YIELD +# undef BOOST_HAS_PTHREAD_DELAY_NP +# undef BOOST_HAS_WINTHREADS +# undef BOOST_HAS_BETHREADS +# undef BOOST_HAS_MPTASKS +#endif + +// +// If the compiler claims to be C99 conformant, then it had better +// have a : +// +# if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) +# define BOOST_HAS_STDINT_H +# ifndef BOOST_HAS_LOG1P +# define BOOST_HAS_LOG1P +# endif +# ifndef BOOST_HAS_EXPM1 +# define BOOST_HAS_EXPM1 +# endif +# endif + +// +// Define BOOST_NO_SLIST and BOOST_NO_HASH if required. +// Note that this is for backwards compatibility only. +// +# if !defined(BOOST_HAS_SLIST) && !defined(BOOST_NO_SLIST) +# define BOOST_NO_SLIST +# endif + +# if !defined(BOOST_HAS_HASH) && !defined(BOOST_NO_HASH) +# define BOOST_NO_HASH +# endif + +// +// Set BOOST_SLIST_HEADER if not set already: +// +#if defined(BOOST_HAS_SLIST) && !defined(BOOST_SLIST_HEADER) +# define BOOST_SLIST_HEADER +#endif + +// +// Set BOOST_HASH_SET_HEADER if not set already: +// +#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_SET_HEADER) +# define BOOST_HASH_SET_HEADER +#endif + +// +// Set BOOST_HASH_MAP_HEADER if not set already: +// +#if defined(BOOST_HAS_HASH) && !defined(BOOST_HASH_MAP_HEADER) +# define BOOST_HASH_MAP_HEADER +#endif + +// +// Set BOOST_NO_INITIALIZER_LISTS if there is no library support. +// + +#if defined(BOOST_NO_0X_HDR_INITIALIZER_LIST) && !defined(BOOST_NO_INITIALIZER_LISTS) +# define BOOST_NO_INITIALIZER_LISTS +#endif + +// BOOST_HAS_ABI_HEADERS +// This macro gets set if we have headers that fix the ABI, +// and prevent ODR violations when linking to external libraries: +#if defined(BOOST_ABI_PREFIX) && defined(BOOST_ABI_SUFFIX) && !defined(BOOST_HAS_ABI_HEADERS) +# define BOOST_HAS_ABI_HEADERS +#endif + +#if defined(BOOST_HAS_ABI_HEADERS) && defined(BOOST_DISABLE_ABI_HEADERS) +# undef BOOST_HAS_ABI_HEADERS +#endif + +// BOOST_NO_STDC_NAMESPACE workaround --------------------------------------// +// Because std::size_t usage is so common, even in boost headers which do not +// otherwise use the C library, the workaround is included here so +// that ugly workaround code need not appear in many other boost headers. +// NOTE WELL: This is a workaround for non-conforming compilers; +// must still be #included in the usual places so that inclusion +// works as expected with standard conforming compilers. The resulting +// double inclusion of is harmless. + +# ifdef BOOST_NO_STDC_NAMESPACE +# include + namespace std { using ::ptrdiff_t; using ::size_t; } +# endif + +// Workaround for the unfortunate min/max macros defined by some platform headers + +#define BOOST_PREVENT_MACRO_SUBSTITUTION + +#ifndef BOOST_USING_STD_MIN +# define BOOST_USING_STD_MIN() using std::min +#endif + +#ifndef BOOST_USING_STD_MAX +# define BOOST_USING_STD_MAX() using std::max +#endif + +// BOOST_NO_STD_MIN_MAX workaround -----------------------------------------// + +# ifdef BOOST_NO_STD_MIN_MAX + +namespace std { + template + inline const _Tp& min BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { + return __b < __a ? __b : __a; + } + template + inline const _Tp& max BOOST_PREVENT_MACRO_SUBSTITUTION (const _Tp& __a, const _Tp& __b) { + return __a < __b ? __b : __a; + } +} + +# endif + +// BOOST_STATIC_CONSTANT workaround --------------------------------------- // +// On compilers which don't allow in-class initialization of static integral +// constant members, we must use enums as a workaround if we want the constants +// to be available at compile-time. This macro gives us a convenient way to +// declare such constants. + +# ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_STATIC_CONSTANT(type, assignment) enum { assignment } +# else +# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment +# endif + +// BOOST_USE_FACET / HAS_FACET workaround ----------------------------------// +// When the standard library does not have a conforming std::use_facet there +// are various workarounds available, but they differ from library to library. +// The same problem occurs with has_facet. +// These macros provide a consistent way to access a locale's facets. +// Usage: +// replace +// std::use_facet(loc); +// with +// BOOST_USE_FACET(Type, loc); +// Note do not add a std:: prefix to the front of BOOST_USE_FACET! +// Use for BOOST_HAS_FACET is analogous. + +#if defined(BOOST_NO_STD_USE_FACET) +# ifdef BOOST_HAS_TWO_ARG_USE_FACET +# define BOOST_USE_FACET(Type, loc) std::use_facet(loc, static_cast(0)) +# define BOOST_HAS_FACET(Type, loc) std::has_facet(loc, static_cast(0)) +# elif defined(BOOST_HAS_MACRO_USE_FACET) +# define BOOST_USE_FACET(Type, loc) std::_USE(loc, Type) +# define BOOST_HAS_FACET(Type, loc) std::_HAS(loc, Type) +# elif defined(BOOST_HAS_STLP_USE_FACET) +# define BOOST_USE_FACET(Type, loc) (*std::_Use_facet(loc)) +# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) +# endif +#else +# define BOOST_USE_FACET(Type, loc) std::use_facet< Type >(loc) +# define BOOST_HAS_FACET(Type, loc) std::has_facet< Type >(loc) +#endif + +// BOOST_NESTED_TEMPLATE workaround ------------------------------------------// +// Member templates are supported by some compilers even though they can't use +// the A::template member syntax, as a workaround replace: +// +// typedef typename A::template rebind binder; +// +// with: +// +// typedef typename A::BOOST_NESTED_TEMPLATE rebind binder; + +#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD +# define BOOST_NESTED_TEMPLATE template +#else +# define BOOST_NESTED_TEMPLATE +#endif + +// BOOST_UNREACHABLE_RETURN(x) workaround -------------------------------------// +// Normally evaluates to nothing, unless BOOST_NO_UNREACHABLE_RETURN_DETECTION +// is defined, in which case it evaluates to return x; Use when you have a return +// statement that can never be reached. + +#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION +# define BOOST_UNREACHABLE_RETURN(x) return x; +#else +# define BOOST_UNREACHABLE_RETURN(x) +#endif + +// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------// +// +// Some compilers don't support the use of `typename' for dependent +// types in deduced contexts, e.g. +// +// template void f(T, typename T::type); +// ^^^^^^^^ +// Replace these declarations with: +// +// template void f(T, BOOST_DEDUCED_TYPENAME T::type); + +#ifndef BOOST_NO_DEDUCED_TYPENAME +# define BOOST_DEDUCED_TYPENAME typename +#else +# define BOOST_DEDUCED_TYPENAME +#endif + +#ifndef BOOST_NO_TYPENAME_WITH_CTOR +# define BOOST_CTOR_TYPENAME typename +#else +# define BOOST_CTOR_TYPENAME +#endif + +// long long workaround ------------------------------------------// +// On gcc (and maybe other compilers?) long long is alway supported +// but it's use may generate either warnings (with -ansi), or errors +// (with -pedantic -ansi) unless it's use is prefixed by __extension__ +// +#if defined(BOOST_HAS_LONG_LONG) +namespace boost{ +# ifdef __GNUC__ + __extension__ typedef long long long_long_type; + __extension__ typedef unsigned long long ulong_long_type; +# else + typedef long long long_long_type; + typedef unsigned long long ulong_long_type; +# endif +} +#endif + +// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------// +// +// Some compilers have problems with function templates whose template +// parameters don't appear in the function parameter list (basically +// they just link one instantiation of the template in the final +// executable). These macros provide a uniform way to cope with the +// problem with no effects on the calling syntax. + +// Example: +// +// #include +// #include +// #include +// +// template +// void f() { std::cout << n << ' '; } +// +// template +// void g() { std::cout << typeid(T).name() << ' '; } +// +// int main() { +// f<1>(); +// f<2>(); +// +// g(); +// g(); +// } +// +// With VC++ 6.0 the output is: +// +// 2 2 double double +// +// To fix it, write +// +// template +// void f(BOOST_EXPLICIT_TEMPLATE_NON_TYPE(int, n)) { ... } +// +// template +// void g(BOOST_EXPLICIT_TEMPLATE_TYPE(T)) { ... } +// + + +#if defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS + +# include "boost/type.hpp" +# include "boost/non_type.hpp" + +# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) boost::type* = 0 +# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) boost::type* +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) boost::non_type* = 0 +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) boost::non_type* + +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) \ + , BOOST_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) \ + , BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) \ + , BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) \ + , BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + +#else + +// no workaround needed: expand to nothing + +# define BOOST_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE_SPEC(t) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t, v) +# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) + + +#endif // defined BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS + + +// ---------------------------------------------------------------------------// + +// +// Helper macro BOOST_STRINGIZE: +// Converts the parameter X to a string after macro replacement +// on X has been performed. +// +#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) +#define BOOST_DO_STRINGIZE(X) #X + +// +// Helper macro BOOST_JOIN: +// The following piece of macro magic joins the two +// arguments together, even when one of the arguments is +// itself a macro (see 16.3.1 in C++ standard). The key +// is that macro expansion of macro arguments does not +// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN. +// +#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y ) +#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y) +#define BOOST_DO_JOIN2( X, Y ) X##Y + +// +// Set some default values for compiler/library/platform names. +// These are for debugging config setup only: +// +# ifndef BOOST_COMPILER +# define BOOST_COMPILER "Unknown ISO C++ Compiler" +# endif +# ifndef BOOST_STDLIB +# define BOOST_STDLIB "Unknown ISO standard library" +# endif +# ifndef BOOST_PLATFORM +# if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) +# define BOOST_PLATFORM "Generic Unix" +# else +# define BOOST_PLATFORM "Unknown" +# endif +# endif + +#endif + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/user.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/user.hpp new file mode 100644 index 0000000..3b998d1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/user.hpp @@ -0,0 +1,124 @@ +// boost/config/user.hpp ---------------------------------------------------// + +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// Do not check in modified versions of this file, +// This file may be customized by the end user, but not by boost. + +// +// Use this file to define a site and compiler specific +// configuration policy: +// + +// define this to locate a compiler config file: +// #define BOOST_COMPILER_CONFIG + +// define this to locate a stdlib config file: +// #define BOOST_STDLIB_CONFIG + +// define this to locate a platform config file: +// #define BOOST_PLATFORM_CONFIG + +// define this to disable compiler config, +// use if your compiler config has nothing to set: +// #define BOOST_NO_COMPILER_CONFIG + +// define this to disable stdlib config, +// use if your stdlib config has nothing to set: +// #define BOOST_NO_STDLIB_CONFIG + +// define this to disable platform config, +// use if your platform config has nothing to set: +// #define BOOST_NO_PLATFORM_CONFIG + +// define this to disable all config options, +// excluding the user config. Use if your +// setup is fully ISO compliant, and has no +// useful extensions, or for autoconf generated +// setups: +// #define BOOST_NO_CONFIG + +// define this to make the config "optimistic" +// about unknown compiler versions. Normally +// unknown compiler versions are assumed to have +// all the defects of the last known version, however +// setting this flag, causes the config to assume +// that unknown compiler versions are fully conformant +// with the standard: +// #define BOOST_STRICT_CONFIG + +// define this to cause the config to halt compilation +// with an #error if it encounters anything unknown -- +// either an unknown compiler version or an unknown +// compiler/platform/library: +// #define BOOST_ASSERT_CONFIG + + +// define if you want to disable threading support, even +// when available: +// #define BOOST_DISABLE_THREADS + +// define when you want to disable Win32 specific features +// even when available: +// #define BOOST_DISABLE_WIN32 + +// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any +// prefix/suffix headers that normally control things like struct +// packing and alignment. +// #define BOOST_DISABLE_ABI_HEADERS + +// BOOST_ABI_PREFIX: A prefix header to include in place of whatever +// boost.config would normally select, any replacement should set up +// struct packing and alignment options as required. +// #define BOOST_ABI_PREFIX my-header-name + +// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever +// boost.config would normally select, any replacement should undo +// the effects of the prefix header. +// #define BOOST_ABI_SUFFIX my-header-name + +// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, +// to be linked as dll's rather than static libraries on Microsoft Windows +// (this macro is used to turn on __declspec(dllimport) modifiers, so that +// the compiler knows which symbols to look for in a dll rather than in a +// static library). Note that there may be some libraries that can only +// be statically linked (Boost.Test for example) and others which may only +// be dynamically linked (Boost.Threads for example), in these cases this +// macro has no effect. +// #define BOOST_ALL_DYN_LINK + +// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll +// rather than a static library on Microsoft Windows: replace the WHATEVER +// part of the macro name with the name of the library that you want to +// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or +// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) +// modifiers, so that the compiler knows which symbols to look for in a dll +// rather than in a static library). +// Note that there may be some libraries that can only be statically linked +// (Boost.Test for example) and others which may only be dynamically linked +// (Boost.Threads for example), in these cases this macro is unsupported. +// #define BOOST_WHATEVER_DYN_LINK + +// BOOST_ALL_NO_LIB: Tells the config system not to automatically select +// which libraries to link against. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, +// simply by the act of including one of that library's headers. +// This macro turns that feature off. +// #define BOOST_ALL_NO_LIB + +// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically +// select which library to link against for library "whatever", +// replace WHATEVER in the macro name with the name of the library; +// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, simply +// by the act of including one of that library's headers. This macro turns +// that feature off. +// #define BOOST_WHATEVER_NO_LIB + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/warning_disable.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/warning_disable.hpp new file mode 100644 index 0000000..8fd46ff --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/config/warning_disable.hpp @@ -0,0 +1,47 @@ +// Copyright John Maddock 2008 +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// This file exists to turn off some overly-pedantic warning emitted +// by certain compilers. You should include this header only in: +// +// * A test case, before any other headers, or, +// * A library source file before any other headers. +// +// IT SHOULD NOT BE INCLUDED BY ANY BOOST HEADER. +// +// YOU SHOULD NOT INCLUDE IT IF YOU CAN REASONABLY FIX THE WARNING. +// +// The only warnings disabled here are those that are: +// +// * Quite unreasonably pedantic. +// * Generally only emitted by a single compiler. +// * Can't easily be fixed: for example if the vendors own std lib +// code emits these warnings! +// +// Note that THIS HEADER MUST NOT INCLUDE ANY OTHER HEADERS: +// not even std library ones! Doing so may turn the warning +// off too late to be of any use. For example the VC++ C4996 +// warning can be omitted from if that header is included +// before or by this one :-( +// + +#ifndef BOOST_CONFIG_WARNING_DISABLE_HPP +#define BOOST_CONFIG_WARNING_DISABLE_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1400) + // Error 'function': was declared deprecated + // http://msdn2.microsoft.com/en-us/library/ttcz0bys(VS.80).aspx + // This error is emitted when you use some perfectly conforming + // std lib functions in a perfectly correct way, and also by + // some of Microsoft's own std lib code ! +# pragma warning(disable:4996) +#endif +#if defined(__INTEL_COMPILER) || defined(__ICL) + // As above: gives warning when a "deprecated" + // std library function is encountered. +# pragma warning(disable:1786) +#endif + +#endif // BOOST_CONFIG_WARNING_DISABLE_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdint.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdint.hpp new file mode 100644 index 0000000..3397692 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdint.hpp @@ -0,0 +1,472 @@ +// boost cstdint.hpp header file ------------------------------------------// + +// (C) Copyright Beman Dawes 1999. +// (C) Copyright Jens Mauer 2001 +// (C) Copyright John Maddock 2001 +// Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/integer for documentation. + +// Revision History +// 31 Oct 01 use BOOST_HAS_LONG_LONG to check for "long long" (Jens M.) +// 16 Apr 01 check LONGLONG_MAX when looking for "long long" (Jens Maurer) +// 23 Jan 01 prefer "long" over "int" for int32_t and intmax_t (Jens Maurer) +// 12 Nov 00 Merged (Jens Maurer) +// 23 Sep 00 Added INTXX_C macro support (John Maddock). +// 22 Sep 00 Better 64-bit support (John Maddock) +// 29 Jun 00 Reimplement to avoid including stdint.h within namespace boost +// 8 Aug 99 Initial version (Beman Dawes) + + +#ifndef BOOST_CSTDINT_HPP +#define BOOST_CSTDINT_HPP + +// +// Since we always define the INT#_C macros as per C++0x, +// define __STDC_CONSTANT_MACROS so that does the right +// thing if possible, and so that the user knows that the macros +// are actually defined as per C99. +// +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif + +#include + +// +// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not +// depending upon what headers happen to have been included first... +// so we disable use of stdint.h when GLIBC does not define __GLIBC_HAVE_LONG_LONG. +// See https://svn.boost.org/trac/boost/ticket/3548 and http://sources.redhat.com/bugzilla/show_bug.cgi?id=10990 +// +#if defined(BOOST_HAS_STDINT_H) && (!defined(__GLIBC__) || defined(__GLIBC_HAVE_LONG_LONG)) + +// The following #include is an implementation artifact; not part of interface. +# ifdef __hpux +// HP-UX has a vaguely nice in a non-standard location +# include +# ifdef __STDC_32_MODE__ + // this is triggered with GCC, because it defines __cplusplus < 199707L +# define BOOST_NO_INT64_T +# endif +# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) +# include +# else +# include + +// There is a bug in Cygwin two _C macros +# if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__) +# undef INTMAX_C +# undef UINTMAX_C +# define INTMAX_C(c) c##LL +# define UINTMAX_C(c) c##ULL +# endif + +# endif + +#ifdef __QNX__ + +// QNX (Dinkumware stdlib) defines these as non-standard names. +// Reflect to the standard names. + +typedef ::intleast8_t int_least8_t; +typedef ::intfast8_t int_fast8_t; +typedef ::uintleast8_t uint_least8_t; +typedef ::uintfast8_t uint_fast8_t; + +typedef ::intleast16_t int_least16_t; +typedef ::intfast16_t int_fast16_t; +typedef ::uintleast16_t uint_least16_t; +typedef ::uintfast16_t uint_fast16_t; + +typedef ::intleast32_t int_least32_t; +typedef ::intfast32_t int_fast32_t; +typedef ::uintleast32_t uint_least32_t; +typedef ::uintfast32_t uint_fast32_t; + +# ifndef BOOST_NO_INT64_T + +typedef ::intleast64_t int_least64_t; +typedef ::intfast64_t int_fast64_t; +typedef ::uintleast64_t uint_least64_t; +typedef ::uintfast64_t uint_fast64_t; + +# endif + +#endif + +namespace boost +{ + + using ::int8_t; + using ::int_least8_t; + using ::int_fast8_t; + using ::uint8_t; + using ::uint_least8_t; + using ::uint_fast8_t; + + using ::int16_t; + using ::int_least16_t; + using ::int_fast16_t; + using ::uint16_t; + using ::uint_least16_t; + using ::uint_fast16_t; + + using ::int32_t; + using ::int_least32_t; + using ::int_fast32_t; + using ::uint32_t; + using ::uint_least32_t; + using ::uint_fast32_t; + +# ifndef BOOST_NO_INT64_T + + using ::int64_t; + using ::int_least64_t; + using ::int_fast64_t; + using ::uint64_t; + using ::uint_least64_t; + using ::uint_fast64_t; + +# endif + + using ::intmax_t; + using ::uintmax_t; + +} // namespace boost + +#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) +// FreeBSD and Tru64 have an that contains much of what we need. +# include + +namespace boost { + + using ::int8_t; + typedef int8_t int_least8_t; + typedef int8_t int_fast8_t; + using ::uint8_t; + typedef uint8_t uint_least8_t; + typedef uint8_t uint_fast8_t; + + using ::int16_t; + typedef int16_t int_least16_t; + typedef int16_t int_fast16_t; + using ::uint16_t; + typedef uint16_t uint_least16_t; + typedef uint16_t uint_fast16_t; + + using ::int32_t; + typedef int32_t int_least32_t; + typedef int32_t int_fast32_t; + using ::uint32_t; + typedef uint32_t uint_least32_t; + typedef uint32_t uint_fast32_t; + +# ifndef BOOST_NO_INT64_T + + using ::int64_t; + typedef int64_t int_least64_t; + typedef int64_t int_fast64_t; + using ::uint64_t; + typedef uint64_t uint_least64_t; + typedef uint64_t uint_fast64_t; + + typedef int64_t intmax_t; + typedef uint64_t uintmax_t; + +# else + + typedef int32_t intmax_t; + typedef uint32_t uintmax_t; + +# endif + +} // namespace boost + +#else // BOOST_HAS_STDINT_H + +# include // implementation artifact; not part of interface +# include // needed for limits macros + + +namespace boost +{ + +// These are fairly safe guesses for some 16-bit, and most 32-bit and 64-bit +// platforms. For other systems, they will have to be hand tailored. +// +// Because the fast types are assumed to be the same as the undecorated types, +// it may be possible to hand tailor a more efficient implementation. Such +// an optimization may be illusionary; on the Intel x86-family 386 on, for +// example, byte arithmetic and load/stores are as fast as "int" sized ones. + +// 8-bit types ------------------------------------------------------------// + +# if UCHAR_MAX == 0xff + typedef signed char int8_t; + typedef signed char int_least8_t; + typedef signed char int_fast8_t; + typedef unsigned char uint8_t; + typedef unsigned char uint_least8_t; + typedef unsigned char uint_fast8_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +// 16-bit types -----------------------------------------------------------// + +# if USHRT_MAX == 0xffff +# if defined(__crayx1) + // The Cray X1 has a 16-bit short, however it is not recommend + // for use in performance critical code. + typedef short int16_t; + typedef short int_least16_t; + typedef int int_fast16_t; + typedef unsigned short uint16_t; + typedef unsigned short uint_least16_t; + typedef unsigned int uint_fast16_t; +# else + typedef short int16_t; + typedef short int_least16_t; + typedef short int_fast16_t; + typedef unsigned short uint16_t; + typedef unsigned short uint_least16_t; + typedef unsigned short uint_fast16_t; +# endif +# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) + // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified + // MTA / XMT does support the following non-standard integer types + typedef __short16 int16_t; + typedef __short16 int_least16_t; + typedef __short16 int_fast16_t; + typedef unsigned __short16 uint16_t; + typedef unsigned __short16 uint_least16_t; + typedef unsigned __short16 uint_fast16_t; +# elif (USHRT_MAX == 0xffffffff) && defined(CRAY) + // no 16-bit types on Cray: + typedef short int_least16_t; + typedef short int_fast16_t; + typedef unsigned short uint_least16_t; + typedef unsigned short uint_fast16_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +// 32-bit types -----------------------------------------------------------// + +# if ULONG_MAX == 0xffffffff + typedef long int32_t; + typedef long int_least32_t; + typedef long int_fast32_t; + typedef unsigned long uint32_t; + typedef unsigned long uint_least32_t; + typedef unsigned long uint_fast32_t; +# elif UINT_MAX == 0xffffffff + typedef int int32_t; + typedef int int_least32_t; + typedef int int_fast32_t; + typedef unsigned int uint32_t; + typedef unsigned int uint_least32_t; + typedef unsigned int uint_fast32_t; +# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) + // Integers are 64 bits on the MTA / XMT + typedef __int32 int32_t; + typedef __int32 int_least32_t; + typedef __int32 int_fast32_t; + typedef unsigned __int32 uint32_t; + typedef unsigned __int32 uint_least32_t; + typedef unsigned __int32 uint_fast32_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +// 64-bit types + intmax_t and uintmax_t ----------------------------------// + +# if defined(BOOST_HAS_LONG_LONG) && \ + !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \ + (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \ + (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) +# if defined(__hpux) + // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions +# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) + // 2**64 - 1 +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + + typedef ::boost::long_long_type intmax_t; + typedef ::boost::ulong_long_type uintmax_t; + typedef ::boost::long_long_type int64_t; + typedef ::boost::long_long_type int_least64_t; + typedef ::boost::long_long_type int_fast64_t; + typedef ::boost::ulong_long_type uint64_t; + typedef ::boost::ulong_long_type uint_least64_t; + typedef ::boost::ulong_long_type uint_fast64_t; + +# elif ULONG_MAX != 0xffffffff + +# if ULONG_MAX == 18446744073709551615 // 2**64 - 1 + typedef long intmax_t; + typedef unsigned long uintmax_t; + typedef long int64_t; + typedef long int_least64_t; + typedef long int_fast64_t; + typedef unsigned long uint64_t; + typedef unsigned long uint_least64_t; + typedef unsigned long uint_fast64_t; +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG) + __extension__ typedef long long intmax_t; + __extension__ typedef unsigned long long uintmax_t; + __extension__ typedef long long int64_t; + __extension__ typedef long long int_least64_t; + __extension__ typedef long long int_fast64_t; + __extension__ typedef unsigned long long uint64_t; + __extension__ typedef unsigned long long uint_least64_t; + __extension__ typedef unsigned long long uint_fast64_t; +# elif defined(BOOST_HAS_MS_INT64) + // + // we have Borland/Intel/Microsoft __int64: + // + typedef __int64 intmax_t; + typedef unsigned __int64 uintmax_t; + typedef __int64 int64_t; + typedef __int64 int_least64_t; + typedef __int64 int_fast64_t; + typedef unsigned __int64 uint64_t; + typedef unsigned __int64 uint_least64_t; + typedef unsigned __int64 uint_fast64_t; +# else // assume no 64-bit integers +# define BOOST_NO_INT64_T + typedef int32_t intmax_t; + typedef uint32_t uintmax_t; +# endif + +} // namespace boost + + +#endif // BOOST_HAS_STDINT_H + +#endif // BOOST_CSTDINT_HPP + + +/**************************************************** + +Macro definition section: + +Added 23rd September 2000 (John Maddock). +Modified 11th September 2001 to be excluded when +BOOST_HAS_STDINT_H is defined (John Maddock). +Modified 11th Dec 2009 to always define the +INT#_C macros if they're not already defined (John Maddock). + +******************************************************/ + +#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && !defined(INT8_C) +#include +# define BOOST__STDC_CONSTANT_MACROS_DEFINED +# if defined(BOOST_HAS_MS_INT64) +// +// Borland/Intel/Microsoft compilers have width specific suffixes: +// +# define INT8_C(value) value##i8 +# define INT16_C(value) value##i16 +# define INT32_C(value) value##i32 +# define INT64_C(value) value##i64 +# ifdef __BORLANDC__ + // Borland bug: appending ui8 makes the type a signed char +# define UINT8_C(value) static_cast(value##u) +# else +# define UINT8_C(value) value##ui8 +# endif +# define UINT16_C(value) value##ui16 +# define UINT32_C(value) value##ui32 +# define UINT64_C(value) value##ui64 +# define INTMAX_C(value) value##i64 +# define UINTMAX_C(value) value##ui64 + +# else +// do it the old fashioned way: + +// 8-bit types ------------------------------------------------------------// + +# if UCHAR_MAX == 0xff +# define INT8_C(value) static_cast(value) +# define UINT8_C(value) static_cast(value##u) +# endif + +// 16-bit types -----------------------------------------------------------// + +# if USHRT_MAX == 0xffff +# define INT16_C(value) static_cast(value) +# define UINT16_C(value) static_cast(value##u) +# endif + +// 32-bit types -----------------------------------------------------------// + +# if UINT_MAX == 0xffffffff +# define INT32_C(value) value +# define UINT32_C(value) value##u +# elif ULONG_MAX == 0xffffffff +# define INT32_C(value) value##L +# define UINT32_C(value) value##uL +# endif + +// 64-bit types + intmax_t and uintmax_t ----------------------------------// + +# if defined(BOOST_HAS_LONG_LONG) && \ + (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX)) + +# if defined(__hpux) + // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions +# define INT64_C(value) value##LL +# define UINT64_C(value) value##uLL +# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ + (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ + (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ + (defined(_LLONG_MAX) && _LLONG_MAX == 18446744073709551615ULL) + +# define INT64_C(value) value##LL +# define UINT64_C(value) value##uLL +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# elif ULONG_MAX != 0xffffffff + +# if ULONG_MAX == 18446744073709551615U // 2**64 - 1 +# define INT64_C(value) value##L +# define UINT64_C(value) value##uL +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# elif defined(BOOST_HAS_LONG_LONG) + // Usual macros not defined, work things out for ourselves: +# if(~0uLL == 18446744073709551615ULL) +# define INT64_C(value) value##LL +# define UINT64_C(value) value##uLL +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif +# else +# error defaults not correct; you must hand modify boost/cstdint.hpp +# endif + +# ifdef BOOST_NO_INT64_T +# define INTMAX_C(value) INT32_C(value) +# define UINTMAX_C(value) UINT32_C(value) +# else +# define INTMAX_C(value) INT64_C(value) +# define UINTMAX_C(value) UINT64_C(value) +# endif + +# endif // Borland/Microsoft specific width suffixes + +#endif // INT#_C macros. + + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdlib.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdlib.hpp new file mode 100644 index 0000000..9f43030 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/cstdlib.hpp @@ -0,0 +1,41 @@ +// boost/cstdlib.hpp header ------------------------------------------------// + +// Copyright Beman Dawes 2001. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/utility/cstdlib.html for documentation. + +// Revision History +// 26 Feb 01 Initial version (Beman Dawes) + +#ifndef BOOST_CSTDLIB_HPP +#define BOOST_CSTDLIB_HPP + +#include + +namespace boost +{ + // The intent is to propose the following for addition to namespace std + // in the C++ Standard Library, and to then deprecate EXIT_SUCCESS and + // EXIT_FAILURE. As an implementation detail, this header defines the + // new constants in terms of EXIT_SUCCESS and EXIT_FAILURE. In a new + // standard, the constants would be implementation-defined, although it + // might be worthwhile to "suggest" (which a standard is allowed to do) + // values of 0 and 1 respectively. + + // Rationale for having multiple failure values: some environments may + // wish to distinguish between different classes of errors. + // Rationale for choice of values: programs often use values < 100 for + // their own error reporting. Values > 255 are sometimes reserved for + // system detected errors. 200/201 were suggested to minimize conflict. + + const int exit_success = EXIT_SUCCESS; // implementation-defined value + const int exit_failure = EXIT_FAILURE; // implementation-defined value + const int exit_exception_failure = 200; // otherwise uncaught exception + const int exit_test_failure = 201; // report_error or + // report_critical_error called. +} + +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/current_function.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/current_function.hpp new file mode 100644 index 0000000..3714e9e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/current_function.hpp @@ -0,0 +1,67 @@ +#ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED +#define BOOST_CURRENT_FUNCTION_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/current_function.hpp - BOOST_CURRENT_FUNCTION +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// http://www.boost.org/libs/utility/current_function.html +// + +namespace boost +{ + +namespace detail +{ + +inline void current_function_helper() +{ + +#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) + +# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ + +#elif defined(__DMC__) && (__DMC__ >= 0x810) + +# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ + +#elif defined(__FUNCSIG__) + +# define BOOST_CURRENT_FUNCTION __FUNCSIG__ + +#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) + +# define BOOST_CURRENT_FUNCTION __FUNCTION__ + +#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) + +# define BOOST_CURRENT_FUNCTION __FUNC__ + +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) + +# define BOOST_CURRENT_FUNCTION __func__ + +#else + +# define BOOST_CURRENT_FUNCTION "(unknown)" + +#endif + +} + +} // namespace detail + +} // namespace boost + +#endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/algorithm.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/algorithm.hpp new file mode 100644 index 0000000..6f8fcda --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/algorithm.hpp @@ -0,0 +1,222 @@ +// (C) Copyright Jeremy Siek 2001. +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +/* + * + * Copyright (c) 1994 + * Hewlett-Packard Company + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Hewlett-Packard Company makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + * + * + * Copyright (c) 1996 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +#ifndef BOOST_ALGORITHM_HPP +# define BOOST_ALGORITHM_HPP +# include +// Algorithms on sequences +// +// The functions in this file have not yet gone through formal +// review, and are subject to change. This is a work in progress. +// They have been checked into the detail directory because +// there are some graph algorithms that use these functions. + +#include +#include + +namespace boost { + + template + Iter1 begin(const std::pair& p) { return p.first; } + + template + Iter2 end(const std::pair& p) { return p.second; } + + template + typename boost::detail::iterator_traits::difference_type + size(const std::pair& p) { + return std::distance(p.first, p.second); + } + +#if 0 + // These seem to interfere with the std::pair overloads :( + template + typename Container::iterator + begin(Container& c) { return c.begin(); } + + template + typename Container::const_iterator + begin(const Container& c) { return c.begin(); } + + template + typename Container::iterator + end(Container& c) { return c.end(); } + + template + typename Container::const_iterator + end(const Container& c) { return c.end(); } + + template + typename Container::size_type + size(const Container& c) { return c.size(); } +#else + template + typename std::vector::iterator + begin(std::vector& c) { return c.begin(); } + + template + typename std::vector::const_iterator + begin(const std::vector& c) { return c.begin(); } + + template + typename std::vector::iterator + end(std::vector& c) { return c.end(); } + + template + typename std::vector::const_iterator + end(const std::vector& c) { return c.end(); } + + template + typename std::vector::size_type + size(const std::vector& c) { return c.size(); } +#endif + + template + void iota(ForwardIterator first, ForwardIterator last, T value) + { + for (; first != last; ++first, ++value) + *first = value; + } + template + void iota(Container& c, const T& value) + { + iota(begin(c), end(c), value); + } + + // Also do version with 2nd container? + template + OutIter copy(const Container& c, OutIter result) { + return std::copy(begin(c), end(c), result); + } + + template + bool equal(const Container1& c1, const Container2& c2) + { + if (size(c1) != size(c2)) + return false; + return std::equal(begin(c1), end(c1), begin(c2)); + } + + template + void sort(Container& c) { std::sort(begin(c), end(c)); } + + template + void sort(Container& c, const Predicate& p) { + std::sort(begin(c), end(c), p); + } + + template + void stable_sort(Container& c) { std::stable_sort(begin(c), end(c)); } + + template + void stable_sort(Container& c, const Predicate& p) { + std::stable_sort(begin(c), end(c), p); + } + + template + bool any_if(InputIterator first, InputIterator last, Predicate p) + { + return std::find_if(first, last, p) != last; + } + template + bool any_if(const Container& c, Predicate p) + { + return any_if(begin(c), end(c), p); + } + + template + bool container_contains(InputIterator first, InputIterator last, T value) + { + return std::find(first, last, value) != last; + } + template + bool container_contains(const Container& c, const T& value) + { + return container_contains(begin(c), end(c), value); + } + + template + std::size_t count(const Container& c, const T& value) + { + return std::count(begin(c), end(c), value); + } + + template + std::size_t count_if(const Container& c, Predicate p) + { + return std::count_if(begin(c), end(c), p); + } + + template + bool is_sorted(ForwardIterator first, ForwardIterator last) + { + if (first == last) + return true; + + ForwardIterator next = first; + for (++next; next != last; first = next, ++next) { + if (*next < *first) + return false; + } + + return true; + } + + template + bool is_sorted(ForwardIterator first, ForwardIterator last, + StrictWeakOrdering comp) + { + if (first == last) + return true; + + ForwardIterator next = first; + for (++next; next != last; first = next, ++next) { + if (comp(*next, *first)) + return false; + } + + return true; + } + + template + bool is_sorted(const Container& c) + { + return is_sorted(begin(c), end(c)); + } + + template + bool is_sorted(const Container& c, StrictWeakOrdering comp) + { + return is_sorted(begin(c), end(c), comp); + } + +} // namespace boost + +#endif // BOOST_ALGORITHM_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/allocator_utilities.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/allocator_utilities.hpp new file mode 100644 index 0000000..dfecd72 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/allocator_utilities.hpp @@ -0,0 +1,212 @@ +/* Copyright 2003-2009 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 Boost website at http://www.boost.org/ + */ + +#ifndef BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP +#define BOOST_DETAIL_ALLOCATOR_UTILITIES_HPP + +#include /* keep it first to prevent nasty warns in MSVC */ +#include +#include +#include +#include +#include +#include +#include + +namespace boost{ + +namespace detail{ + +/* Allocator adaption layer. Some stdlibs provide allocators without rebind + * and template ctors. These facilities are simulated with the external + * template class rebind_to and the aid of partial_std_allocator_wrapper. + */ + +namespace allocator{ + +/* partial_std_allocator_wrapper inherits the functionality of a std + * allocator while providing a templatized ctor and other bits missing + * in some stdlib implementation or another. + */ + +template +class partial_std_allocator_wrapper:public std::allocator +{ +public: + /* Oddly enough, STLport does not define std::allocator::value_type + * when configured to work without partial template specialization. + * No harm in supplying the definition here unconditionally. + */ + + typedef Type value_type; + + partial_std_allocator_wrapper(){}; + + template + partial_std_allocator_wrapper(const partial_std_allocator_wrapper&){} + + partial_std_allocator_wrapper(const std::allocator& x): + std::allocator(x) + { + }; + +#if defined(BOOST_DINKUMWARE_STDLIB) + /* Dinkumware guys didn't provide a means to call allocate() without + * supplying a hint, in disagreement with the standard. + */ + + Type* allocate(std::size_t n,const void* hint=0) + { + std::allocator& a=*this; + return a.allocate(n,hint); + } +#endif + +}; + +/* Detects whether a given allocator belongs to a defective stdlib not + * having the required member templates. + * Note that it does not suffice to check the Boost.Config stdlib + * macros, as the user might have passed a custom, compliant allocator. + * The checks also considers partial_std_allocator_wrapper to be + * a standard defective allocator. + */ + +#if defined(BOOST_NO_STD_ALLOCATOR)&&\ + (defined(BOOST_HAS_PARTIAL_STD_ALLOCATOR)||defined(BOOST_DINKUMWARE_STDLIB)) + +template +struct is_partial_std_allocator +{ + BOOST_STATIC_CONSTANT(bool, + value= + (is_same< + std::allocator, + Allocator + >::value)|| + (is_same< + partial_std_allocator_wrapper< + BOOST_DEDUCED_TYPENAME Allocator::value_type>, + Allocator + >::value)); +}; + +#else + +template +struct is_partial_std_allocator +{ + BOOST_STATIC_CONSTANT(bool,value=false); +}; + +#endif + +/* rebind operations for defective std allocators */ + +template +struct partial_std_allocator_rebind_to +{ + typedef partial_std_allocator_wrapper type; +}; + +/* rebind operation in all other cases */ + +#if BOOST_WORKAROUND(BOOST_MSVC,<1300) +/* Workaround for a problem in MSVC with dependent template typedefs + * when doing rebinding of allocators. + * Modeled after (thanks, Aleksey!) + */ + +template +struct rebinder +{ + template struct fake_allocator:Allocator{}; + template<> struct fake_allocator + { + template struct rebind{}; + }; + + template + struct result: + fake_allocator::value>:: + template rebind + { + }; +}; +#else +template +struct rebinder +{ + template + struct result + { + typedef typename Allocator::BOOST_NESTED_TEMPLATE + rebind::other other; + }; +}; +#endif + +template +struct compliant_allocator_rebind_to +{ + typedef typename rebinder:: + BOOST_NESTED_TEMPLATE result::other type; +}; + +/* rebind front-end */ + +template +struct rebind_to: + mpl::eval_if_c< + is_partial_std_allocator::value, + partial_std_allocator_rebind_to, + compliant_allocator_rebind_to + > +{ +}; + +/* allocator-independent versions of construct and destroy */ + +template +void construct(void* p,const Type& t) +{ + new (p) Type(t); +} + +#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500)) +/* MSVC++ issues spurious warnings about unreferencend formal parameters + * in destroy when Type is a class with trivial dtor. + */ + +#pragma warning(push) +#pragma warning(disable:4100) +#endif + +template +void destroy(const Type* p) +{ + +#if BOOST_WORKAROUND(__SUNPRO_CC,BOOST_TESTED_AT(0x590)) + const_cast(p)->~Type(); +#else + p->~Type(); +#endif + +} + +#if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1500)) +#pragma warning(pop) +#endif + +} /* namespace boost::detail::allocator */ + +} /* namespace boost::detail */ + +} /* namespace boost */ + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/atomic_count.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/atomic_count.hpp new file mode 100644 index 0000000..49becbe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/atomic_count.hpp @@ -0,0 +1,21 @@ +#ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED +#define BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/atomic_count.hpp - thread/SMP safe reference counter +// +// Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt + +#include + +#endif // #ifndef BOOST_DETAIL_ATOMIC_COUNT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/binary_search.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/binary_search.hpp new file mode 100644 index 0000000..8242b70 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/binary_search.hpp @@ -0,0 +1,216 @@ +// Copyright (c) 2000 David Abrahams. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Copyright (c) 1994 +// Hewlett-Packard Company +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appear in all copies and +// that both that copyright notice and this permission notice appear +// in supporting documentation. Hewlett-Packard Company makes no +// representations about the suitability of this software for any +// purpose. It is provided "as is" without express or implied warranty. +// +// Copyright (c) 1996 +// Silicon Graphics Computer Systems, Inc. +// +// Permission to use, copy, modify, distribute and sell this software +// and its documentation for any purpose is hereby granted without fee, +// provided that the above copyright notice appear in all copies and +// that both that copyright notice and this permission notice appear +// in supporting documentation. Silicon Graphics makes no +// representations about the suitability of this software for any +// purpose. It is provided "as is" without express or implied warranty. +// +#ifndef BINARY_SEARCH_DWA_122600_H_ +# define BINARY_SEARCH_DWA_122600_H_ + +# include +# include + +namespace boost { namespace detail { + +template +ForwardIter lower_bound(ForwardIter first, ForwardIter last, + const Tp& val) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (*middle < val) { + first = middle; + ++first; + len = len - half - 1; + } + else + len = half; + } + return first; +} + +template +ForwardIter lower_bound(ForwardIter first, ForwardIter last, + const Tp& val, Compare comp) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (comp(*middle, val)) { + first = middle; + ++first; + len = len - half - 1; + } + else + len = half; + } + return first; +} + +template +ForwardIter upper_bound(ForwardIter first, ForwardIter last, + const Tp& val) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (val < *middle) + len = half; + else { + first = middle; + ++first; + len = len - half - 1; + } + } + return first; +} + +template +ForwardIter upper_bound(ForwardIter first, ForwardIter last, + const Tp& val, Compare comp) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (comp(val, *middle)) + len = half; + else { + first = middle; + ++first; + len = len - half - 1; + } + } + return first; +} + +template +std::pair +equal_range(ForwardIter first, ForwardIter last, const Tp& val) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle, left, right; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (*middle < val) { + first = middle; + ++first; + len = len - half - 1; + } + else if (val < *middle) + len = half; + else { + left = boost::detail::lower_bound(first, middle, val); + std::advance(first, len); + right = boost::detail::upper_bound(++middle, first, val); + return std::pair(left, right); + } + } + return std::pair(first, first); +} + +template +std::pair +equal_range(ForwardIter first, ForwardIter last, const Tp& val, + Compare comp) +{ + typedef detail::iterator_traits traits; + + typename traits::difference_type len = boost::detail::distance(first, last); + typename traits::difference_type half; + ForwardIter middle, left, right; + + while (len > 0) { + half = len >> 1; + middle = first; + std::advance(middle, half); + if (comp(*middle, val)) { + first = middle; + ++first; + len = len - half - 1; + } + else if (comp(val, *middle)) + len = half; + else { + left = boost::detail::lower_bound(first, middle, val, comp); + std::advance(first, len); + right = boost::detail::upper_bound(++middle, first, val, comp); + return std::pair(left, right); + } + } + return std::pair(first, first); +} + +template +bool binary_search(ForwardIter first, ForwardIter last, + const Tp& val) { + ForwardIter i = boost::detail::lower_bound(first, last, val); + return i != last && !(val < *i); +} + +template +bool binary_search(ForwardIter first, ForwardIter last, + const Tp& val, + Compare comp) { + ForwardIter i = boost::detail::lower_bound(first, last, val, comp); + return i != last && !comp(val, *i); +} + +}} // namespace boost::detail + +#endif // BINARY_SEARCH_DWA_122600_H_ diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/call_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/call_traits.hpp new file mode 100644 index 0000000..e0296ba --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/call_traits.hpp @@ -0,0 +1,164 @@ +// (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/utility for most recent version including documentation. + +// call_traits: defines typedefs for function usage +// (see libs/utility/call_traits.htm) + +/* Release notes: + 23rd July 2000: + Fixed array specialization. (JM) + Added Borland specific fixes for reference types + (issue raised by Steve Cleary). +*/ + +#ifndef BOOST_DETAIL_CALL_TRAITS_HPP +#define BOOST_DETAIL_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif +#include + +#include +#include +#include + +namespace boost{ + +namespace detail{ + +template +struct ct_imp2 +{ + typedef const T& param_type; +}; + +template +struct ct_imp2 +{ + typedef const T param_type; +}; + +template +struct ct_imp +{ + typedef const T& param_type; +}; + +template +struct ct_imp +{ + typedef typename ct_imp2::param_type param_type; +}; + +template +struct ct_imp +{ + typedef const T param_type; +}; + +} + +template +struct call_traits +{ +public: + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + // + // C++ Builder workaround: we should be able to define a compile time + // constant and pass that as a single template parameter to ct_imp, + // however compiler bugs prevent this - instead pass three bool's to + // ct_imp and add an extra partial specialisation + // of ct_imp to handle the logic. (JM) + typedef typename boost::detail::ct_imp< + T, + ::boost::is_pointer::value, + ::boost::is_arithmetic::value + >::param_type param_type; +}; + +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; + +#if BOOST_WORKAROUND( __BORLANDC__, < 0x5A0 ) +// these are illegal specialisations; cv-qualifies applied to +// references have no effect according to [8.3.2p1], +// C++ Builder requires them though as it treats cv-qualified +// references as distinct types... +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; +template +struct call_traits +{ + typedef T& value_type; + typedef T& reference; + typedef const T& const_reference; + typedef T& param_type; // hh removed const +}; + +template +struct call_traits< T * > +{ + typedef T * value_type; + typedef T * & reference; + typedef T * const & const_reference; + typedef T * const param_type; // hh removed const +}; +#endif +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +template +struct call_traits +{ +private: + typedef T array_type[N]; +public: + // degrades array to pointer: + typedef const T* value_type; + typedef array_type& reference; + typedef const array_type& const_reference; + typedef const T* const param_type; +}; + +template +struct call_traits +{ +private: + typedef const T array_type[N]; +public: + // degrades array to pointer: + typedef const T* value_type; + typedef array_type& reference; + typedef const array_type& const_reference; + typedef const T* const param_type; +}; +#endif + +} + +#endif // BOOST_DETAIL_CALL_TRAITS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/catch_exceptions.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/catch_exceptions.hpp new file mode 100644 index 0000000..f06a117 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/catch_exceptions.hpp @@ -0,0 +1,146 @@ +// boost/catch_exceptions.hpp -----------------------------------------------// + +// Copyright Beman Dawes 1995-2001. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/test for documentation. + +// Revision History +// 13 Jun 01 report_exception() made inline. (John Maddock, Jesse Jones) +// 26 Feb 01 Numerous changes suggested during formal review. (Beman) +// 25 Jan 01 catch_exceptions.hpp code factored out of cpp_main.cpp. +// 22 Jan 01 Remove test_tools dependencies to reduce coupling. +// 5 Nov 00 Initial boost version (Beman Dawes) + +#ifndef BOOST_CATCH_EXCEPTIONS_HPP +#define BOOST_CATCH_EXCEPTIONS_HPP + +// header dependencies are deliberately restricted to the standard library +// to reduce coupling to other boost libraries. +#include // for string +#include // for bad_alloc +#include // for bad_cast, bad_typeid +#include // for exception, bad_exception +#include // for std exception hierarchy +#include // for exit codes +# if __GNUC__ != 2 || __GNUC_MINOR__ > 96 +# include // for ostream +# else +# include // workaround GNU missing ostream header +# endif + +# if defined(__BORLANDC__) && (__BORLANDC__ <= 0x0551) +# define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT +# endif + +#if defined(MPW_CPLUS) && (MPW_CPLUS <= 0x890) +# define BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT + namespace std { class bad_typeid { }; } +# endif + +namespace boost +{ + + namespace detail + { + // A separate reporting function was requested during formal review. + inline void report_exception( std::ostream & os, + const char * name, const char * info ) + { os << "\n** uncaught exception: " << name << " " << info << std::endl; } + } + + // catch_exceptions ------------------------------------------------------// + + template< class Generator > // Generator is function object returning int + int catch_exceptions( Generator function_object, + std::ostream & out, std::ostream & err ) + { + int result = 0; // quiet compiler warnings + bool exception_thrown = true; // avoid setting result for each excptn type + +#ifndef BOOST_NO_EXCEPTIONS + try + { +#endif + result = function_object(); + exception_thrown = false; +#ifndef BOOST_NO_EXCEPTIONS + } + + // As a result of hard experience with strangely interleaved output + // under some compilers, there is a lot of use of endl in the code below + // where a simple '\n' might appear to do. + + // The rules for catch & arguments are a bit different from function + // arguments (ISO 15.3 paragraphs 18 & 19). Apparently const isn't + // required, but it doesn't hurt and some programmers ask for it. + + catch ( const char * ex ) + { detail::report_exception( out, "", ex ); } + catch ( const std::string & ex ) + { detail::report_exception( out, "", ex.c_str() ); } + + // std:: exceptions + catch ( const std::bad_alloc & ex ) + { detail::report_exception( out, "std::bad_alloc:", ex.what() ); } + +# ifndef BOOST_BUILT_IN_EXCEPTIONS_MISSING_WHAT + catch ( const std::bad_cast & ex ) + { detail::report_exception( out, "std::bad_cast:", ex.what() ); } + catch ( const std::bad_typeid & ex ) + { detail::report_exception( out, "std::bad_typeid:", ex.what() ); } +# else + catch ( const std::bad_cast & ) + { detail::report_exception( out, "std::bad_cast", "" ); } + catch ( const std::bad_typeid & ) + { detail::report_exception( out, "std::bad_typeid", "" ); } +# endif + + catch ( const std::bad_exception & ex ) + { detail::report_exception( out, "std::bad_exception:", ex.what() ); } + catch ( const std::domain_error & ex ) + { detail::report_exception( out, "std::domain_error:", ex.what() ); } + catch ( const std::invalid_argument & ex ) + { detail::report_exception( out, "std::invalid_argument:", ex.what() ); } + catch ( const std::length_error & ex ) + { detail::report_exception( out, "std::length_error:", ex.what() ); } + catch ( const std::out_of_range & ex ) + { detail::report_exception( out, "std::out_of_range:", ex.what() ); } + catch ( const std::range_error & ex ) + { detail::report_exception( out, "std::range_error:", ex.what() ); } + catch ( const std::overflow_error & ex ) + { detail::report_exception( out, "std::overflow_error:", ex.what() ); } + catch ( const std::underflow_error & ex ) + { detail::report_exception( out, "std::underflow_error:", ex.what() ); } + catch ( const std::logic_error & ex ) + { detail::report_exception( out, "std::logic_error:", ex.what() ); } + catch ( const std::runtime_error & ex ) + { detail::report_exception( out, "std::runtime_error:", ex.what() ); } + catch ( const std::exception & ex ) + { detail::report_exception( out, "std::exception:", ex.what() ); } + + catch ( ... ) + { detail::report_exception( out, "unknown exception", "" ); } +#endif // BOOST_NO_EXCEPTIONS + + if ( exception_thrown ) result = boost::exit_exception_failure; + + if ( result != 0 && result != exit_success ) + { + out << std::endl << "**** returning with error code " + << result << std::endl; + err + << "********** errors detected; see stdout for details ***********" + << std::endl; + } +#if !defined(BOOST_NO_CPP_MAIN_SUCCESS_MESSAGE) + else { out << std::flush << "no errors detected" << std::endl; } +#endif + return result; + } // catch_exceptions + +} // boost + +#endif // BOOST_CATCH_EXCEPTIONS_HPP + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/compressed_pair.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/compressed_pair.hpp new file mode 100644 index 0000000..7d9c518 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/compressed_pair.hpp @@ -0,0 +1,443 @@ +// (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/utility for most recent version including documentation. + +// compressed_pair: pair that "compresses" empty members +// (see libs/utility/compressed_pair.htm) +// +// JM changes 25 Jan 2004: +// For the case where T1 == T2 and both are empty, then first() and second() +// should return different objects. +// JM changes 25 Jan 2000: +// Removed default arguments from compressed_pair_switch to get +// C++ Builder 4 to accept them +// rewriten swap to get gcc and C++ builder to compile. +// added partial specialisations for case T1 == T2 to avoid duplicate constructor defs. + +#ifndef BOOST_DETAIL_COMPRESSED_PAIR_HPP +#define BOOST_DETAIL_COMPRESSED_PAIR_HPP + +#include + +#include +#include +#include +#include + +#ifdef BOOST_MSVC +# pragma warning(push) +# pragma warning(disable:4512) +#endif +namespace boost +{ + +template +class compressed_pair; + + +// compressed_pair + +namespace details +{ + // JM altered 26 Jan 2000: + template + struct compressed_pair_switch; + + template + struct compressed_pair_switch + {static const int value = 0;}; + + template + struct compressed_pair_switch + {static const int value = 3;}; + + template + struct compressed_pair_switch + {static const int value = 1;}; + + template + struct compressed_pair_switch + {static const int value = 2;}; + + template + struct compressed_pair_switch + {static const int value = 4;}; + + template + struct compressed_pair_switch + {static const int value = 5;}; + + template class compressed_pair_imp; + +#ifdef __GNUC__ + // workaround for GCC (JM): + using std::swap; +#endif + // + // can't call unqualified swap from within classname::swap + // as Koenig lookup rules will find only the classname::swap + // member function not the global declaration, so use cp_swap + // as a forwarding function (JM): + template + inline void cp_swap(T& t1, T& t2) + { +#ifndef __GNUC__ + using std::swap; +#endif + swap(t1, t2); + } + + // 0 derive from neither + + template + class compressed_pair_imp + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_(x), second_(y) {} + + compressed_pair_imp(first_param_type x) + : first_(x) {} + + compressed_pair_imp(second_param_type y) + : second_(y) {} + + first_reference first() {return first_;} + first_const_reference first() const {return first_;} + + second_reference second() {return second_;} + second_const_reference second() const {return second_;} + + void swap(::boost::compressed_pair& y) + { + cp_swap(first_, y.first()); + cp_swap(second_, y.second()); + } + private: + first_type first_; + second_type second_; + }; + + // 1 derive from T1 + + template + class compressed_pair_imp + : protected ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_type(x), second_(y) {} + + compressed_pair_imp(first_param_type x) + : first_type(x) {} + + compressed_pair_imp(second_param_type y) + : second_(y) {} + + first_reference first() {return *this;} + first_const_reference first() const {return *this;} + + second_reference second() {return second_;} + second_const_reference second() const {return second_;} + + void swap(::boost::compressed_pair& y) + { + // no need to swap empty base class: + cp_swap(second_, y.second()); + } + private: + second_type second_; + }; + + // 2 derive from T2 + + template + class compressed_pair_imp + : protected ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : second_type(y), first_(x) {} + + compressed_pair_imp(first_param_type x) + : first_(x) {} + + compressed_pair_imp(second_param_type y) + : second_type(y) {} + + first_reference first() {return first_;} + first_const_reference first() const {return first_;} + + second_reference second() {return *this;} + second_const_reference second() const {return *this;} + + void swap(::boost::compressed_pair& y) + { + // no need to swap empty base class: + cp_swap(first_, y.first()); + } + + private: + first_type first_; + }; + + // 3 derive from T1 and T2 + + template + class compressed_pair_imp + : protected ::boost::remove_cv::type, + protected ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_type(x), second_type(y) {} + + compressed_pair_imp(first_param_type x) + : first_type(x) {} + + compressed_pair_imp(second_param_type y) + : second_type(y) {} + + first_reference first() {return *this;} + first_const_reference first() const {return *this;} + + second_reference second() {return *this;} + second_const_reference second() const {return *this;} + // + // no need to swap empty bases: + void swap(::boost::compressed_pair&) {} + }; + + // JM + // 4 T1 == T2, T1 and T2 both empty + // Originally this did not store an instance of T2 at all + // but that led to problems beause it meant &x.first() == &x.second() + // which is not true for any other kind of pair, so now we store an instance + // of T2 just in case the user is relying on first() and second() returning + // different objects (albeit both empty). + template + class compressed_pair_imp + : protected ::boost::remove_cv::type + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_type(x), m_second(y) {} + + compressed_pair_imp(first_param_type x) + : first_type(x), m_second(x) {} + + first_reference first() {return *this;} + first_const_reference first() const {return *this;} + + second_reference second() {return m_second;} + second_const_reference second() const {return m_second;} + + void swap(::boost::compressed_pair&) {} + private: + T2 m_second; + }; + + // 5 T1 == T2 and are not empty: //JM + + template + class compressed_pair_imp + { + public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_imp() {} + + compressed_pair_imp(first_param_type x, second_param_type y) + : first_(x), second_(y) {} + + compressed_pair_imp(first_param_type x) + : first_(x), second_(x) {} + + first_reference first() {return first_;} + first_const_reference first() const {return first_;} + + second_reference second() {return second_;} + second_const_reference second() const {return second_;} + + void swap(::boost::compressed_pair& y) + { + cp_swap(first_, y.first()); + cp_swap(second_, y.second()); + } + private: + first_type first_; + second_type second_; + }; + +} // details + +template +class compressed_pair + : private ::boost::details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> +{ +private: + typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> base; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : base() {} + compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} + explicit compressed_pair(first_param_type x) : base(x) {} + explicit compressed_pair(second_param_type y) : base(y) {} + + first_reference first() {return base::first();} + first_const_reference first() const {return base::first();} + + second_reference second() {return base::second();} + second_const_reference second() const {return base::second();} + + void swap(compressed_pair& y) { base::swap(y); } +}; + +// JM +// Partial specialisation for case where T1 == T2: +// +template +class compressed_pair + : private details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> +{ +private: + typedef details::compressed_pair_imp::type, typename remove_cv::type>::value, + ::boost::is_empty::value, + ::boost::is_empty::value>::value> base; +public: + typedef T first_type; + typedef T second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : base() {} + compressed_pair(first_param_type x, second_param_type y) : base(x, y) {} +#if !(defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530)) + explicit +#endif + compressed_pair(first_param_type x) : base(x) {} + + first_reference first() {return base::first();} + first_const_reference first() const {return base::first();} + + second_reference second() {return base::second();} + second_const_reference second() const {return base::second();} + + void swap(::boost::compressed_pair& y) { base::swap(y); } +}; + +template +inline +void +swap(compressed_pair& x, compressed_pair& y) +{ + x.swap(y); +} + +} // boost + +#ifdef BOOST_MSVC +# pragma warning(pop) +#endif + +#endif // BOOST_DETAIL_COMPRESSED_PAIR_HPP + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/container_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/container_fwd.hpp new file mode 100644 index 0000000..04f2ac5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/container_fwd.hpp @@ -0,0 +1,99 @@ + +// Copyright 2005-2008 Daniel James. +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP) +#define BOOST_DETAIL_CONTAINER_FWD_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +#include +#include + +#if ((defined(__GLIBCPP__) || defined(__GLIBCXX__)) && defined(_GLIBCXX_DEBUG)) \ + || BOOST_WORKAROUND(__BORLANDC__, > 0x551) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x842)) \ + || (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) + +#include +#include +#include +#include +#include +#include +#include +#include + +#else + +#include + +#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) && \ + defined(__STL_CONFIG_H) + +#define BOOST_CONTAINER_FWD_BAD_BITSET + +#if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG) +#define BOOST_CONTAINER_FWD_BAD_DEQUE +#endif + +#endif + +#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE) +#include +#endif + +#if defined(BOOST_CONTAINER_FWD_BAD_BITSET) +#include +#endif + +#if defined(BOOST_MSVC) +#pragma warning(push) +#pragma warning(disable:4099) // struct/class mismatch in fwd declarations +#endif + +namespace std +{ + template class allocator; + template class basic_string; + +#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) + template struct string_char_traits; +#else + template struct char_traits; +#endif + + template class complex; +} + +// gcc 3.4 and greater +namespace std +{ +#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE) + template class deque; +#endif + + template class list; + template class vector; + template class map; + template + class multimap; + template class set; + template class multiset; + +#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET) + template class bitset; +#endif + template struct pair; +} + +#if defined(BOOST_MSVC) +#pragma warning(pop) +#endif + +#endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/dynamic_bitset.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/dynamic_bitset.hpp new file mode 100644 index 0000000..437f3fc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/dynamic_bitset.hpp @@ -0,0 +1,229 @@ +// ----------------------------------------------------------- +// +// Copyright (c) 2001-2002 Chuck Allison and Jeremy Siek +// Copyright (c) 2003-2006, 2008 Gennaro Prota +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// ----------------------------------------------------------- + +#ifndef BOOST_DETAIL_DYNAMIC_BITSET_HPP +#define BOOST_DETAIL_DYNAMIC_BITSET_HPP + +#include +#include "boost/config.hpp" +#include "boost/detail/workaround.hpp" + + +namespace boost { + + namespace detail { + namespace dynamic_bitset_impl { + + // Gives (read-)access to the object representation + // of an object of type T (3.9p4). CANNOT be used + // on a base sub-object + // + template + inline const unsigned char * object_representation (T* p) + { + return static_cast(static_cast(p)); + } + + template + struct shifter + { + static void left_shift(T & v) { + amount >= width ? (v = 0) + : (v >>= BOOST_DYNAMIC_BITSET_WRAP_CONSTANT(amount)); + } + }; + + // ------- count function implementation -------------- + + typedef unsigned char byte_type; + + // These two entities + // + // enum mode { access_by_bytes, access_by_blocks }; + // template struct mode_to_type {}; + // + // were removed, since the regression logs (as of 24 Aug 2008) + // showed that several compilers had troubles with recognizing + // + // const mode m = access_by_bytes + // + // as a constant expression + // + // * So, we'll use bool, instead of enum *. + // + template + struct value_to_type + { + value_to_type() {} + }; + const bool access_by_bytes = true; + const bool access_by_blocks = false; + + + // the table: wrapped in a class template, so + // that it is only instantiated if/when needed + // + template + struct count_table { static const byte_type table[]; }; + + template <> + struct count_table { /* no table */ }; + + + const unsigned int table_width = 8; + template + const byte_type count_table::table[] = + { + // Automatically generated by GPTableGen.exe v.1.0 + // + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 + }; + + + // overload for access by bytes + // + + template + inline std::size_t do_count(Iterator first, std::size_t length, + int /*dummy param*/, + value_to_type* ) + { + std::size_t num = 0; + if (length) + { + const byte_type * p = object_representation(&*first); + length *= sizeof(*first); + + do { + num += count_table<>::table[*p]; + ++p; + --length; + + } while (length); + } + + return num; + } + + + // overload for access by blocks + // + template + inline std::size_t do_count(Iterator first, std::size_t length, ValueType, + value_to_type*) + { + std::size_t num = 0; + while (length){ + + ValueType value = *first; + while (value) { + num += count_table<>::table[value & ((1u<>= table_width; + } + + ++first; + --length; + } + + return num; + } + + // ------------------------------------------------------- + + + // Some library implementations simply return a dummy + // value such as + // + // size_type(-1) / sizeof(T) + // + // from vector<>::max_size. This tries to get more + // meaningful info. + // + template + typename T::size_type vector_max_size_workaround(const T & v) { + + typedef typename T::allocator_type allocator_type; + + const typename allocator_type::size_type alloc_max = + v.get_allocator().max_size(); + const typename T::size_type container_max = v.max_size(); + + return alloc_max < container_max? + alloc_max : + container_max; + } + + // for static_asserts + template + struct allowed_block_type { + enum { value = T(-1) > 0 }; // ensure T has no sign + }; + + template <> + struct allowed_block_type { + enum { value = false }; + }; + + + template + struct is_numeric { + enum { value = false }; + }; + +# define BOOST_dynamic_bitset_is_numeric(x) \ + template<> \ + struct is_numeric< x > { \ + enum { value = true }; \ + } /**/ + + BOOST_dynamic_bitset_is_numeric(bool); + BOOST_dynamic_bitset_is_numeric(char); + +#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) + BOOST_dynamic_bitset_is_numeric(wchar_t); +#endif + + BOOST_dynamic_bitset_is_numeric(signed char); + BOOST_dynamic_bitset_is_numeric(short int); + BOOST_dynamic_bitset_is_numeric(int); + BOOST_dynamic_bitset_is_numeric(long int); + + BOOST_dynamic_bitset_is_numeric(unsigned char); + BOOST_dynamic_bitset_is_numeric(unsigned short); + BOOST_dynamic_bitset_is_numeric(unsigned int); + BOOST_dynamic_bitset_is_numeric(unsigned long); + +#if defined(BOOST_HAS_LONG_LONG) + BOOST_dynamic_bitset_is_numeric(::boost::long_long_type); + BOOST_dynamic_bitset_is_numeric(::boost::ulong_long_type); +#endif + + // intentionally omitted + //BOOST_dynamic_bitset_is_numeric(float); + //BOOST_dynamic_bitset_is_numeric(double); + //BOOST_dynamic_bitset_is_numeric(long double); + +#undef BOOST_dynamic_bitset_is_numeric + + } // dynamic_bitset_impl + } // namespace detail + +} // namespace boost + +#endif // include guard + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/endian.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/endian.hpp new file mode 100644 index 0000000..1a6a8a1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/endian.hpp @@ -0,0 +1,73 @@ +// Copyright 2005 Caleb Epstein +// Copyright 2006 John Maddock +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +/* + * Copyright (c) 1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/* + * Copyright notice reproduced from , from + * which this code was originally taken. + * + * Modified by Caleb Epstein to use with GNU libc and to + * defined the BOOST_ENDIAN macro. + */ + +#ifndef BOOST_DETAIL_ENDIAN_HPP +#define BOOST_DETAIL_ENDIAN_HPP + +// GNU libc offers the helpful header which defines +// __BYTE_ORDER + +#if defined (__GLIBC__) +# include +# if (__BYTE_ORDER == __LITTLE_ENDIAN) +# define BOOST_LITTLE_ENDIAN +# elif (__BYTE_ORDER == __BIG_ENDIAN) +# define BOOST_BIG_ENDIAN +# elif (__BYTE_ORDER == __PDP_ENDIAN) +# define BOOST_PDP_ENDIAN +# else +# error Unknown machine endianness detected. +# endif +# define BOOST_BYTE_ORDER __BYTE_ORDER +#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 +#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) +# define BOOST_LITTLE_ENDIAN +# define BOOST_BYTE_ORDER 1234 +#elif defined(__sparc) || defined(__sparc__) \ + || defined(_POWER) || defined(__powerpc__) \ + || defined(__ppc__) || defined(__hpux) || defined(__hppa) \ + || defined(_MIPSEB) || defined(_POWER) \ + || defined(__s390__) +# define BOOST_BIG_ENDIAN +# define BOOST_BYTE_ORDER 4321 +#elif defined(__i386__) || defined(__alpha__) \ + || defined(__ia64) || defined(__ia64__) \ + || defined(_M_IX86) || defined(_M_IA64) \ + || defined(_M_ALPHA) || defined(__amd64) \ + || defined(__amd64__) || defined(_M_AMD64) \ + || defined(__x86_64) || defined(__x86_64__) \ + || defined(_M_X64) || defined(__bfin__) + +# define BOOST_LITTLE_ENDIAN +# define BOOST_BYTE_ORDER 1234 +#else +# error The file boost/detail/endian.hpp needs to be set up for your CPU type. +#endif + + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/has_default_constructor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/has_default_constructor.hpp new file mode 100644 index 0000000..911a5e5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/has_default_constructor.hpp @@ -0,0 +1,29 @@ + +// (C) Copyright Matthias Troyerk 2006. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt). +// +// See http://www.boost.org/libs/type_traits for most recent version including documentation. + +#ifndef BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED +#define BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED + +#include + +namespace boost { namespace detail { + +/// type trait to check for a default constructor +/// +/// The default implementation just checks for a trivial constructor. +/// Using some compiler magic it might be possible to provide a better default + +template +struct has_default_constructor + : public has_trivial_constructor +{}; + +} } // namespace boost::detail + + +#endif // BOOST_DETAIL_HAS_DEFAULT_CONSTRUCTOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/identifier.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/identifier.hpp new file mode 100644 index 0000000..142a546 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/identifier.hpp @@ -0,0 +1,89 @@ +// boost/identifier.hpp ----------------------------------------------------// + +// Copyright Beman Dawes 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 documentation at http://www.boost.org/libs/utility + +#ifndef BOOST_IDENTIFIER_HPP +#define BOOST_IDENTIFIER_HPP + +#include +#include +#include + +namespace boost +{ + namespace detail + { + // class template identifier ---------------------------------------------// + + // Always used as a base class so that different instantiations result in + // different class types even if instantiated with the same value type T. + + // Expected usage is that T is often an integer type, best passed by + // value. There is no reason why T can't be a possibly larger class such as + // std::string, best passed by const reference. + + // This implementation uses pass by value, based on expected common uses. + + template + class identifier + { + public: + typedef T value_type; + + const value_type value() const { return m_value; } + void assign( value_type v ) { m_value = v; } + + bool operator==( const D & rhs ) const { return m_value == rhs.m_value; } + bool operator!=( const D & rhs ) const { return m_value != rhs.m_value; } + bool operator< ( const D & rhs ) const { return m_value < rhs.m_value; } + bool operator<=( const D & rhs ) const { return m_value <= rhs.m_value; } + bool operator> ( const D & rhs ) const { return m_value > rhs.m_value; } + bool operator>=( const D & rhs ) const { return m_value >= rhs.m_value; } + + typedef void (*unspecified_bool_type)(D); // without the D, unspecified_bool_type + static void unspecified_bool_true(D){} // conversion allows relational operators + // between different identifier types + + operator unspecified_bool_type() const { return m_value == value_type() ? 0 : unspecified_bool_true; } + bool operator!() const { return m_value == value_type(); } + + // constructors are protected so that class can only be used as a base class + protected: + identifier() {} + explicit identifier( value_type v ) : m_value(v) {} + + #if !defined(BOOST_MSVC) || BOOST_MSVC > 1300 // 1300 == VC++ 7.0 bug workaround + private: + #endif + T m_value; + }; + + //#ifndef BOOST_NO_SFINAE + + // template + // typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, + // Ostream & >::type operator<<( Ostream & os, const Id & id ) + // { + // return os << id.value(); + // } + + // template + // typename enable_if< is_base_of< identifier< typename Id::value_type, Id >, Id >, + // Istream & >::type operator>>( Istream & is, Id & id ) + // { + // typename Id::value_type v; + // is >> v; + // id.value( v ); + // return is; + // } + //#endif + + } // namespace detail +} // namespace boost + +#endif // BOOST_IDENTIFIER_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/indirect_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/indirect_traits.hpp new file mode 100644 index 0000000..a35b7cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/indirect_traits.hpp @@ -0,0 +1,487 @@ +// Copyright David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef INDIRECT_TRAITS_DWA2002131_HPP +# define INDIRECT_TRAITS_DWA2002131_HPP +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include + +# include +# include +# include +# include +# include +# include + +# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# include +# endif + +namespace boost { namespace detail { + +namespace indirect_traits { + +# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +template +struct is_reference_to_const : mpl::false_ +{ +}; + +template +struct is_reference_to_const : mpl::true_ +{ +}; + +# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround +template +struct is_reference_to_const : mpl::true_ +{ +}; +# endif + +template +struct is_reference_to_function : mpl::false_ +{ +}; + +template +struct is_reference_to_function : is_function +{ +}; + +template +struct is_pointer_to_function : mpl::false_ +{ +}; + +// There's no such thing as a pointer-to-cv-function, so we don't need +// specializations for those +template +struct is_pointer_to_function : is_function +{ +}; + +template +struct is_reference_to_member_function_pointer_impl : mpl::false_ +{ +}; + +template +struct is_reference_to_member_function_pointer_impl + : is_member_function_pointer::type> +{ +}; + + +template +struct is_reference_to_member_function_pointer + : is_reference_to_member_function_pointer_impl +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) +}; + +template +struct is_reference_to_function_pointer_aux + : mpl::and_< + is_reference + , is_pointer_to_function< + typename remove_cv< + typename remove_reference::type + >::type + > + > +{ + // There's no such thing as a pointer-to-cv-function, so we don't need specializations for those +}; + +template +struct is_reference_to_function_pointer + : mpl::if_< + is_reference_to_function + , mpl::false_ + , is_reference_to_function_pointer_aux + >::type +{ +}; + +template +struct is_reference_to_non_const + : mpl::and_< + is_reference + , mpl::not_< + is_reference_to_const + > + > +{ +}; + +template +struct is_reference_to_volatile : mpl::false_ +{ +}; + +template +struct is_reference_to_volatile : mpl::true_ +{ +}; + +# if defined(BOOST_MSVC) && _MSC_FULL_VER <= 13102140 // vc7.01 alpha workaround +template +struct is_reference_to_volatile : mpl::true_ +{ +}; +# endif + + +template +struct is_reference_to_pointer : mpl::false_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_pointer : mpl::true_ +{ +}; + +template +struct is_reference_to_class + : mpl::and_< + is_reference + , is_class< + typename remove_cv< + typename remove_reference::type + >::type + > + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) +}; + +template +struct is_pointer_to_class + : mpl::and_< + is_pointer + , is_class< + typename remove_cv< + typename remove_pointer::type + >::type + > + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_class,(T)) +}; + +# else + +using namespace boost::detail::is_function_ref_tester_; + +typedef char (&inner_yes_type)[3]; +typedef char (&inner_no_type)[2]; +typedef char (&outer_no_type)[1]; + +template +struct is_const_help +{ + typedef typename mpl::if_< + is_const + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_volatile_help +{ + typedef typename mpl::if_< + is_volatile + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_pointer_help +{ + typedef typename mpl::if_< + is_pointer + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_class_help +{ + typedef typename mpl::if_< + is_class + , inner_yes_type + , inner_no_type + >::type type; +}; + +template +struct is_reference_to_function_aux +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value = sizeof(detail::is_function_ref_tester(t,0)) == sizeof(::boost::type_traits::yes_type)); + typedef mpl::bool_ type; + }; + +template +struct is_reference_to_function + : mpl::if_, is_reference_to_function_aux, mpl::bool_ >::type +{ +}; + +template +struct is_pointer_to_function_aux +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(::boost::type_traits::is_function_ptr_tester(t)) == sizeof(::boost::type_traits::yes_type)); + typedef mpl::bool_ type; +}; + +template +struct is_pointer_to_function + : mpl::if_, is_pointer_to_function_aux, mpl::bool_ >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_pointer_to_function,(T)) +}; + +struct false_helper1 +{ + template + struct apply : mpl::false_ + { + }; +}; + +template +typename is_const_help::type reference_to_const_helper(V&); +outer_no_type +reference_to_const_helper(...); + +struct true_helper1 +{ + template + struct apply + { + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(reference_to_const_helper(t)) == sizeof(inner_yes_type)); + typedef mpl::bool_ type; + }; +}; + +template +struct is_reference_to_const_helper1 : true_helper1 +{ +}; + +template <> +struct is_reference_to_const_helper1 : false_helper1 +{ +}; + + +template +struct is_reference_to_const + : is_reference_to_const_helper1::value>::template apply +{ +}; + + +template +struct is_reference_to_non_const_helper1 +{ + template + struct apply + { + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(reference_to_const_helper(t)) == sizeof(inner_no_type)); + + typedef mpl::bool_ type; + }; +}; + +template <> +struct is_reference_to_non_const_helper1 : false_helper1 +{ +}; + + +template +struct is_reference_to_non_const + : is_reference_to_non_const_helper1::value>::template apply +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_non_const,(T)) +}; + + +template +typename is_volatile_help::type reference_to_volatile_helper(V&); +outer_no_type +reference_to_volatile_helper(...); + +template +struct is_reference_to_volatile_helper1 +{ + template + struct apply + { + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof(reference_to_volatile_helper(t)) == sizeof(inner_yes_type)); + typedef mpl::bool_ type; + }; +}; + +template <> +struct is_reference_to_volatile_helper1 : false_helper1 +{ +}; + + +template +struct is_reference_to_volatile + : is_reference_to_volatile_helper1::value>::template apply +{ +}; + +template +typename is_pointer_help::type reference_to_pointer_helper(V&); +outer_no_type reference_to_pointer_helper(...); + +template +struct reference_to_pointer_impl +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = (sizeof((reference_to_pointer_helper)(t)) == sizeof(inner_yes_type)) + ); + + typedef mpl::bool_ type; +}; + +template +struct is_reference_to_pointer + : mpl::eval_if, reference_to_pointer_impl, mpl::false_>::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_pointer,(T)) +}; + +template +struct is_reference_to_function_pointer + : mpl::eval_if, is_pointer_to_function_aux, mpl::false_>::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_function_pointer,(T)) +}; + + +template +struct is_member_function_pointer_help + : mpl::if_, inner_yes_type, inner_no_type> +{}; + +template +typename is_member_function_pointer_help::type member_function_pointer_helper(V&); +outer_no_type member_function_pointer_helper(...); + +template +struct is_pointer_to_member_function_aux +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = sizeof((member_function_pointer_helper)(t)) == sizeof(inner_yes_type)); + typedef mpl::bool_ type; +}; + +template +struct is_reference_to_member_function_pointer + : mpl::if_< + is_reference + , is_pointer_to_member_function_aux + , mpl::bool_ + >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_member_function_pointer,(T)) +}; + +template +typename is_class_help::type reference_to_class_helper(V const volatile&); +outer_no_type reference_to_class_helper(...); + +template +struct is_reference_to_class +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = (is_reference::value + & (sizeof(reference_to_class_helper(t)) == sizeof(inner_yes_type))) + ); + typedef mpl::bool_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_reference_to_class,(T)) +}; + +template +typename is_class_help::type pointer_to_class_helper(V const volatile*); +outer_no_type pointer_to_class_helper(...); + +template +struct is_pointer_to_class +{ + static T t; + BOOST_STATIC_CONSTANT( + bool, value + = (is_pointer::value + && sizeof(pointer_to_class_helper(t)) == sizeof(inner_yes_type)) + ); + typedef mpl::bool_ type; +}; +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} + +using namespace indirect_traits; + +}} // namespace boost::python::detail + +#endif // INDIRECT_TRAITS_DWA2002131_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/interlocked.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/interlocked.hpp new file mode 100644 index 0000000..e3f5086 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/interlocked.hpp @@ -0,0 +1,142 @@ +#ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED +#define BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/interlocked.hpp +// +// Copyright 2005 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +#include + +#if defined( BOOST_USE_WINDOWS_H ) + +# include + +# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange +# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange +# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER InterlockedCompareExchangePointer +# define BOOST_INTERLOCKED_EXCHANGE_POINTER InterlockedExchangePointer + +#elif defined(_WIN32_WCE) + +// under Windows CE we still have old-style Interlocked* functions + +extern "C" long __cdecl InterlockedIncrement( long* ); +extern "C" long __cdecl InterlockedDecrement( long* ); +extern "C" long __cdecl InterlockedCompareExchange( long*, long, long ); +extern "C" long __cdecl InterlockedExchange( long*, long ); +extern "C" long __cdecl InterlockedExchangeAdd( long*, long ); + +# define BOOST_INTERLOCKED_INCREMENT InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE InterlockedCompareExchange +# define BOOST_INTERLOCKED_EXCHANGE InterlockedExchange +# define BOOST_INTERLOCKED_EXCHANGE_ADD InterlockedExchangeAdd + +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ + ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long*)(dest),(long)(exchange),(long)(compare))) +# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ + ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange))) + +#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) + +#if defined( __CLRCALL_PURE_OR_CDECL ) + +extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * ); +extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * ); +extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long ); +extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long ); +extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long ); + +#else + +extern "C" long __cdecl _InterlockedIncrement( long volatile * ); +extern "C" long __cdecl _InterlockedDecrement( long volatile * ); +extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); +extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); +extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); + +#endif + +# pragma intrinsic( _InterlockedIncrement ) +# pragma intrinsic( _InterlockedDecrement ) +# pragma intrinsic( _InterlockedCompareExchange ) +# pragma intrinsic( _InterlockedExchange ) +# pragma intrinsic( _InterlockedExchangeAdd ) + +# if defined(_M_IA64) || defined(_M_AMD64) + +extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* ); +extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* ); + +# pragma intrinsic( _InterlockedCompareExchangePointer ) +# pragma intrinsic( _InterlockedExchangePointer ) + +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer +# define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer + +# else + +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ + ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) +# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ + ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) + +# endif + +# define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange +# define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange +# define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd + +#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) + +namespace boost +{ + +namespace detail +{ + +extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * ); +extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * ); +extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long ); +extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long ); +extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long ); + +} // namespace detail + +} // namespace boost + +# define BOOST_INTERLOCKED_INCREMENT ::boost::detail::InterlockedIncrement +# define BOOST_INTERLOCKED_DECREMENT ::boost::detail::InterlockedDecrement +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE ::boost::detail::InterlockedCompareExchange +# define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange +# define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd + +# define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ + ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) +# define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ + ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) + +#else + +# error "Interlocked intrinsics not available" + +#endif + +#endif // #ifndef BOOST_DETAIL_INTERLOCKED_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_function_ref_tester.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_function_ref_tester.hpp new file mode 100644 index 0000000..833cdf3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_function_ref_tester.hpp @@ -0,0 +1,135 @@ + +// (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes, +// Aleksey Gurtovoy, Howard Hinnant & John Maddock 2000. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED +#define BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED + +#include "boost/type_traits/detail/yes_no_type.hpp" +#include "boost/type_traits/config.hpp" + +#if defined(BOOST_TT_PREPROCESSING_MODE) +# include "boost/preprocessor/iterate.hpp" +# include "boost/preprocessor/enum_params.hpp" +# include "boost/preprocessor/comma_if.hpp" +#endif + +namespace boost { +namespace detail { +namespace is_function_ref_tester_ { + +template +boost::type_traits::no_type BOOST_TT_DECL is_function_ref_tester(T& ...); + +#if !defined(BOOST_TT_PREPROCESSING_MODE) +// preprocessor-generated part, don't edit by hand! + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23), int); + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24), int); + +#else + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (0, 25, "boost/type_traits/detail/is_function_ref_tester.hpp")) +#include BOOST_PP_ITERATE() + +#endif // BOOST_TT_PREPROCESSING_MODE + +} // namespace detail +} // namespace python +} // namespace boost + +#endif // BOOST_DETAIL_IS_FUNCTION_REF_TESTER_HPP_INCLUDED + +///// iteration + +#else +#define i BOOST_PP_FRAME_ITERATION(1) + +template +boost::type_traits::yes_type is_function_ref_tester(R (&)(BOOST_PP_ENUM_PARAMS(i,T)), int); + +#undef i +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_incrementable.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_incrementable.hpp new file mode 100644 index 0000000..8ad142c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_incrementable.hpp @@ -0,0 +1,134 @@ +// Copyright David Abrahams 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) +#ifndef IS_INCREMENTABLE_DWA200415_HPP +# define IS_INCREMENTABLE_DWA200415_HPP + +# include +# include +# include +# include +# include + +// Must be the last include +# include + +namespace boost { namespace detail { + +// is_incrementable metafunction +// +// Requires: Given x of type T&, if the expression ++x is well-formed +// it must have complete type; otherwise, it must neither be ambiguous +// nor violate access. + +// This namespace ensures that ADL doesn't mess things up. +namespace is_incrementable_ +{ + // a type returned from operator++ when no increment is found in the + // type's own namespace + struct tag {}; + + // any soaks up implicit conversions and makes the following + // operator++ less-preferred than any other such operator that + // might be found via ADL. + struct any { template any(T const&); }; + + // This is a last-resort operator++ for when none other is found +# if BOOST_WORKAROUND(__GNUC__, == 4) && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 2 + +} + +namespace is_incrementable_2 +{ + is_incrementable_::tag operator++(is_incrementable_::any const&); + is_incrementable_::tag operator++(is_incrementable_::any const&,int); +} +using namespace is_incrementable_2; + +namespace is_incrementable_ +{ + +# else + + tag operator++(any const&); + tag operator++(any const&,int); + +# endif + +# if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_comma(a,b) (a) +# else + // In case an operator++ is found that returns void, we'll use ++x,0 + tag operator,(tag,int); +# define BOOST_comma(a,b) (a,b) +# endif + +# if defined(BOOST_MSVC) +# pragma warning(push) +# pragma warning(disable:4913) // Warning about operator, +# endif + + // two check overloads help us identify which operator++ was picked + char (& check(tag) )[2]; + + template + char check(T const&); + + + template + struct impl + { + static typename boost::remove_cv::type& x; + + BOOST_STATIC_CONSTANT( + bool + , value = sizeof(is_incrementable_::check(BOOST_comma(++x,0))) == 1 + ); + }; + + template + struct postfix_impl + { + static typename boost::remove_cv::type& x; + + BOOST_STATIC_CONSTANT( + bool + , value = sizeof(is_incrementable_::check(BOOST_comma(x++,0))) == 1 + ); + }; + +# if defined(BOOST_MSVC) +# pragma warning(pop) +# endif + +} + +# undef BOOST_comma + +template +struct is_incrementable +BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) +{ + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::impl::value) + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_incrementable,(T)) +}; + +template +struct is_postfix_incrementable +BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) +{ + BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl::value) + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T)) +}; + +} // namespace detail + +BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_incrementable) +BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1, ::boost::detail::is_postfix_incrementable) + +} // namespace boost + +# include + +#endif // IS_INCREMENTABLE_DWA200415_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_xxx.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_xxx.hpp new file mode 100644 index 0000000..60fd28b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/is_xxx.hpp @@ -0,0 +1,61 @@ +// Copyright David Abrahams 2005. Distributed under the Boost +// Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_DETAIL_IS_XXX_DWA20051011_HPP +# define BOOST_DETAIL_IS_XXX_DWA20051011_HPP + +# include +# include +# include + +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# include + +# define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \ +template \ +struct is_##name \ +{ \ + typedef char yes; \ + typedef char (&no)[2]; \ + \ + static typename add_reference::type dummy; \ + \ + struct helpers \ + { \ + template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class U) > \ + static yes test( \ + qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, U) >&, int \ + ); \ + \ + template \ + static no test(U&, ...); \ + }; \ + \ + BOOST_STATIC_CONSTANT( \ + bool, value \ + = !is_reference::value \ + & (sizeof(helpers::test(dummy, 0)) == sizeof(yes))); \ + \ + typedef mpl::bool_ type; \ +}; + +# else + +# define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \ +template \ +struct is_##name : mpl::false_ \ +{ \ +}; \ + \ +template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > \ +struct is_##name< \ + qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > \ +> \ + : mpl::true_ \ +{ \ +}; + +# endif + +#endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/iterator.hpp new file mode 100644 index 0000000..48345e8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/iterator.hpp @@ -0,0 +1,494 @@ +// (C) Copyright David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// Boost versions of +// +// std::iterator_traits<>::iterator_category +// std::iterator_traits<>::difference_type +// std::distance() +// +// ...for all compilers and iterators +// +// Additionally, if X is a pointer +// std::iterator_traits::pointer + +// Otherwise, if partial specialization is supported or X is not a pointer +// std::iterator_traits::value_type +// std::iterator_traits::pointer +// std::iterator_traits::reference +// +// See http://www.boost.org for most recent version including documentation. + +// Revision History +// 04 Mar 2001 - More attempted fixes for Intel C++ (David Abrahams) +// 03 Mar 2001 - Put all implementation into namespace +// boost::detail::iterator_traits_. Some progress made on fixes +// for Intel compiler. (David Abrahams) +// 02 Mar 2001 - Changed BOOST_MSVC to BOOST_MSVC_STD_ITERATOR in a few +// places. (Jeremy Siek) +// 19 Feb 2001 - Improved workarounds for stock MSVC6; use yes_type and +// no_type from type_traits.hpp; stopped trying to remove_cv +// before detecting is_pointer, in honor of the new type_traits +// semantics. (David Abrahams) +// 13 Feb 2001 - Make it work with nearly all standard-conforming iterators +// under raw VC6. The one category remaining which will fail is +// that of iterators derived from std::iterator but not +// boost::iterator and which redefine difference_type. +// 11 Feb 2001 - Clean away code which can never be used (David Abrahams) +// 09 Feb 2001 - Always have a definition for each traits member, even if it +// can't be properly deduced. These will be incomplete types in +// some cases (undefined), but it helps suppress MSVC errors +// elsewhere (David Abrahams) +// 07 Feb 2001 - Support for more of the traits members where possible, making +// this useful as a replacement for std::iterator_traits when +// used as a default template parameter. +// 06 Feb 2001 - Removed useless #includes of standard library headers +// (David Abrahams) + +#ifndef ITERATOR_DWA122600_HPP_ +# define ITERATOR_DWA122600_HPP_ + +# include +# include + +// STLPort 4.0 and betas have a bug when debugging is enabled and there is no +// partial specialization: instead of an iterator_category typedef, the standard +// container iterators have _Iterator_category. +// +// Also, whether debugging is enabled or not, there is a broken specialization +// of std::iterator which has no +// typedefs but iterator_category. +# if defined(__SGI_STL_PORT) + +# if (__SGI_STL_PORT <= 0x410) && !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) && defined(__STL_DEBUG) +# define BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF +# endif + +# define BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION + +# endif // STLPort <= 4.1b4 && no partial specialization + +# if !defined(BOOST_NO_STD_ITERATOR_TRAITS) \ + && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MSVC_STD_ITERATOR) + +namespace boost { namespace detail { + +// Define a new template so it can be specialized +template +struct iterator_traits + : std::iterator_traits +{}; +using std::distance; + +}} // namespace boost::detail + +# else + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MSVC_STD_ITERATOR) + +// This is the case where everything conforms except BOOST_NO_STD_ITERATOR_TRAITS + +namespace boost { namespace detail { + +// Rogue Wave Standard Library fools itself into thinking partial +// specialization is missing on some platforms (e.g. Sun), so fails to +// supply iterator_traits! +template +struct iterator_traits +{ + typedef typename Iterator::value_type value_type; + typedef typename Iterator::reference reference; + typedef typename Iterator::pointer pointer; + typedef typename Iterator::difference_type difference_type; + typedef typename Iterator::iterator_category iterator_category; +}; + +template +struct iterator_traits +{ + typedef T value_type; + typedef T& reference; + typedef T* pointer; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; +}; + +template +struct iterator_traits +{ + typedef T value_type; + typedef T const& reference; + typedef T const* pointer; + typedef std::ptrdiff_t difference_type; + typedef std::random_access_iterator_tag iterator_category; +}; + +}} // namespace boost::detail + +# else + +# include +# include +# include + +# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# include +# include +# endif +# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION +# include +# endif + +# include +# include +# include + +// should be the last #include +# include "boost/type_traits/detail/bool_trait_def.hpp" + +namespace boost { namespace detail { + +BOOST_MPL_HAS_XXX_TRAIT_DEF(value_type) +BOOST_MPL_HAS_XXX_TRAIT_DEF(reference) +BOOST_MPL_HAS_XXX_TRAIT_DEF(pointer) +BOOST_MPL_HAS_XXX_TRAIT_DEF(difference_type) +BOOST_MPL_HAS_XXX_TRAIT_DEF(iterator_category) + +// is_mutable_iterator -- +// +// A metafunction returning true iff T is a mutable iterator type +// with a nested value_type. Will only work portably with iterators +// whose operator* returns a reference, but that seems to be OK for +// the iterators supplied by Dinkumware. Some input iterators may +// compile-time if they arrive here, and if the compiler is strict +// about not taking the address of an rvalue. + +// This one detects ordinary mutable iterators - the result of +// operator* is convertible to the value_type. +template +type_traits::yes_type is_mutable_iterator_helper(T const*, BOOST_DEDUCED_TYPENAME T::value_type*); + +// Since you can't take the address of an rvalue, the guts of +// is_mutable_iterator_impl will fail if we use &*t directly. This +// makes sure we can still work with non-lvalue iterators. +template T* mutable_iterator_lvalue_helper(T& x); +int mutable_iterator_lvalue_helper(...); + + +// This one detects output iterators such as ostream_iterator which +// return references to themselves. +template +type_traits::yes_type is_mutable_iterator_helper(T const*, T const*); + +type_traits::no_type is_mutable_iterator_helper(...); + +template +struct is_mutable_iterator_impl +{ + static T t; + + BOOST_STATIC_CONSTANT( + bool, value = sizeof( + detail::is_mutable_iterator_helper( + (T*)0 + , mutable_iterator_lvalue_helper(*t) // like &*t + )) + == sizeof(type_traits::yes_type) + ); +}; + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_mutable_iterator,T,::boost::detail::is_mutable_iterator_impl::value) + + +// is_full_iterator_traits -- +// +// A metafunction returning true iff T has all the requisite nested +// types to satisfy the requirements for a fully-conforming +// iterator_traits implementation. +template +struct is_full_iterator_traits_impl +{ + enum { value = + has_value_type::value + & has_reference::value + & has_pointer::value + & has_difference_type::value + & has_iterator_category::value + }; +}; + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_full_iterator_traits,T,::boost::detail::is_full_iterator_traits_impl::value) + + +# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF +BOOST_MPL_HAS_XXX_TRAIT_DEF(_Iterator_category) + +// is_stlport_40_debug_iterator -- +// +// A metafunction returning true iff T has all the requisite nested +// types to satisfy the requirements of an STLPort 4.0 debug iterator +// iterator_traits implementation. +template +struct is_stlport_40_debug_iterator_impl +{ + enum { value = + has_value_type::value + & has_reference::value + & has_pointer::value + & has_difference_type::value + & has__Iterator_category::value + }; +}; + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_stlport_40_debug_iterator,T,::boost::detail::is_stlport_40_debug_iterator_impl::value) + +template +struct stlport_40_debug_iterator_traits +{ + typedef typename T::value_type value_type; + typedef typename T::reference reference; + typedef typename T::pointer pointer; + typedef typename T::difference_type difference_type; + typedef typename T::_Iterator_category iterator_category; +}; +# endif // BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF + +template struct pointer_iterator_traits; + +# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +template +struct pointer_iterator_traits +{ + typedef typename remove_const::type value_type; + typedef T* pointer; + typedef T& reference; + typedef std::random_access_iterator_tag iterator_category; + typedef std::ptrdiff_t difference_type; +}; +# else + +// In case of no template partial specialization, and if T is a +// pointer, iterator_traits::value_type can still be computed. For +// some basic types, remove_pointer is manually defined in +// type_traits/broken_compiler_spec.hpp. For others, do it yourself. + +template class please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee; + +template +struct pointer_value_type + : mpl::if_< + is_same::type> + , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee

    + , typename remove_const< + typename remove_pointer

    ::type + >::type + > +{ +}; + + +template +struct pointer_reference + : mpl::if_< + is_same::type> + , please_invoke_BOOST_TT_BROKEN_COMPILER_SPEC_on_cv_unqualified_pointee

    + , typename remove_pointer

    ::type& + > +{ +}; + +template +struct pointer_iterator_traits +{ + typedef T pointer; + typedef std::random_access_iterator_tag iterator_category; + typedef std::ptrdiff_t difference_type; + + typedef typename pointer_value_type::type value_type; + typedef typename pointer_reference::type reference; +}; + +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +// We'll sort iterator types into one of these classifications, from which we +// can determine the difference_type, pointer, reference, and value_type +template +struct standard_iterator_traits +{ + typedef typename Iterator::difference_type difference_type; + typedef typename Iterator::value_type value_type; + typedef typename Iterator::pointer pointer; + typedef typename Iterator::reference reference; + typedef typename Iterator::iterator_category iterator_category; +}; + +template +struct msvc_stdlib_mutable_traits + : std::iterator_traits +{ + typedef typename std::iterator_traits::distance_type difference_type; + typedef typename std::iterator_traits::value_type* pointer; + typedef typename std::iterator_traits::value_type& reference; +}; + +template +struct msvc_stdlib_const_traits + : std::iterator_traits +{ + typedef typename std::iterator_traits::distance_type difference_type; + typedef const typename std::iterator_traits::value_type* pointer; + typedef const typename std::iterator_traits::value_type& reference; +}; + +# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION +template +struct is_bad_output_iterator + : is_base_and_derived< + std::iterator + , Iterator> +{ +}; + +struct bad_output_iterator_traits +{ + typedef void value_type; + typedef void difference_type; + typedef std::output_iterator_tag iterator_category; + typedef void pointer; + typedef void reference; +}; +# endif + +// If we're looking at an MSVC6 (old Dinkumware) ``standard'' +// iterator, this will generate an appropriate traits class. +template +struct msvc_stdlib_iterator_traits + : mpl::if_< + is_mutable_iterator + , msvc_stdlib_mutable_traits + , msvc_stdlib_const_traits + >::type +{}; + +template +struct non_pointer_iterator_traits + : mpl::if_< + // if the iterator contains all the right nested types... + is_full_iterator_traits + // Use a standard iterator_traits implementation + , standard_iterator_traits +# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF + // Check for STLPort 4.0 broken _Iterator_category type + , mpl::if_< + is_stlport_40_debug_iterator + , stlport_40_debug_iterator_traits +# endif + // Otherwise, assume it's a Dinkum iterator + , msvc_stdlib_iterator_traits +# ifdef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF + >::type +# endif + >::type +{ +}; + +template +struct iterator_traits_aux + : mpl::if_< + is_pointer + , pointer_iterator_traits + , non_pointer_iterator_traits + >::type +{ +}; + +template +struct iterator_traits +{ + // Explicit forwarding from base class needed to keep MSVC6 happy + // under some circumstances. + private: +# ifdef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION + typedef + typename mpl::if_< + is_bad_output_iterator + , bad_output_iterator_traits + , iterator_traits_aux + >::type base; +# else + typedef iterator_traits_aux base; +# endif + public: + typedef typename base::value_type value_type; + typedef typename base::pointer pointer; + typedef typename base::reference reference; + typedef typename base::difference_type difference_type; + typedef typename base::iterator_category iterator_category; +}; + +// This specialization cuts off ETI (Early Template Instantiation) for MSVC. +template <> struct iterator_traits +{ + typedef int value_type; + typedef int pointer; + typedef int reference; + typedef int difference_type; + typedef int iterator_category; +}; + +}} // namespace boost::detail + +# endif // workarounds + +namespace boost { namespace detail { + +namespace iterator_traits_ +{ + template + struct distance_select + { + static Difference execute(Iterator i1, const Iterator i2, ...) + { + Difference result = 0; + while (i1 != i2) + { + ++i1; + ++result; + } + return result; + } + + static Difference execute(Iterator i1, const Iterator i2, std::random_access_iterator_tag*) + { + return i2 - i1; + } + }; +} // namespace boost::detail::iterator_traits_ + +template +inline typename iterator_traits::difference_type +distance(Iterator first, Iterator last) +{ + typedef typename iterator_traits::difference_type diff_t; + typedef typename ::boost::detail::iterator_traits::iterator_category iterator_category; + + return iterator_traits_::distance_select::execute( + first, last, (iterator_category*)0); +} + +}} + +# endif + + +# undef BOOST_BAD_CONTAINER_ITERATOR_CATEGORY_TYPEDEF +# undef BOOST_BAD_OUTPUT_ITERATOR_SPECIALIZATION + +#endif // ITERATOR_DWA122600_HPP_ diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lcast_precision.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lcast_precision.hpp new file mode 100644 index 0000000..895790e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lcast_precision.hpp @@ -0,0 +1,184 @@ +// 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::mpl::if_< + boost::is_abstract + , 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::mpl::if_< + boost::is_abstract + , 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)(); + + 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((Source*)0); + std::streamsize const t = lcast_get_precision((Target*)0); + stream.precision(s > t ? s : t); +} + +}} + +#endif // BOOST_DETAIL_LCAST_PRECISION_HPP_INCLUDED + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_mutex.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_mutex.hpp new file mode 100644 index 0000000..79cd0b2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_mutex.hpp @@ -0,0 +1,22 @@ +#ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED +#define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lightweight_mutex.hpp - lightweight mutex +// +// Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd. +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// + +#include + +#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_test.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_test.hpp new file mode 100644 index 0000000..6081ec9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_test.hpp @@ -0,0 +1,91 @@ +#ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED +#define BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// boost/detail/lightweight_test.hpp - lightweight test library +// +// Copyright (c) 2002, 2009 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// +// BOOST_TEST(expression) +// BOOST_ERROR(message) +// BOOST_TEST_EQ(expr1, expr2) +// +// int boost::report_errors() +// + +#include +#include + +namespace boost +{ + +namespace detail +{ + +inline int & test_errors() +{ + static int x = 0; + return x; +} + +inline void test_failed_impl(char const * expr, char const * file, int line, char const * function) +{ + std::cerr << file << "(" << line << "): test '" << expr << "' failed in function '" << function << "'" << std::endl; + ++test_errors(); +} + +inline void error_impl(char const * msg, char const * file, int line, char const * function) +{ + std::cerr << file << "(" << line << "): " << msg << " in function '" << function << "'" << std::endl; + ++test_errors(); +} + +template inline void test_eq_impl( char const * expr1, char const * expr2, char const * file, int line, char const * function, T const & t, U const & u ) +{ + if( t == u ) + { + } + else + { + std::cerr << file << "(" << line << "): test '" << expr1 << " == " << expr2 + << "' failed in function '" << function << "': " + << "'" << t << "' != '" << u << "'" << std::endl; + ++test_errors(); + } +} + +} // namespace detail + +inline int report_errors() +{ + int errors = detail::test_errors(); + + if( errors == 0 ) + { + std::cerr << "No errors detected." << std::endl; + return 0; + } + else + { + std::cerr << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl; + return 1; + } +} + +} // namespace boost + +#define BOOST_TEST(expr) ((expr)? (void)0: ::boost::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)) +#define BOOST_ERROR(msg) ::boost::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) +#define BOOST_TEST_EQ(expr1,expr2) ( ::boost::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) + +#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_TEST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_thread.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_thread.hpp new file mode 100644 index 0000000..be5b2c0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/lightweight_thread.hpp @@ -0,0 +1,135 @@ +#ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED +#define BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/detail/lightweight_thread.hpp +// +// Copyright (c) 2002 Peter Dimov and Multi Media Ltd. +// Copyright (c) 2008 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt + +#include +#include +#include + +// pthread_create, pthread_join + +#if defined( BOOST_HAS_PTHREADS ) + +#include + +#else + +#include +#include + +typedef HANDLE pthread_t; + +int pthread_create( pthread_t * thread, void const *, unsigned (__stdcall * start_routine) (void*), void* arg ) +{ + HANDLE h = (HANDLE)_beginthreadex( 0, 0, start_routine, arg, 0, 0 ); + + if( h != 0 ) + { + *thread = h; + return 0; + } + else + { + return EAGAIN; + } +} + +int pthread_join( pthread_t thread, void ** /*value_ptr*/ ) +{ + ::WaitForSingleObject( thread, INFINITE ); + ::CloseHandle( thread ); + return 0; +} + +#endif + +// template int lw_thread_create( pthread_t & pt, F f ); + +namespace boost +{ + +namespace detail +{ + +class lw_abstract_thread +{ +public: + + virtual ~lw_abstract_thread() {} + virtual void run() = 0; +}; + +#if defined( BOOST_HAS_PTHREADS ) + +extern "C" void * lw_thread_routine( void * pv ) +{ + std::auto_ptr pt( static_cast( pv ) ); + + pt->run(); + + return 0; +} + +#else + +unsigned __stdcall lw_thread_routine( void * pv ) +{ + std::auto_ptr pt( static_cast( pv ) ); + + pt->run(); + + return 0; +} + +#endif + +template class lw_thread_impl: public lw_abstract_thread +{ +public: + + explicit lw_thread_impl( F f ): f_( f ) + { + } + + void run() + { + f_(); + } + +private: + + F f_; +}; + +template int lw_thread_create( pthread_t & pt, F f ) +{ + std::auto_ptr p( new lw_thread_impl( f ) ); + + int r = pthread_create( &pt, 0, lw_thread_routine, p.get() ); + + if( r == 0 ) + { + p.release(); + } + + return r; +} + +} // namespace detail +} // namespace boost + +#endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_THREAD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/limits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/limits.hpp new file mode 100644 index 0000000..4fc66d6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/limits.hpp @@ -0,0 +1,449 @@ +// Copyright 2001 John Maddock +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +/* + * Copyright (c) 1997 + * Silicon Graphics Computer Systems, Inc. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without fee, + * provided that the above copyright notice appear in all copies and + * that both that copyright notice and this permission notice appear + * in supporting documentation. Silicon Graphics makes no + * representations about the suitability of this software for any + * purpose. It is provided "as is" without express or implied warranty. + */ + +/* NOTE: This is not portable code. Parts of numeric_limits<> are + * inherently machine-dependent, and this file is written for the MIPS + * architecture and the SGI MIPSpro C++ compiler. Parts of it (in + * particular, some of the characteristics of floating-point types) + * are almost certainly incorrect for any other platform. + */ + +/* The above comment is almost certainly out of date. This file works + * on systems other than SGI MIPSpro C++ now. + */ + +/* + * Revision history: + * 21 Sep 2001: + * Only include if BOOST_NO_CWCHAR is defined. (Darin Adler) + * 10 Aug 2001: + * Added MIPS (big endian) to the big endian family. (Jens Maurer) + * 13 Apr 2001: + * Added powerpc to the big endian family. (Jeremy Siek) + * 5 Apr 2001: + * Added sparc (big endian) processor support (John Maddock). + * Initial sub: + * Modified by Jens Maurer for gcc 2.95 on x86. + */ + +#ifndef BOOST_SGI_CPP_LIMITS +#define BOOST_SGI_CPP_LIMITS + +#include +#include +#include +#include + +#ifndef BOOST_NO_CWCHAR +#include // for WCHAR_MIN and WCHAR_MAX +#endif + +namespace std { + +enum float_round_style { + round_indeterminate = -1, + round_toward_zero = 0, + round_to_nearest = 1, + round_toward_infinity = 2, + round_toward_neg_infinity = 3 +}; + +enum float_denorm_style { + denorm_indeterminate = -1, + denorm_absent = 0, + denorm_present = 1 +}; + +// The C++ standard (section 18.2.1) requires that some of the members of +// numeric_limits be static const data members that are given constant- +// initializers within the class declaration. On compilers where the +// BOOST_NO_INCLASS_MEMBER_INITIALIZATION macro is defined, it is impossible to write +// a standard-conforming numeric_limits class. +// +// There are two possible workarounds: either initialize the data +// members outside the class, or change them from data members to +// enums. Neither workaround is satisfactory: the former makes it +// impossible to use the data members in constant-expressions, and the +// latter means they have the wrong type and that it is impossible to +// take their addresses. We choose the former workaround. + +#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \ + enum { __mem_name = __mem_value } +#else /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */ +# define BOOST_STL_DECLARE_LIMITS_MEMBER(__mem_type, __mem_name, __mem_value) \ + static const __mem_type __mem_name = __mem_value +#endif /* BOOST_NO_INCLASS_MEMBER_INITIALIZATION */ + +// Base class for all specializations of numeric_limits. +template +class _Numeric_limits_base { +public: + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, false); + + static __number min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); } + static __number max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __number(); } + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, 0); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact, false); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 0); + + static __number epsilon() throw() { return __number(); } + static __number round_error() throw() { return __number(); } + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent, 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, 0); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style, + has_denorm, + denorm_absent); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss, false); + + static __number infinity() throw() { return __number(); } + static __number quiet_NaN() throw() { return __number(); } + static __number signaling_NaN() throw() { return __number(); } + static __number denorm_min() throw() { return __number(); } + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo, false); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before, false); + BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style, + round_style, + round_toward_zero); +}; + +// Base class for integers. + +template +class _Integer_limits : public _Numeric_limits_base<_Int> +{ +public: + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true); + + static _Int min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imin; } + static _Int max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return __imax; } + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, + digits, + (__idigits < 0) ? (int)(sizeof(_Int) * CHAR_BIT) + - (__imin == 0 ? 0 : 1) + : __idigits); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); + // log 2 = 0.301029995664... + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, __imin != 0); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_integer, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_exact, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 2); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_modulo, true); +}; + +#if defined(BOOST_BIG_ENDIAN) + + template + struct float_helper{ + static Number get_word() throw() { + // sizeof(long double) == 16 + const unsigned int _S_word[4] = { Word, 0, 0, 0 }; + return *reinterpret_cast(&_S_word); + } +}; + +#else + + template + struct float_helper{ + static Number get_word() throw() { + // sizeof(long double) == 12, but only 10 bytes significant + const unsigned int _S_word[4] = { 0, 0, 0, Word }; + return *reinterpret_cast( + reinterpret_cast(&_S_word)+16- + (sizeof(Number) == 12 ? 10 : sizeof(Number))); + } +}; + +#endif + +// Base class for floating-point numbers. +template +class _Floating_limits : public _Numeric_limits_base<__number> +{ +public: + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, __Digits); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, __Digits10); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, true); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, radix, 2); + + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent, __MinExp); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent, __MaxExp); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, min_exponent10, __MinExp10); + BOOST_STL_DECLARE_LIMITS_MEMBER(int, max_exponent10, __MaxExp10); + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_infinity, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_quiet_NaN, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_signaling_NaN, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(float_denorm_style, + has_denorm, + denorm_indeterminate); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss, false); + + + static __number infinity() throw() { + return float_helper<__number, __InfinityWord>::get_word(); + } + static __number quiet_NaN() throw() { + return float_helper<__number,__QNaNWord>::get_word(); + } + static __number signaling_NaN() throw() { + return float_helper<__number,__SNaNWord>::get_word(); + } + + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_iec559, __IsIEC559); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_bounded, true); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, traps, false /* was: true */ ); + BOOST_STL_DECLARE_LIMITS_MEMBER(bool, tinyness_before, false); + + BOOST_STL_DECLARE_LIMITS_MEMBER(float_round_style, round_style, __RoundStyle); +}; + +// Class numeric_limits + +// The unspecialized class. + +template +class numeric_limits : public _Numeric_limits_base {}; + +// Specializations for all built-in integral types. + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +template<> +class numeric_limits +#if !defined(WCHAR_MAX) || !defined(WCHAR_MIN) +#if defined(_WIN32) || defined(__CYGWIN__) + : public _Integer_limits +#elif defined(__hppa) +// wchar_t has "unsigned int" as the underlying type + : public _Integer_limits +#else +// assume that wchar_t has "int" as the underlying type + : public _Integer_limits +#endif +#else +// we have WCHAR_MIN and WCHAR_MAX defined, so use it + : public _Integer_limits +#endif +{}; +#endif + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +template<> +class numeric_limits + : public _Integer_limits +{}; + +#ifdef __GNUC__ + +// Some compilers have long long, but don't define the +// LONGLONG_MIN and LONGLONG_MAX macros in limits.h. This +// assumes that long long is 64 bits. +#if !defined(LONGLONG_MAX) && !defined(ULONGLONG_MAX) + +# define ULONGLONG_MAX 0xffffffffffffffffLLU +# define LONGLONG_MAX 0x7fffffffffffffffLL + +#endif + +#if !defined(LONGLONG_MIN) +# define LONGLONG_MIN (-LONGLONG_MAX - 1) +#endif + + +#if !defined(ULONGLONG_MIN) +# define ULONGLONG_MIN 0 +#endif + +#endif /* __GNUC__ */ + +// Specializations for all built-in floating-point type. + +template<> class numeric_limits + : public _Floating_limits +{ +public: + static float min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MIN; } + static float denorm_min() throw() { return FLT_MIN; } + static float max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return FLT_MAX; } + static float epsilon() throw() { return FLT_EPSILON; } + static float round_error() throw() { return 0.5f; } // Units: ulps. +}; + +template<> class numeric_limits + : public _Floating_limits +{ +public: + static double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MIN; } + static double denorm_min() throw() { return DBL_MIN; } + static double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return DBL_MAX; } + static double epsilon() throw() { return DBL_EPSILON; } + static double round_error() throw() { return 0.5; } // Units: ulps. +}; + +template<> class numeric_limits + : public _Floating_limits +{ +public: + static long double min BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MIN; } + static long double denorm_min() throw() { return LDBL_MIN; } + static long double max BOOST_PREVENT_MACRO_SUBSTITUTION () throw() { return LDBL_MAX; } + static long double epsilon() throw() { return LDBL_EPSILON; } + static long double round_error() throw() { return 4; } // Units: ulps. +}; + +} // namespace std + +#endif /* BOOST_SGI_CPP_LIMITS */ + +// Local Variables: +// mode:C++ +// End: + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/named_template_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/named_template_params.hpp new file mode 100644 index 0000000..0c2c947 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/named_template_params.hpp @@ -0,0 +1,177 @@ +// (C) Copyright Jeremy Siek 2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// Revision History: + +// 04 Oct 2001 David Abrahams +// Changed name of "bind" to "select" to avoid problems with MSVC. + +#ifndef BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP +#define BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP + +#include +#include // for is_reference +#if defined(__BORLANDC__) +#include +#endif + +namespace boost { + namespace detail { + + struct default_argument { }; + + struct dummy_default_gen { + template + struct select { + typedef default_argument type; + }; + }; + + // This class template is a workaround for MSVC. + template struct default_generator { + typedef detail::dummy_default_gen type; + }; + + template struct is_default { + enum { value = false }; + typedef type_traits::no_type type; + }; + template <> struct is_default { + enum { value = true }; + typedef type_traits::yes_type type; + }; + + struct choose_default { + template + struct select { + typedef typename default_generator::type Gen; + typedef typename Gen::template select::type type; + }; + }; + struct choose_arg { + template + struct select { + typedef Arg type; + }; + }; + +#if defined(__BORLANDC__) + template + struct choose_arg_or_default { typedef choose_arg type; }; + template <> + struct choose_arg_or_default { + typedef choose_default type; + }; +#else + template + struct choose_arg_or_default { typedef choose_arg type; }; + template <> + struct choose_arg_or_default { + typedef choose_default type; + }; +#endif + + template + class resolve_default { +#if defined(__BORLANDC__) + typedef typename choose_arg_or_default::type>::type Selector; +#else + // This usually works for Borland, but I'm seeing weird errors in + // iterator_adaptor_test.cpp when using this method. + enum { is_def = is_default::value }; + typedef typename choose_arg_or_default::type Selector; +#endif + public: + typedef typename Selector + ::template select::type type; + }; + + // To differentiate an unnamed parameter from a traits generator + // we use is_convertible. + struct named_template_param_base { }; + + template + struct is_named_param_list { + enum { value = is_convertible::value }; + }; + + struct choose_named_params { + template struct select { typedef Prev type; }; + }; + struct choose_default_arg { + template struct select { + typedef detail::default_argument type; + }; + }; + + template struct choose_default_dispatch_; + template <> struct choose_default_dispatch_ { + typedef choose_named_params type; + }; + template <> struct choose_default_dispatch_ { + typedef choose_default_arg type; + }; + // The use of inheritance here is a Solaris Forte 6 workaround. + template struct choose_default_dispatch + : public choose_default_dispatch_ { }; + + template + struct choose_default_argument { + enum { is_named = is_named_param_list::value }; + typedef typename choose_default_dispatch::type Selector; + typedef typename Selector::template select::type type; + }; + + // This macro assumes that there is a class named default_##TYPE + // defined before the application of the macro. This class should + // have a single member class template named "select" with two + // template parameters: the type of the class being created (e.g., + // the iterator_adaptor type when creating iterator adaptors) and + // a traits class. The select class should have a single typedef + // named "type" that produces the default for TYPE. See + // boost/iterator_adaptors.hpp for an example usage. Also, + // applications of this macro must be placed in namespace + // boost::detail. + +#define BOOST_NAMED_TEMPLATE_PARAM(TYPE) \ + struct get_##TYPE##_from_named { \ + template \ + struct select { \ + typedef typename NamedParams::traits NamedTraits; \ + typedef typename NamedTraits::TYPE TYPE; \ + typedef typename resolve_default::type type; \ + }; \ + }; \ + struct pass_thru_##TYPE { \ + template struct select { \ + typedef typename resolve_default::type type; \ + };\ + }; \ + template \ + struct get_##TYPE##_dispatch { }; \ + template <> struct get_##TYPE##_dispatch<1> { \ + typedef get_##TYPE##_from_named type; \ + }; \ + template <> struct get_##TYPE##_dispatch<0> { \ + typedef pass_thru_##TYPE type; \ + }; \ + template \ + class get_##TYPE { \ + enum { is_named = is_named_param_list::value }; \ + typedef typename get_##TYPE##_dispatch::type Selector; \ + public: \ + typedef typename Selector::template select::type type; \ + }; \ + template <> struct default_generator { \ + typedef default_##TYPE type; \ + } + + + } // namespace detail +} // namespace boost + +#endif // BOOST_DETAIL_NAMED_TEMPLATE_PARAMS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/no_exceptions_support.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/no_exceptions_support.hpp new file mode 100644 index 0000000..702407f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/no_exceptions_support.hpp @@ -0,0 +1,87 @@ +#ifndef BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_ +#define BOOST_DETAIL_NO_EXCEPTIONS_SUPPORT_HPP_ + +#if (defined _MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif + +//---------------------------------------------------------------------- +// (C) Copyright 2004 Pavel Vozenilek. +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// +// This file contains helper macros used when exception support may be +// disabled (as indicated by macro BOOST_NO_EXCEPTIONS). +// +// Before picking up these macros you may consider using RAII techniques +// to deal with exceptions - their syntax can be always the same with +// or without exception support enabled. +// + +/* Example of use: + +void foo() { + BOOST_TRY { + ... + } BOOST_CATCH(const std::bad_alloc&) { + ... + BOOST_RETHROW + } BOOST_CATCH(const std::exception& e) { + ... + } + BOOST_CATCH_END +} + +With exception support enabled it will expand into: + +void foo() { + { try { + ... + } catch (const std::bad_alloc&) { + ... + throw; + } catch (const std::exception& e) { + ... + } + } +} + +With exception support disabled it will expand into: + +void foo() { + { if(true) { + ... + } else if (false) { + ... + } else if (false) { + ... + } + } +} +*/ +//---------------------------------------------------------------------- + +#include +#include + +#if !(defined BOOST_NO_EXCEPTIONS) +# define BOOST_TRY { try +# define BOOST_CATCH(x) catch(x) +# define BOOST_RETHROW throw; +# define BOOST_CATCH_END } +#else +# if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +# define BOOST_TRY { if ("") +# define BOOST_CATCH(x) else if (!"") +# else +# define BOOST_TRY { if (true) +# define BOOST_CATCH(x) else if (false) +# endif +# define BOOST_RETHROW +# define BOOST_CATCH_END } +#endif + + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/none_t.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/none_t.hpp new file mode 100644 index 0000000..e48bd36 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/none_t.hpp @@ -0,0 +1,28 @@ +// Copyright (C) 2003, Fernando Luis Cacciola Carballal. +// +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/lib/optional for documentation. +// +// You are welcome to contact the author at: +// fernando_cacciola@hotmail.com +// +#ifndef BOOST_DETAIL_NONE_T_17SEP2003_HPP +#define BOOST_DETAIL_NONE_T_17SEP2003_HPP + +namespace boost { + +namespace detail { + +struct none_helper{}; + +typedef int none_helper::*none_t ; + +} // namespace detail + +} // namespace boost + +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/numeric_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/numeric_traits.hpp new file mode 100644 index 0000000..a44db9e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/numeric_traits.hpp @@ -0,0 +1,191 @@ +// (C) Copyright David Abrahams 2001, Howard Hinnant 2001. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// Template class numeric_traits -- +// +// Supplies: +// +// typedef difference_type -- a type used to represent the difference +// between any two values of Number. +// +// Support: +// 1. Not all specializations are supplied +// +// 2. Use of specializations that are not supplied will cause a +// compile-time error +// +// 3. Users are free to specialize numeric_traits for any type. +// +// 4. Right now, specializations are only supplied for integer types. +// +// 5. On implementations which do not supply compile-time constants in +// std::numeric_limits<>, only specializations for built-in integer types +// are supplied. +// +// 6. Handling of numbers whose range of representation is at least as +// great as boost::intmax_t can cause some differences to be +// unrepresentable in difference_type: +// +// Number difference_type +// ------ --------------- +// signed Number +// unsigned intmax_t +// +// template typename numeric_traits::difference_type +// numeric_distance(Number x, Number y) +// computes (y - x), attempting to avoid overflows. +// + +// See http://www.boost.org for most recent version including documentation. + +// Revision History +// 11 Feb 2001 - Use BOOST_STATIC_CONSTANT (David Abrahams) +// 11 Feb 2001 - Rolled back ineffective Borland-specific code +// (David Abrahams) +// 10 Feb 2001 - Rolled in supposed Borland fixes from John Maddock, but +// not seeing any improvement yet (David Abrahams) +// 06 Feb 2001 - Factored if_true out into boost/detail/select_type.hpp +// (David Abrahams) +// 23 Jan 2001 - Fixed logic of difference_type selection, which was +// completely wack. In the process, added digit_traits<> +// to compute the number of digits in intmax_t even when +// not supplied by numeric_limits<>. (David Abrahams) +// 21 Jan 2001 - Created (David Abrahams) + +#ifndef BOOST_NUMERIC_TRAITS_HPP_DWA20001901 +# define BOOST_NUMERIC_TRAITS_HPP_DWA20001901 + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace detail { + + // Template class is_signed -- determine whether a numeric type is signed + // Requires that T is constructable from the literals -1 and 0. Compile-time + // error results if that requirement is not met (and thus signedness is not + // likely to have meaning for that type). + template + struct is_signed + { +#if defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS) || defined(BOOST_MSVC) && BOOST_MSVC <= 1300 + BOOST_STATIC_CONSTANT(bool, value = (Number(-1) < Number(0))); +#else + BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits::is_signed); +#endif + }; + +# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + // digit_traits - compute the number of digits in a built-in integer + // type. Needed for implementations on which numeric_limits is not specialized + // for intmax_t (e.g. VC6). + template struct digit_traits_select; + + // numeric_limits is specialized; just select that version of digits + template <> struct digit_traits_select + { + template struct traits + { + BOOST_STATIC_CONSTANT(int, digits = std::numeric_limits::digits); + }; + }; + + // numeric_limits is not specialized; compute digits from sizeof(T) + template <> struct digit_traits_select + { + template struct traits + { + BOOST_STATIC_CONSTANT(int, digits = ( + sizeof(T) * std::numeric_limits::digits + - (is_signed::value ? 1 : 0)) + ); + }; + }; + + // here's the "usable" template + template struct digit_traits + { + typedef digit_traits_select< + ::std::numeric_limits::is_specialized> selector; + typedef typename selector::template traits traits; + BOOST_STATIC_CONSTANT(int, digits = traits::digits); + }; +#endif + + // Template class integer_traits -- traits of various integer types + // This should probably be rolled into boost::integer_traits one day, but I + // need it to work without + template + struct integer_traits + { +# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + private: + typedef Integer integer_type; + typedef std::numeric_limits x; +# if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 + // for some reason, MSVC asserts when it shouldn't unless we make these + // local definitions + BOOST_STATIC_CONSTANT(bool, is_integer = x::is_integer); + BOOST_STATIC_CONSTANT(bool, is_specialized = x::is_specialized); + + BOOST_STATIC_ASSERT(is_integer); + BOOST_STATIC_ASSERT(is_specialized); +# endif + public: + typedef typename + if_true<(int(x::is_signed) + && (!int(x::is_bounded) + // digits is the number of no-sign bits + || (int(x::digits) + 1 >= digit_traits::digits)))>::template then< + Integer, + + typename if_true<(int(x::digits) + 1 < digit_traits::digits)>::template then< + signed int, + + typename if_true<(int(x::digits) + 1 < digit_traits::digits)>::template then< + signed long, + + // else + intmax_t + >::type>::type>::type difference_type; +#else + BOOST_STATIC_ASSERT(boost::is_integral::value); + + typedef typename + if_true<(sizeof(Integer) >= sizeof(intmax_t))>::template then< + + typename if_true<(is_signed::value)>::template then< + Integer, + intmax_t + >::type, + + typename if_true<(sizeof(Integer) < sizeof(std::ptrdiff_t))>::template then< + std::ptrdiff_t, + intmax_t + >::type + >::type difference_type; +# endif + }; + + // Right now, only supports integers, but should be expanded. + template + struct numeric_traits + { + typedef typename integer_traits::difference_type difference_type; + }; + + template + typename numeric_traits::difference_type numeric_distance(Number x, Number y) + { + typedef typename numeric_traits::difference_type difference_type; + return difference_type(y) - difference_type(x); + } +}} + +#endif // BOOST_NUMERIC_TRAITS_HPP_DWA20001901 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_call_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_call_traits.hpp new file mode 100644 index 0000000..eaf9cbe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_call_traits.hpp @@ -0,0 +1,168 @@ +// (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/utility for most recent version including documentation. +// +// Crippled version for crippled compilers: +// see libs/utility/call_traits.htm +// + +/* Release notes: + 01st October 2000: + Fixed call_traits on VC6, using "poor man's partial specialisation", + using ideas taken from "Generative programming" by Krzysztof Czarnecki + & Ulrich Eisenecker. +*/ + +#ifndef BOOST_OB_CALL_TRAITS_HPP +#define BOOST_OB_CALL_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +#include +#endif + +#ifndef BOOST_ARITHMETIC_TYPE_TRAITS_HPP +#include +#endif +#ifndef BOOST_COMPOSITE_TYPE_TRAITS_HPP +#include +#endif + +namespace boost{ + +#ifdef BOOST_MSVC6_MEMBER_TEMPLATES +// +// use member templates to emulate +// partial specialisation: +// +namespace detail{ + +template +struct standard_call_traits +{ + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef const T& param_type; +}; +template +struct simple_call_traits +{ + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef const T param_type; +}; +template +struct reference_call_traits +{ + typedef T value_type; + typedef T reference; + typedef T const_reference; + typedef T param_type; +}; + +template +struct call_traits_chooser +{ + template + struct rebind + { + typedef standard_call_traits type; + }; +}; + +template <> +struct call_traits_chooser +{ + template + struct rebind + { + typedef simple_call_traits type; + }; +}; + +template <> +struct call_traits_chooser +{ + template + struct rebind + { + typedef reference_call_traits type; + }; +}; + +template +struct call_traits_sizeof_chooser2 +{ + template + struct small_rebind + { + typedef simple_call_traits small_type; + }; +}; + +template<> +struct call_traits_sizeof_chooser2 +{ + template + struct small_rebind + { + typedef standard_call_traits small_type; + }; +}; + +template <> +struct call_traits_chooser +{ + template + struct rebind + { + enum { sizeof_choice = (sizeof(T) <= sizeof(void*)) }; + typedef call_traits_sizeof_chooser2<(sizeof(T) <= sizeof(void*))> chooser; + typedef typename chooser::template small_rebind bound_type; + typedef typename bound_type::small_type type; + }; +}; + +} // namespace detail +template +struct call_traits +{ +private: + typedef detail::call_traits_chooser< + ::boost::is_pointer::value, + ::boost::is_arithmetic::value, + ::boost::is_reference::value + > chooser; + typedef typename chooser::template rebind bound_type; + typedef typename bound_type::type call_traits_type; +public: + typedef typename call_traits_type::value_type value_type; + typedef typename call_traits_type::reference reference; + typedef typename call_traits_type::const_reference const_reference; + typedef typename call_traits_type::param_type param_type; +}; + +#else +// +// sorry call_traits is completely non-functional +// blame your broken compiler: +// + +template +struct call_traits +{ + typedef T value_type; + typedef T& reference; + typedef const T& const_reference; + typedef const T& param_type; +}; + +#endif // member templates + +} + +#endif // BOOST_OB_CALL_TRAITS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_compressed_pair.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_compressed_pair.hpp new file mode 100644 index 0000000..51346f7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/ob_compressed_pair.hpp @@ -0,0 +1,510 @@ +// (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/utility for most recent version including documentation. +// see libs/utility/compressed_pair.hpp +// +/* Release notes: + 20 Jan 2001: + Fixed obvious bugs (David Abrahams) + 07 Oct 2000: + Added better single argument constructor support. + 03 Oct 2000: + Added VC6 support (JM). + 23rd July 2000: + Additional comments added. (JM) + Jan 2000: + Original version: this version crippled for use with crippled compilers + - John Maddock Jan 2000. +*/ + + +#ifndef BOOST_OB_COMPRESSED_PAIR_HPP +#define BOOST_OB_COMPRESSED_PAIR_HPP + +#include +#ifndef BOOST_OBJECT_TYPE_TRAITS_HPP +#include +#endif +#ifndef BOOST_SAME_TRAITS_HPP +#include +#endif +#ifndef BOOST_CALL_TRAITS_HPP +#include +#endif + +namespace boost +{ +#ifdef BOOST_MSVC6_MEMBER_TEMPLATES +// +// use member templates to emulate +// partial specialisation. Note that due to +// problems with overload resolution with VC6 +// each of the compressed_pair versions that follow +// have one template single-argument constructor +// in place of two specific constructors: +// + +template +class compressed_pair; + +namespace detail{ + +template +struct best_conversion_traits +{ + typedef char one; + typedef char (&two)[2]; + static A a; + static one test(T1); + static two test(T2); + + enum { value = sizeof(test(a)) }; +}; + +template +struct init_one; + +template <> +struct init_one<1> +{ + template + static void init(const A& a, T1* p1, T2*) + { + *p1 = a; + } +}; + +template <> +struct init_one<2> +{ + template + static void init(const A& a, T1*, T2* p2) + { + *p2 = a; + } +}; + + +// T1 != T2, both non-empty +template +class compressed_pair_0 +{ +private: + T1 _first; + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_0() : _first(), _second() {} + compressed_pair_0(first_param_type x, second_param_type y) : _first(x), _second(y) {} + template + explicit compressed_pair_0(const A& val) + { + init_one::value>::init(val, &_first, &_second); + } + compressed_pair_0(const ::boost::compressed_pair& x) + : _first(x.first()), _second(x.second()) {} + +#if 0 + compressed_pair_0& operator=(const compressed_pair_0& x) { + cout << "assigning compressed pair 0" << endl; + _first = x._first; + _second = x._second; + cout << "finished assigning compressed pair 0" << endl; + return *this; + } +#endif + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair_0& y) + { + using std::swap; + swap(_first, y._first); + swap(_second, y._second); + } +}; + +// T1 != T2, T2 empty +template +class compressed_pair_1 : T2 +{ +private: + T1 _first; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_1() : T2(), _first() {} + compressed_pair_1(first_param_type x, second_param_type y) : T2(y), _first(x) {} + + template + explicit compressed_pair_1(const A& val) + { + init_one::value>::init(val, &_first, static_cast(this)); + } + + compressed_pair_1(const ::boost::compressed_pair& x) + : T2(x.second()), _first(x.first()) {} + +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 + // Total weirdness. If the assignment to _first is moved after + // the call to the inherited operator=, then this breaks graph/test/graph.cpp + // by way of iterator_adaptor. + compressed_pair_1& operator=(const compressed_pair_1& x) { + _first = x._first; + T2::operator=(x); + return *this; + } +#endif + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return *this; } + second_const_reference second() const { return *this; } + + void swap(compressed_pair_1& y) + { + // no need to swap empty base class: + using std::swap; + swap(_first, y._first); + } +}; + +// T1 != T2, T1 empty +template +class compressed_pair_2 : T1 +{ +private: + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_2() : T1(), _second() {} + compressed_pair_2(first_param_type x, second_param_type y) : T1(x), _second(y) {} + template + explicit compressed_pair_2(const A& val) + { + init_one::value>::init(val, static_cast(this), &_second); + } + compressed_pair_2(const ::boost::compressed_pair& x) + : T1(x.first()), _second(x.second()) {} + +#if 0 + compressed_pair_2& operator=(const compressed_pair_2& x) { + cout << "assigning compressed pair 2" << endl; + T1::operator=(x); + _second = x._second; + cout << "finished assigning compressed pair 2" << endl; + return *this; + } +#endif + first_reference first() { return *this; } + first_const_reference first() const { return *this; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair_2& y) + { + // no need to swap empty base class: + using std::swap; + swap(_second, y._second); + } +}; + +// T1 != T2, both empty +template +class compressed_pair_3 : T1, T2 +{ +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_3() : T1(), T2() {} + compressed_pair_3(first_param_type x, second_param_type y) : T1(x), T2(y) {} + template + explicit compressed_pair_3(const A& val) + { + init_one::value>::init(val, static_cast(this), static_cast(this)); + } + compressed_pair_3(const ::boost::compressed_pair& x) + : T1(x.first()), T2(x.second()) {} + + first_reference first() { return *this; } + first_const_reference first() const { return *this; } + + second_reference second() { return *this; } + second_const_reference second() const { return *this; } + + void swap(compressed_pair_3& y) + { + // no need to swap empty base classes: + } +}; + +// T1 == T2, and empty +template +class compressed_pair_4 : T1 +{ +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_4() : T1() {} + compressed_pair_4(first_param_type x, second_param_type y) : T1(x), m_second(y) {} + // only one single argument constructor since T1 == T2 + explicit compressed_pair_4(first_param_type x) : T1(x), m_second(x) {} + compressed_pair_4(const ::boost::compressed_pair& x) + : T1(x.first()), m_second(x.second()) {} + + first_reference first() { return *this; } + first_const_reference first() const { return *this; } + + second_reference second() { return m_second; } + second_const_reference second() const { return m_second; } + + void swap(compressed_pair_4& y) + { + // no need to swap empty base classes: + } +private: + T2 m_second; +}; + +// T1 == T2, not empty +template +class compressed_pair_5 +{ +private: + T1 _first; + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair_5() : _first(), _second() {} + compressed_pair_5(first_param_type x, second_param_type y) : _first(x), _second(y) {} + // only one single argument constructor since T1 == T2 + explicit compressed_pair_5(first_param_type x) : _first(x), _second(x) {} + compressed_pair_5(const ::boost::compressed_pair& c) + : _first(c.first()), _second(c.second()) {} + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair_5& y) + { + using std::swap; + swap(_first, y._first); + swap(_second, y._second); + } +}; + +template +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_0 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_1 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_2 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_3 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_4 type; + }; +}; + +template <> +struct compressed_pair_chooser +{ + template + struct rebind + { + typedef compressed_pair_5 type; + }; +}; + +template +struct compressed_pair_traits +{ +private: + typedef compressed_pair_chooser::value, is_empty::value, is_same::value> chooser; + typedef typename chooser::template rebind bound_type; +public: + typedef typename bound_type::type type; +}; + +} // namespace detail + +template +class compressed_pair : public detail::compressed_pair_traits::type +{ +private: + typedef typename detail::compressed_pair_traits::type base_type; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : base_type() {} + compressed_pair(first_param_type x, second_param_type y) : base_type(x, y) {} + template + explicit compressed_pair(const A& x) : base_type(x){} + + first_reference first() { return base_type::first(); } + first_const_reference first() const { return base_type::first(); } + + second_reference second() { return base_type::second(); } + second_const_reference second() const { return base_type::second(); } +}; + +template +inline void swap(compressed_pair& x, compressed_pair& y) +{ + x.swap(y); +} + +#else +// no partial specialisation, no member templates: + +template +class compressed_pair +{ +private: + T1 _first; + T2 _second; +public: + typedef T1 first_type; + typedef T2 second_type; + typedef typename call_traits::param_type first_param_type; + typedef typename call_traits::param_type second_param_type; + typedef typename call_traits::reference first_reference; + typedef typename call_traits::reference second_reference; + typedef typename call_traits::const_reference first_const_reference; + typedef typename call_traits::const_reference second_const_reference; + + compressed_pair() : _first(), _second() {} + compressed_pair(first_param_type x, second_param_type y) : _first(x), _second(y) {} + explicit compressed_pair(first_param_type x) : _first(x), _second() {} + // can't define this in case T1 == T2: + // explicit compressed_pair(second_param_type y) : _first(), _second(y) {} + + first_reference first() { return _first; } + first_const_reference first() const { return _first; } + + second_reference second() { return _second; } + second_const_reference second() const { return _second; } + + void swap(compressed_pair& y) + { + using std::swap; + swap(_first, y._first); + swap(_second, y._second); + } +}; + +template +inline void swap(compressed_pair& x, compressed_pair& y) +{ + x.swap(y); +} + +#endif + +} // boost + +#endif // BOOST_OB_COMPRESSED_PAIR_HPP + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/quick_allocator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/quick_allocator.hpp new file mode 100644 index 0000000..70b1843 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/quick_allocator.hpp @@ -0,0 +1,23 @@ +#ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED +#define BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// detail/quick_allocator.hpp +// +// Copyright (c) 2003 David Abrahams +// Copyright (c) 2003 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// + +#include + +#endif // #ifndef BOOST_DETAIL_QUICK_ALLOCATOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/reference_content.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/reference_content.hpp new file mode 100644 index 0000000..eae9f04 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/reference_content.hpp @@ -0,0 +1,141 @@ +//----------------------------------------------------------------------------- +// boost detail/reference_content.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2003 +// Eric Friedman +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_DETAIL_REFERENCE_CONTENT_HPP +#define BOOST_DETAIL_REFERENCE_CONTENT_HPP + +#include "boost/config.hpp" + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include "boost/mpl/bool.hpp" +# include "boost/type_traits/has_nothrow_copy.hpp" +#else +# include "boost/mpl/if.hpp" +# include "boost/type_traits/is_reference.hpp" +#endif + +#include "boost/mpl/void.hpp" + +namespace boost { + +namespace detail { + +/////////////////////////////////////////////////////////////////////////////// +// (detail) class template reference_content +// +// Non-Assignable wrapper for references. +// +template +class reference_content +{ +private: // representation + + RefT content_; + +public: // structors + + ~reference_content() + { + } + + reference_content(RefT r) + : content_( r ) + { + } + + reference_content(const reference_content& operand) + : content_( operand.content_ ) + { + } + +private: // non-Assignable + + reference_content& operator=(const reference_content&); + +public: // queries + + RefT get() const + { + return content_; + } + +}; + +/////////////////////////////////////////////////////////////////////////////// +// (detail) metafunction make_reference_content +// +// Wraps with reference_content if specified type is reference. +// + +template struct make_reference_content; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template +struct make_reference_content +{ + typedef T type; +}; + +template +struct make_reference_content< T& > +{ + typedef reference_content type; +}; + +#else // defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template +struct make_reference_content + : mpl::if_< + is_reference + , reference_content + , T + > +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION workaround + +template <> +struct make_reference_content< mpl::void_ > +{ + template + struct apply + : make_reference_content + { + }; + + typedef mpl::void_ type; +}; + +} // namespace detail + +/////////////////////////////////////////////////////////////////////////////// +// reference_content type traits specializations +// + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template +struct has_nothrow_copy< + ::boost::detail::reference_content< T& > + > + : mpl::true_ +{ +}; + +#endif // !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +} // namespace boost + +#endif // BOOST_DETAIL_REFERENCE_CONTENT_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/scoped_enum_emulation.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/scoped_enum_emulation.hpp new file mode 100644 index 0000000..e5fe984 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/scoped_enum_emulation.hpp @@ -0,0 +1,56 @@ +// scoped_enum_emulation.hpp ---------------------------------------------------------// + +// Copyright Beman Dawes, 2009 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +// Generates C++0x scoped enums if the feature is present, otherwise emulates C++0x +// scoped enums with C++03 namespaces and enums. The Boost.Config BOOST_NO_SCOPED_ENUMS +// macro is used to detect feature support. +// +// See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf for a +// description of the scoped enum feature. Note that the committee changed the name +// from strongly typed enum to scoped enum. +// +// Caution: only the syntax is emulated; the semantics are not emulated and +// the syntax emulation doesn't include being able to specify the underlying +// representation type. +// +// The emulation is via struct rather than namespace to allow use within classes. +// Thanks to Andrey Semashev for pointing that out. +// +// Helpful comments and suggestions were also made by Kjell Elster, Phil Endecott, +// Joel Falcou, Mathias Gaunard, Felipe Magno de Almeida, Matt Calabrese, Vincente +// Botet, and Daniel James. +// +// Sample usage: +// +// BOOST_SCOPED_ENUM_START(algae) { green, red, cyan }; BOOST_SCOPED_ENUM_END +// ... +// BOOST_SCOPED_ENUM(algae) sample( algae::red ); +// void foo( BOOST_SCOPED_ENUM(algae) color ); +// ... +// sample = algae::green; +// foo( algae::cyan ); + +#ifndef BOOST_SCOPED_ENUM_EMULATION_HPP +#define BOOST_SCOPED_ENUM_EMULATION_HPP + +#include + +#ifdef BOOST_NO_SCOPED_ENUMS + +# define BOOST_SCOPED_ENUM_START(name) struct name { enum enum_t +# define BOOST_SCOPED_ENUM_END }; +# define BOOST_SCOPED_ENUM(name) name::enum_t + +#else + +# define BOOST_SCOPED_ENUM_START(name) enum class name +# define BOOST_SCOPED_ENUM_END +# define BOOST_SCOPED_ENUM(name) name + +#endif + +#endif // BOOST_SCOPED_ENUM_EMULATION_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/select_type.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/select_type.hpp new file mode 100644 index 0000000..01c9436 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/select_type.hpp @@ -0,0 +1,36 @@ +// (C) Copyright David Abrahams 2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org for most recent version including documentation. + +// Revision History +// 09 Feb 01 Applied John Maddock's Borland patch Moving +// specialization to unspecialized template (David Abrahams) +// 06 Feb 01 Created (David Abrahams) + +#ifndef SELECT_TYPE_DWA20010206_HPP +# define SELECT_TYPE_DWA20010206_HPP + +namespace boost { namespace detail { + + // Template class if_true -- select among 2 types based on a bool constant expression + // Usage: + // typename if_true<(bool_const_expression)>::template then::type + + // HP aCC cannot deal with missing names for template value parameters + template struct if_true + { + template + struct then { typedef T type; }; + }; + + template <> + struct if_true + { + template + struct then { typedef F type; }; + }; +}} +#endif // SELECT_TYPE_DWA20010206_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/sp_typeinfo.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/sp_typeinfo.hpp new file mode 100644 index 0000000..95318b8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/sp_typeinfo.hpp @@ -0,0 +1,129 @@ +#ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED +#define BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// detail/sp_typeinfo.hpp +// +// Copyright 2007 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#include + +#if defined( BOOST_NO_TYPEID ) + +#include +#include + +namespace boost +{ + +namespace detail +{ + +class sp_typeinfo +{ +private: + + sp_typeinfo( sp_typeinfo const& ); + sp_typeinfo& operator=( sp_typeinfo const& ); + + char const * name_; + +public: + + explicit sp_typeinfo( char const * name ): name_( name ) + { + } + + bool operator==( sp_typeinfo const& rhs ) const + { + return this == &rhs; + } + + bool operator!=( sp_typeinfo const& rhs ) const + { + return this != &rhs; + } + + bool before( sp_typeinfo const& rhs ) const + { + return std::less< sp_typeinfo const* >()( this, &rhs ); + } + + char const* name() const + { + return name_; + } +}; + +template struct sp_typeid_ +{ + static sp_typeinfo ti_; + + static char const * name() + { + return BOOST_CURRENT_FUNCTION; + } +}; + +template sp_typeinfo sp_typeid_< T >::ti_( sp_typeid_< T >::name() ); + +template struct sp_typeid_< T & >: sp_typeid_< T > +{ +}; + +template struct sp_typeid_< T const >: sp_typeid_< T > +{ +}; + +template struct sp_typeid_< T volatile >: sp_typeid_< T > +{ +}; + +template struct sp_typeid_< T const volatile >: sp_typeid_< T > +{ +}; + +} // namespace detail + +} // namespace boost + +#define BOOST_SP_TYPEID(T) (boost::detail::sp_typeid_::ti_) + +#else + +#include + +namespace boost +{ + +namespace detail +{ + +#if defined( BOOST_NO_STD_TYPEINFO ) + +typedef ::type_info sp_typeinfo; + +#else + +typedef std::type_info sp_typeinfo; + +#endif + +} // namespace detail + +} // namespace boost + +#define BOOST_SP_TYPEID(T) typeid(T) + +#endif + +#endif // #ifndef BOOST_DETAIL_SP_TYPEINFO_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/templated_streams.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/templated_streams.hpp new file mode 100644 index 0000000..a0527fe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/templated_streams.hpp @@ -0,0 +1,74 @@ +//----------------------------------------------------------------------------- +// boost detail/templated_streams.hpp header file +// See http://www.boost.org for updates, documentation, and revision history. +//----------------------------------------------------------------------------- +// +// Copyright (c) 2003 +// Eric Friedman +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_DETAIL_TEMPLATED_STREAMS_HPP +#define BOOST_DETAIL_TEMPLATED_STREAMS_HPP + +#include "boost/config.hpp" + +/////////////////////////////////////////////////////////////////////////////// +// (detail) BOOST_TEMPLATED_STREAM_* macros +// +// Provides workaround platforms without stream class templates. +// + +#if !defined(BOOST_NO_STD_LOCALE) + +#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) \ + template < typename E , typename T > + +#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) \ + template < typename E , typename T , typename A > + +#define BOOST_TEMPLATED_STREAM_ARGS(E,T) \ + typename E , typename T + +#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) \ + typename E , typename T , typename A + +#define BOOST_TEMPLATED_STREAM_COMMA , + +#define BOOST_TEMPLATED_STREAM_ELEM(E) E +#define BOOST_TEMPLATED_STREAM_TRAITS(T) T +#define BOOST_TEMPLATED_STREAM_ALLOC(A) A + +#define BOOST_TEMPLATED_STREAM(X,E,T) \ + BOOST_JOIN(std::basic_,X)< E , T > + +#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ + BOOST_JOIN(std::basic_,X)< E , T , A > + +#else // defined(BOOST_NO_STD_LOCALE) + +#define BOOST_TEMPLATED_STREAM_TEMPLATE(E,T) /**/ + +#define BOOST_TEMPLATED_STREAM_TEMPLATE_ALLOC(E,T,A) /**/ + +#define BOOST_TEMPLATED_STREAM_ARGS(E,T) /**/ + +#define BOOST_TEMPLATED_STREAM_ARGS_ALLOC(E,T,A) /**/ + +#define BOOST_TEMPLATED_STREAM_COMMA /**/ + +#define BOOST_TEMPLATED_STREAM_ELEM(E) char +#define BOOST_TEMPLATED_STREAM_TRAITS(T) std::char_traits +#define BOOST_TEMPLATED_STREAM_ALLOC(A) std::allocator + +#define BOOST_TEMPLATED_STREAM(X,E,T) \ + std::X + +#define BOOST_TEMPLATED_STREAM_WITH_ALLOC(X,E,T,A) \ + std::X + +#endif // BOOST_NO_STD_LOCALE + +#endif // BOOST_DETAIL_TEMPLATED_STREAMS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/utf8_codecvt_facet.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/utf8_codecvt_facet.hpp new file mode 100644 index 0000000..7be4c60 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/utf8_codecvt_facet.hpp @@ -0,0 +1,190 @@ +// Copyright (c) 2001 Ronald Garcia, Indiana University (garcia@osl.iu.edu) +// Andrew Lumsdaine, Indiana University (lums@osl.iu.edu). +// Distributed under the Boost Software License, Version 1.0. (See accompany- +// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_UTF8_CODECVT_FACET_HPP +#define BOOST_UTF8_CODECVT_FACET_HPP + +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 +// utf8_codecvt_facet.hpp + +// This header defines class utf8_codecvt_facet, derived fro +// std::codecvt, which can be used to convert utf8 data in +// files into wchar_t strings in the application. +// +// The header is NOT STANDALONE, and is not to be included by the USER. +// There are at least two libraries which want to use this functionality, and +// we want to avoid code duplication. It would be possible to create utf8 +// library, but: +// - this requires review process first +// - in the case, when linking the a library which uses utf8 +// (say 'program_options'), user should also link to the utf8 library. +// This seems inconvenient, and asking a user to link to an unrevieved +// library is strange. +// Until the above points are fixed, a library which wants to use utf8 must: +// - include this header from one of it's headers or sources +// - include the corresponding .cpp file from one of the sources +// - before including either file, the library must define +// - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used +// - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace +// - declaration. +// - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable' +// symbols. +// +// For example, program_options library might contain: +// #define BOOST_UTF8_BEGIN_NAMESPACE +// namespace boost { namespace program_options { +// #define BOOST_UTF8_END_NAMESPACE }} +// #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL +// #include "../../detail/utf8/utf8_codecvt.cpp" +// +// Essentially, each library will have its own copy of utf8 code, in +// different namespaces. + +// Note:(Robert Ramey). I have made the following alterations in the original +// code. +// a) Rendered utf8_codecvt with using templates +// b) Move longer functions outside class definition to prevent inlining +// and make code smaller +// c) added on a derived class to permit translation to/from current +// locale to utf8 + +// See http://www.boost.org for updates, documentation, and revision history. + +// archives stored as text - note these ar templated on the basic +// stream templates to accommodate wide (and other?) kind of characters +// +// note the fact that on libraries without wide characters, ostream is +// is not a specialization of basic_ostream which in fact is not defined +// in such cases. So we can't use basic_ostream but rather +// use two template parameters +// +// utf8_codecvt_facet +// This is an implementation of a std::codecvt facet for translating +// from UTF-8 externally to UCS-4. Note that this is not tied to +// any specific types in order to allow customization on platforms +// where wchar_t is not big enough. +// +// NOTES: The current implementation jumps through some unpleasant hoops in +// order to deal with signed character types. As a std::codecvt_base::result, +// it is necessary for the ExternType to be convertible to unsigned char. +// I chose not to tie the extern_type explicitly to char. But if any combination +// of types other than is used, then std::codecvt must be +// specialized on those types for this to work. + +#include +#include // for mbstate_t +#include // for std::size_t + +#include +#include + +#if defined(BOOST_NO_STDC_NAMESPACE) +namespace std { + using ::mbstate_t; + using ::size_t; +} +#endif + +#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) + #define BOOST_CODECVT_DO_LENGTH_CONST const +#else + #define BOOST_CODECVT_DO_LENGTH_CONST +#endif + +// maximum lenght of a multibyte string +#define MB_LENGTH_MAX 8 + +BOOST_UTF8_BEGIN_NAMESPACE + +struct BOOST_UTF8_DECL utf8_codecvt_facet : + public std::codecvt +{ +public: + explicit utf8_codecvt_facet(std::size_t no_locale_manage=0) + : std::codecvt(no_locale_manage) + {} +protected: + virtual std::codecvt_base::result do_in( + std::mbstate_t& state, + const char * from, + const char * from_end, + const char * & from_next, + wchar_t * to, + wchar_t * to_end, + wchar_t*& to_next + ) const; + + virtual std::codecvt_base::result do_out( + std::mbstate_t & state, const wchar_t * from, + const wchar_t * from_end, const wchar_t* & from_next, + char * to, char * to_end, char * & to_next + ) const; + + bool invalid_continuing_octet(unsigned char octet_1) const { + return (octet_1 < 0x80|| 0xbf< octet_1); + } + + bool invalid_leading_octet(unsigned char octet_1) const { + return (0x7f < octet_1 && octet_1 < 0xc0) || + (octet_1 > 0xfd); + } + + // continuing octets = octets except for the leading octet + static unsigned int get_cont_octet_count(unsigned char lead_octet) { + return get_octet_count(lead_octet) - 1; + } + + static unsigned int get_octet_count(unsigned char lead_octet); + + // How many "continuing octets" will be needed for this word + // == total octets - 1. + int get_cont_octet_out_count(wchar_t word) const ; + + virtual bool do_always_noconv() const throw() { return false; } + + // UTF-8 isn't really stateful since we rewind on partial conversions + virtual std::codecvt_base::result do_unshift( + std::mbstate_t&, + char * from, + char * /*to*/, + char * & next + ) const + { + next = from; + return ok; + } + + virtual int do_encoding() const throw() { + const int variable_byte_external_encoding=0; + return variable_byte_external_encoding; + } + + // How many char objects can I process to get <= max_limit + // wchar_t objects? + virtual int do_length( + BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, + const char * from, + const char * from_end, + std::size_t max_limit +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + ) const throw(); +#else + ) const; +#endif + + // Largest possible value do_length(state,from,from_end,1) could return. + virtual int do_max_length() const throw () { + return 6; // largest UTF-8 encoding of a UCS-4 character + } +}; + +BOOST_UTF8_END_NAMESPACE + +#endif // BOOST_UTF8_CODECVT_FACET_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/workaround.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/workaround.hpp new file mode 100644 index 0000000..87011de --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/detail/workaround.hpp @@ -0,0 +1,262 @@ +// Copyright David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef WORKAROUND_DWA2002126_HPP +# define WORKAROUND_DWA2002126_HPP + +// Compiler/library version workaround macro +// +// Usage: +// +// #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +// // workaround for eVC4 and VC6 +// ... // workaround code here +// #endif +// +// When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the +// first argument must be undefined or expand to a numeric +// value. The above expands to: +// +// (BOOST_MSVC) != 0 && (BOOST_MSVC) < 1300 +// +// When used for workarounds that apply to the latest known version +// and all earlier versions of a compiler, the following convention +// should be observed: +// +// #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) +// +// The version number in this case corresponds to the last version in +// which the workaround was known to have been required. When +// BOOST_DETECT_OUTDATED_WORKAROUNDS is not the defined, the macro +// BOOST_TESTED_AT(x) expands to "!= 0", which effectively activates +// the workaround for any version of the compiler. When +// BOOST_DETECT_OUTDATED_WORKAROUNDS is defined, a compiler warning or +// error will be issued if the compiler version exceeds the argument +// to BOOST_TESTED_AT(). This can be used to locate workarounds which +// may be obsoleted by newer versions. + +# ifndef BOOST_STRICT_CONFIG + +#include + +#ifndef __BORLANDC__ +#define __BORLANDC___WORKAROUND_GUARD 1 +#else +#define __BORLANDC___WORKAROUND_GUARD 0 +#endif +#ifndef __CODEGEARC__ +#define __CODEGEARC___WORKAROUND_GUARD 1 +#else +#define __CODEGEARC___WORKAROUND_GUARD 0 +#endif +#ifndef _MSC_VER +#define _MSC_VER_WORKAROUND_GUARD 1 +#else +#define _MSC_VER_WORKAROUND_GUARD 0 +#endif +#ifndef _MSC_FULL_VER +#define _MSC_FULL_VER_WORKAROUND_GUARD 1 +#else +#define _MSC_FULL_VER_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_MSVC +#define BOOST_MSVC_WORKAROUND_GUARD 1 +#else +#define BOOST_MSVC_WORKAROUND_GUARD 0 +#endif +#ifndef __GNUC__ +#define __GNUC___WORKAROUND_GUARD 1 +#else +#define __GNUC___WORKAROUND_GUARD 0 +#endif +#ifndef __GNUC_MINOR__ +#define __GNUC_MINOR___WORKAROUND_GUARD 1 +#else +#define __GNUC_MINOR___WORKAROUND_GUARD 0 +#endif +#ifndef __GNUC_PATCHLEVEL__ +#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 1 +#else +#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0 +#endif +#ifndef __IBMCPP__ +#define __IBMCPP___WORKAROUND_GUARD 1 +#else +#define __IBMCPP___WORKAROUND_GUARD 0 +#endif +#ifndef __SUNPRO_CC +#define __SUNPRO_CC_WORKAROUND_GUARD 1 +#else +#define __SUNPRO_CC_WORKAROUND_GUARD 0 +#endif +#ifndef __DECCXX_VER +#define __DECCXX_VER_WORKAROUND_GUARD 1 +#else +#define __DECCXX_VER_WORKAROUND_GUARD 0 +#endif +#ifndef __MWERKS__ +#define __MWERKS___WORKAROUND_GUARD 1 +#else +#define __MWERKS___WORKAROUND_GUARD 0 +#endif +#ifndef __EDG__ +#define __EDG___WORKAROUND_GUARD 1 +#else +#define __EDG___WORKAROUND_GUARD 0 +#endif +#ifndef __EDG_VERSION__ +#define __EDG_VERSION___WORKAROUND_GUARD 1 +#else +#define __EDG_VERSION___WORKAROUND_GUARD 0 +#endif +#ifndef __HP_aCC +#define __HP_aCC_WORKAROUND_GUARD 1 +#else +#define __HP_aCC_WORKAROUND_GUARD 0 +#endif +#ifndef __hpxstd98 +#define __hpxstd98_WORKAROUND_GUARD 1 +#else +#define __hpxstd98_WORKAROUND_GUARD 0 +#endif +#ifndef _CRAYC +#define _CRAYC_WORKAROUND_GUARD 1 +#else +#define _CRAYC_WORKAROUND_GUARD 0 +#endif +#ifndef __DMC__ +#define __DMC___WORKAROUND_GUARD 1 +#else +#define __DMC___WORKAROUND_GUARD 0 +#endif +#ifndef MPW_CPLUS +#define MPW_CPLUS_WORKAROUND_GUARD 1 +#else +#define MPW_CPLUS_WORKAROUND_GUARD 0 +#endif +#ifndef __COMO__ +#define __COMO___WORKAROUND_GUARD 1 +#else +#define __COMO___WORKAROUND_GUARD 0 +#endif +#ifndef __COMO_VERSION__ +#define __COMO_VERSION___WORKAROUND_GUARD 1 +#else +#define __COMO_VERSION___WORKAROUND_GUARD 0 +#endif +#ifndef __INTEL_COMPILER +#define __INTEL_COMPILER_WORKAROUND_GUARD 1 +#else +#define __INTEL_COMPILER_WORKAROUND_GUARD 0 +#endif +#ifndef __ICL +#define __ICL_WORKAROUND_GUARD 1 +#else +#define __ICL_WORKAROUND_GUARD 0 +#endif +#ifndef _COMPILER_VERSION +#define _COMPILER_VERSION_WORKAROUND_GUARD 1 +#else +#define _COMPILER_VERSION_WORKAROUND_GUARD 0 +#endif + +#ifndef _RWSTD_VER +#define _RWSTD_VER_WORKAROUND_GUARD 1 +#else +#define _RWSTD_VER_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_RWSTD_VER +#define BOOST_RWSTD_VER_WORKAROUND_GUARD 1 +#else +#define BOOST_RWSTD_VER_WORKAROUND_GUARD 0 +#endif +#ifndef __GLIBCPP__ +#define __GLIBCPP___WORKAROUND_GUARD 1 +#else +#define __GLIBCPP___WORKAROUND_GUARD 0 +#endif +#ifndef _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC +#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 1 +#else +#define _GLIBCXX_USE_C99_FP_MACROS_DYNAMIC_WORKAROUND_GUARD 0 +#endif +#ifndef __SGI_STL_PORT +#define __SGI_STL_PORT_WORKAROUND_GUARD 1 +#else +#define __SGI_STL_PORT_WORKAROUND_GUARD 0 +#endif +#ifndef _STLPORT_VERSION +#define _STLPORT_VERSION_WORKAROUND_GUARD 1 +#else +#define _STLPORT_VERSION_WORKAROUND_GUARD 0 +#endif +#ifndef __LIBCOMO_VERSION__ +#define __LIBCOMO_VERSION___WORKAROUND_GUARD 1 +#else +#define __LIBCOMO_VERSION___WORKAROUND_GUARD 0 +#endif +#ifndef _CPPLIB_VER +#define _CPPLIB_VER_WORKAROUND_GUARD 1 +#else +#define _CPPLIB_VER_WORKAROUND_GUARD 0 +#endif + +#ifndef BOOST_INTEL_CXX_VERSION +#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 1 +#else +#define BOOST_INTEL_CXX_VERSION_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_INTEL_WIN +#define BOOST_INTEL_WIN_WORKAROUND_GUARD 1 +#else +#define BOOST_INTEL_WIN_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_DINKUMWARE_STDLIB +#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 1 +#else +#define BOOST_DINKUMWARE_STDLIB_WORKAROUND_GUARD 0 +#endif +#ifndef BOOST_INTEL +#define BOOST_INTEL_WORKAROUND_GUARD 1 +#else +#define BOOST_INTEL_WORKAROUND_GUARD 0 +#endif +// Always define to zero, if it's used it'll be defined my MPL: +#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0 + +# define BOOST_WORKAROUND(symbol, test) \ + ((symbol ## _WORKAROUND_GUARD + 0 == 0) && \ + (symbol != 0) && (1 % (( (symbol test) ) + 1))) +// ^ ^ ^ ^ +// The extra level of parenthesis nesting above, along with the +// BOOST_OPEN_PAREN indirection below, is required to satisfy the +// broken preprocessor in MWCW 8.3 and earlier. +// +// The basic mechanism works as follows: +// (symbol test) + 1 => if (symbol test) then 2 else 1 +// 1 % ((symbol test) + 1) => if (symbol test) then 1 else 0 +// +// The complication with % is for cooperation with BOOST_TESTED_AT(). +// When "test" is BOOST_TESTED_AT(x) and +// BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, +// +// symbol test => if (symbol <= x) then 1 else -1 +// (symbol test) + 1 => if (symbol <= x) then 2 else 0 +// 1 % ((symbol test) + 1) => if (symbol <= x) then 1 else divide-by-zero +// + +# ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS +# define BOOST_OPEN_PAREN ( +# define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 +# else +# define BOOST_TESTED_AT(value) != ((value)-(value)) +# endif + +# else + +# define BOOST_WORKAROUND(symbol, test) 0 + +# endif + +#endif // WORKAROUND_DWA2002126_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/all.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/all.hpp new file mode 100644 index 0000000..aa7f676 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/all.hpp @@ -0,0 +1,36 @@ +//Copyright (c) 2006-2008 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_316FDA946C0D11DEA9CBAE5255D89593 +#define UUID_316FDA946C0D11DEA9CBAE5255D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef BOOST_NO_EXCEPTIONS +#include +#include +#endif + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/current_exception_cast.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/current_exception_cast.hpp new file mode 100644 index 0000000..bc7f97a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/current_exception_cast.hpp @@ -0,0 +1,43 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_7E83C166200811DE885E826156D89593 +#define UUID_7E83C166200811DE885E826156D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +namespace +boost + { + template + inline + E * + current_exception_cast() + { + try + { + throw; + } + catch( + E & e ) + { + return &e; + } + catch( + ...) + { + return 0; + } + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/attribute_noreturn.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/attribute_noreturn.hpp new file mode 100644 index 0000000..f397790 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/attribute_noreturn.hpp @@ -0,0 +1,17 @@ +//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_61531AB0680611DEADD5846855D89593 +#define UUID_61531AB0680611DEADD5846855D89593 + +#if defined(_MSC_VER) +#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn) +#elif defined(__GNUC__) +#define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn)) +#else +#define BOOST_ATTRIBUTE_NORETURN +#endif + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/error_info_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/error_info_impl.hpp new file mode 100644 index 0000000..063a957 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/error_info_impl.hpp @@ -0,0 +1,75 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_CE6983AC753411DDA764247956D89593 +#define UUID_CE6983AC753411DDA764247956D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include + +namespace +boost + { + namespace + exception_detail + { + class + error_info_base + { + public: + + virtual char const * tag_typeid_name() const = 0; + virtual std::string value_as_string() const = 0; + + protected: + + ~error_info_base() throw() + { + } + }; + } + + template + class + error_info: + public exception_detail::error_info_base + { + public: + + typedef T value_type; + + error_info( value_type const & value ); + ~error_info() throw(); + + value_type const & + value() const + { + return value_; + } + + value_type & + value() + { + return value_; + } + + private: + + char const * tag_typeid_name() const; + std::string value_as_string() const; + + value_type value_; + }; + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/exception_ptr.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/exception_ptr.hpp new file mode 100644 index 0000000..ec148f3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/exception_ptr.hpp @@ -0,0 +1,490 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_618474C2DE1511DEB74A388C56D89593 +#define UUID_618474C2DE1511DEB74A388C56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#ifdef BOOST_NO_EXCEPTIONS +#error This header requires exception handling to be enabled. +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +namespace +boost + { +#ifndef BOOST_NO_RTTI + typedef error_info original_exception_type; + + inline + std::string + to_string( original_exception_type const & x ) + { + return x.value()->name(); + } +#endif + + class exception_ptr; + exception_ptr current_exception(); + void rethrow_exception( exception_ptr const & ); + + class + exception_ptr + { + typedef bool exception_ptr::*unspecified_bool_type; + friend exception_ptr current_exception(); + friend void rethrow_exception( exception_ptr const & ); + + shared_ptr c_; + bool bad_alloc_; + + struct + bad_alloc_tag + { + }; + + explicit + exception_ptr( bad_alloc_tag ): + bad_alloc_(true) + { + } + + explicit + exception_ptr( shared_ptr const & c ): + c_(c), + bad_alloc_(false) + { + BOOST_ASSERT(c); + } + + void + rethrow() const + { + BOOST_ASSERT(*this); + if( bad_alloc_ ) + throw enable_current_exception(std::bad_alloc()); + else + c_->rethrow(); + } + + bool + empty() const + { + return !bad_alloc_ && !c_; + } + + public: + + exception_ptr(): + bad_alloc_(false) + { + } + + ~exception_ptr() throw() + { + } + + operator unspecified_bool_type() const + { + return empty() ? 0 : &exception_ptr::bad_alloc_; + } + + friend + bool + operator==( exception_ptr const & a, exception_ptr const & b ) + { + return a.c_==b.c_ && a.bad_alloc_==b.bad_alloc_; + } + + friend + bool + operator!=( exception_ptr const & a, exception_ptr const & b ) + { + return !(a==b); + } + }; + + class + unknown_exception: + public exception, + public std::exception, + public exception_detail::clone_base + { + public: + + unknown_exception() + { + } + + explicit + unknown_exception( std::exception const & e ) + { + add_original_type(e); + } + + explicit + unknown_exception( boost::exception const & e ): + boost::exception(e) + { + add_original_type(e); + } + + ~unknown_exception() throw() + { + } + + private: + + exception_detail::clone_base const * + clone() const + { + return new unknown_exception(*this); + } + + void + rethrow() const + { + throw*this; + } + + template + void + add_original_type( E const & e ) + { +#ifndef BOOST_NO_RTTI + (*this) << original_exception_type(&typeid(e)); +#endif + } + }; + + namespace + exception_detail + { + template + class + current_exception_std_exception_wrapper: + public T, + public boost::exception, + public clone_base + { + public: + + explicit + current_exception_std_exception_wrapper( T const & e1 ): + T(e1) + { + add_original_type(e1); + } + + current_exception_std_exception_wrapper( T const & e1, boost::exception const & e2 ): + T(e1), + boost::exception(e2) + { + add_original_type(e1); + } + + ~current_exception_std_exception_wrapper() throw() + { + } + + private: + + clone_base const * + clone() const + { + return new current_exception_std_exception_wrapper(*this); + } + + void + rethrow() const + { + throw *this; + } + + template + void + add_original_type( E const & e ) + { +#ifndef BOOST_NO_RTTI + (*this) << original_exception_type(&typeid(e)); +#endif + } + }; + +#ifdef BOOST_NO_RTTI + template + exception const * + get_boost_exception( T const * ) + { + try + { + throw; + } + catch( + exception & x ) + { + return &x; + } + catch(...) + { + return 0; + } + } +#else + template + exception const * + get_boost_exception( T const * x ) + { + return dynamic_cast(x); + } +#endif + + template + inline + shared_ptr + current_exception_std_exception( T const & e1 ) + { + if( boost::exception const * e2 = get_boost_exception(&e1) ) + return shared_ptr const>(new current_exception_std_exception_wrapper(e1,*e2)); + else + return shared_ptr const>(new current_exception_std_exception_wrapper(e1)); + } + + inline + shared_ptr + current_exception_unknown_exception() + { + return shared_ptr(new unknown_exception()); + } + + inline + shared_ptr + current_exception_unknown_boost_exception( boost::exception const & e ) + { + return shared_ptr(new unknown_exception(e)); + } + + inline + shared_ptr + current_exception_unknown_std_exception( std::exception const & e ) + { + if( boost::exception const * be = get_boost_exception(&e) ) + return current_exception_unknown_boost_exception(*be); + else + return shared_ptr(new unknown_exception(e)); + } + + inline + shared_ptr + current_exception_impl() + { + try + { + throw; + } + catch( + exception_detail::clone_base & e ) + { + return shared_ptr(e.clone()); + } + catch( + std::domain_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::invalid_argument & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::length_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::out_of_range & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::logic_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::range_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::overflow_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::underflow_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::ios_base::failure & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::runtime_error & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::bad_alloc & e ) + { + return exception_detail::current_exception_std_exception(e); + } +#ifndef BOOST_NO_TYPEID + catch( + std::bad_cast & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::bad_typeid & e ) + { + return exception_detail::current_exception_std_exception(e); + } +#endif + catch( + std::bad_exception & e ) + { + return exception_detail::current_exception_std_exception(e); + } + catch( + std::exception & e ) + { + return exception_detail::current_exception_unknown_std_exception(e); + } + catch( + boost::exception & e ) + { + return exception_detail::current_exception_unknown_boost_exception(e); + } + catch( + ... ) + { + return exception_detail::current_exception_unknown_exception(); + } + } + } + + inline + exception_ptr + current_exception() + { + try + { + return exception_ptr(exception_detail::current_exception_impl()); + } + catch( + std::bad_alloc & ) + { + } + catch( + ... ) + { + try + { + return exception_ptr(exception_detail::current_exception_std_exception(std::bad_exception())); + } + catch( + std::bad_alloc & ) + { + } + catch( + ... ) + { + BOOST_ASSERT(0); + } + } + return exception_ptr(exception_ptr::bad_alloc_tag()); + } + + template + inline + exception_ptr + copy_exception( T const & e ) + { + try + { + throw enable_current_exception(e); + } + catch( + ... ) + { + return current_exception(); + } + } + + inline + void + rethrow_exception( exception_ptr const & p ) + { + p.rethrow(); + } + + inline + std::string + diagnostic_information( exception_ptr const & p ) + { + if( p ) + try + { + rethrow_exception(p); + } + catch( + ... ) + { + return current_exception_diagnostic_information(); + } + return ""; + } + + inline + std::string + to_string( exception_ptr const & p ) + { + std::string s='\n'+diagnostic_information(p); + std::string padding(" "); + std::string r; + bool f=false; + for( std::string::const_iterator i=s.begin(),e=s.end(); i!=e; ++i ) + { + if( f ) + r+=padding; + char c=*i; + r+=c; + f=(c=='\n'); + } + return r; + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/is_output_streamable.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/is_output_streamable.hpp new file mode 100644 index 0000000..64b33bf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/is_output_streamable.hpp @@ -0,0 +1,47 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_898984B4076411DD973EDFA055D89593 +#define UUID_898984B4076411DD973EDFA055D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include + +namespace +boost + { + namespace + to_string_detail + { + template + char operator<<( std::basic_ostream &, T const & ); + + template + struct + is_output_streamable_impl + { + static std::basic_ostream & f(); + static T const & g(); + enum e { value=1!=(sizeof(f()< > + struct + is_output_streamable + { + enum e { value=to_string_detail::is_output_streamable_impl::value }; + }; + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/object_hex_dump.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/object_hex_dump.hpp new file mode 100644 index 0000000..da0ba9e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/object_hex_dump.hpp @@ -0,0 +1,50 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_6F463AC838DF11DDA3E6909F56D89593 +#define UUID_6F463AC838DF11DDA3E6909F56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include +#include +#include +#include + +namespace +boost + { + namespace + exception_detail + { + template + inline + std::string + object_hex_dump( T const & x, std::size_t max_size=16 ) + { + std::ostringstream s; + s << "type: " << type_name() << ", size: " << sizeof(T) << ", dump: "; + std::size_t n=sizeof(T)>max_size?max_size:sizeof(T); + s.fill('0'); + s.width(2); + unsigned char const * b=reinterpret_cast(&x); + s << std::setw(2) << std::hex << (unsigned int)*b; + for( unsigned char const * e=b+n; ++b!=e; ) + s << " " << std::setw(2) << std::hex << (unsigned int)*b; + return s.str(); + } + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/type_info.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/type_info.hpp new file mode 100644 index 0000000..d58a7c5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/detail/type_info.hpp @@ -0,0 +1,79 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_C3E1741C754311DDB2834CCA55D89593 +#define UUID_C3E1741C754311DDB2834CCA55D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include + +namespace +boost + { + template + inline + char const * + tag_type_name() + { +#ifdef BOOST_NO_TYPEID + return BOOST_CURRENT_FUNCTION; +#else + return typeid(T*).name(); +#endif + } + + template + inline + char const * + type_name() + { +#ifdef BOOST_NO_TYPEID + return BOOST_CURRENT_FUNCTION; +#else + return typeid(T).name(); +#endif + } + + namespace + exception_detail + { + struct + type_info_ + { + detail::sp_typeinfo const & type_; + + explicit + type_info_( detail::sp_typeinfo const & type ): + type_(type) + { + } + + friend + bool + operator<( type_info_ const & a, type_info_ const & b ) + { + return 0!=(a.type_.before(b.type_)); + } + }; + } + } + +#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T)) + +#ifndef BOOST_NO_RTTI +#define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x)) +#endif + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/diagnostic_information.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/diagnostic_information.hpp new file mode 100644 index 0000000..a46c266 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/diagnostic_information.hpp @@ -0,0 +1,182 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_0552D49838DD11DD90146B8956D89593 +#define UUID_0552D49838DD11DD90146B8956D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifndef BOOST_NO_EXCEPTIONS +#include +namespace +boost + { + namespace + exception_detail + { + std::string diagnostic_information_impl( boost::exception const *, std::exception const *, bool ); + } + + inline + std::string + current_exception_diagnostic_information() + { + boost::exception const * be=current_exception_cast(); + std::exception const * se=current_exception_cast(); + if( be || se ) + return exception_detail::diagnostic_information_impl(be,se,true); + else + return "No diagnostic information available."; + } + } +#endif + +namespace +boost + { + namespace + exception_detail + { + inline + exception const * + get_boost_exception( exception const * e ) + { + return e; + } + + inline + exception const * + get_boost_exception( ... ) + { + return 0; + } + + inline + std::exception const * + get_std_exception( std::exception const * e ) + { + return e; + } + + inline + std::exception const * + get_std_exception( ... ) + { + return 0; + } + + inline + char const * + get_diagnostic_information( exception const & x, char const * header ) + { + if( error_info_container * c=x.data_.get() ) +#ifndef BOOST_NO_EXCEPTIONS + try + { +#endif + return c->diagnostic_information(header); +#ifndef BOOST_NO_EXCEPTIONS + } + catch(...) + { + } +#endif + return 0; + } + + inline + std::string + diagnostic_information_impl( boost::exception const * be, std::exception const * se, bool with_what ) + { + if( !be && !se ) + return "Unknown exception."; +#ifndef BOOST_NO_RTTI + if( !be ) + be=dynamic_cast(se); + if( !se ) + se=dynamic_cast(be); +#endif + char const * wh=0; + if( with_what && se ) + { + wh=se->what(); + if( be && exception_detail::get_diagnostic_information(*be,0)==wh ) + return wh; + } + std::ostringstream tmp; + if( be ) + { + if( char const * const * f=get_error_info(*be) ) + { + tmp << *f; + if( int const * l=get_error_info(*be) ) + tmp << '(' << *l << "): "; + } + tmp << "Throw in function "; + if( char const * const * fn=get_error_info(*be) ) + tmp << *fn; + else + tmp << "(unknown)"; + tmp << '\n'; + } +#ifndef BOOST_NO_RTTI + tmp << std::string("Dynamic exception type: ") << + (be?BOOST_EXCEPTION_DYNAMIC_TYPEID(*be):BOOST_EXCEPTION_DYNAMIC_TYPEID(*se)).type_.name() << '\n'; +#endif + if( with_what && se ) + tmp << "std::exception::what: " << wh << '\n'; + if( be ) + if( char const * s=exception_detail::get_diagnostic_information(*be,tmp.str().c_str()) ) + if( *s ) + return s; + return tmp.str(); + } + } + + template + std::string + diagnostic_information( T const & e ) + { + return exception_detail::diagnostic_information_impl(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),true); + } + + inline + char const * + diagnostic_information_what( exception const & e ) throw() + { + char const * w=0; +#ifndef BOOST_NO_EXCEPTIONS + try + { +#endif + (void) exception_detail::diagnostic_information_impl(&e,0,false); + return exception_detail::get_diagnostic_information(e,0); +#ifndef BOOST_NO_EXCEPTIONS + } + catch( + ... ) + { + } +#endif + return w; + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_current_exception.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_current_exception.hpp new file mode 100644 index 0000000..886840b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_current_exception.hpp @@ -0,0 +1,6 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_error_info.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_error_info.hpp new file mode 100644 index 0000000..886840b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/enable_error_info.hpp @@ -0,0 +1,6 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_api_function.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_api_function.hpp new file mode 100644 index 0000000..7b6a9fe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_api_function.hpp @@ -0,0 +1,22 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_DDFBB4546C1211DEA4659E9055D89593 +#define UUID_DDFBB4546C1211DEA4659E9055D89593 + +#include "boost/exception/error_info.hpp" + +namespace +boost + { + //Usage hint: + //if( api_function(....)!=0 ) + // BOOST_THROW_EXCEPTION( + // failure() << + // errinfo_api_function("api_function") ); + typedef error_info errinfo_api_function; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_at_line.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_at_line.hpp new file mode 100644 index 0000000..cc422ce --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_at_line.hpp @@ -0,0 +1,18 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_E7255CE26C1211DE85800C9155D89593 +#define UUID_E7255CE26C1211DE85800C9155D89593 + +namespace +boost + { + template class error_info; + + //Use with parsing errors exceptions, for example in a XML file parser. + typedef error_info errinfo_at_line; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_errno.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_errno.hpp new file mode 100644 index 0000000..c1e6c97 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_errno.hpp @@ -0,0 +1,44 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_F0EE17BE6C1211DE87FF459155D89593 +#define UUID_F0EE17BE6C1211DE87FF459155D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include "boost/exception/info.hpp" +#include +#include + +namespace +boost + { + typedef error_info errinfo_errno; + + //Usage hint: + //if( c_function(....)!=0 ) + // BOOST_THROW_EXCEPTION( + // failure() << + // errinfo_errno(errno) << + // errinfo_api_function("c_function") ); + inline + std::string + to_string( errinfo_errno const & e ) + { + std::ostringstream tmp; + int v=e.value(); + tmp << v << ", \"" << strerror(v) << "\""; + return tmp.str(); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_handle.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_handle.hpp new file mode 100644 index 0000000..5b9673d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_handle.hpp @@ -0,0 +1,20 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_F79E6EE26C1211DEB26E929155D89593 +#define UUID_F79E6EE26C1211DEB26E929155D89593 + +#include + +namespace +boost + { + template class weak_ptr; + template class error_info; + + typedef error_info > errinfo_file_handle; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_name.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_name.hpp new file mode 100644 index 0000000..c6f1c9e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_name.hpp @@ -0,0 +1,26 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_FEE5120A6C1211DE94E8BC9155D89593 +#define UUID_FEE5120A6C1211DE94E8BC9155D89593 + +#include + +namespace +boost + { + template class error_info; + + //Usage hint: + //FILE * f=fopen(name,mode); + //if( !f ) + // BOOST_THROW_EXCEPTION( + // file_open_error() << + // errinfo_file_name(name) << + // errinfo_file_open_mode(mode) ); + typedef error_info errinfo_file_name; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_open_mode.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_open_mode.hpp new file mode 100644 index 0000000..c1bbaa1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_file_open_mode.hpp @@ -0,0 +1,26 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_056F1F266C1311DE8E74299255D89593 +#define UUID_056F1F266C1311DE8E74299255D89593 + +#include + +namespace +boost + { + template class error_info; + + //Usage hint: + //FILE * f=fopen(name,mode); + //if( !f ) + // BOOST_THROW_EXCEPTION( + // file_open_error() << + // errinfo_file_name(name) << + // errinfo_file_open_mode(mode) ); + typedef error_info errinfo_file_open_mode; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_nested_exception.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_nested_exception.hpp new file mode 100644 index 0000000..034d0cc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_nested_exception.hpp @@ -0,0 +1,17 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_45CC9A82B77511DEB330FC4956D89593 +#define UUID_45CC9A82B77511DEB330FC4956D89593 + +namespace +boost + { + template class error_info; + class exception_ptr; + typedef error_info errinfo_nested_exception; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_type_info_name.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_type_info_name.hpp new file mode 100644 index 0000000..dbd9abf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/errinfo_type_info_name.hpp @@ -0,0 +1,23 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_0E11109E6C1311DEB7EA649255D89593 +#define UUID_0E11109E6C1311DEB7EA649255D89593 + +#include + +namespace +boost + { + template class error_info; + + //Usage hint: + //BOOST_THROW_EXCEPTION( + // bad_type() << + // errinfo_type_info_name(typeid(x).name()) ); + typedef error_info errinfo_type_info_name; + } + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/error_info.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/error_info.hpp new file mode 100644 index 0000000..8f22b0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/error_info.hpp @@ -0,0 +1,6 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +namespace boost { template class error_info; } diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/exception.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/exception.hpp new file mode 100644 index 0000000..0f35873 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/exception.hpp @@ -0,0 +1,422 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_274DA366004E11DCB1DDFE2E56D89593 +#define UUID_274DA366004E11DCB1DDFE2E56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +namespace +boost + { + namespace + exception_detail + { + template + class + refcount_ptr + { + public: + + refcount_ptr(): + px_(0) + { + } + + ~refcount_ptr() + { + release(); + } + + refcount_ptr( refcount_ptr const & x ): + px_(x.px_) + { + add_ref(); + } + + refcount_ptr & + operator=( refcount_ptr const & x ) + { + adopt(x.px_); + return *this; + } + + void + adopt( T * px ) + { + release(); + px_=px; + add_ref(); + } + + T * + get() const + { + return px_; + } + + private: + + T * px_; + + void + add_ref() + { + if( px_ ) + px_->add_ref(); + } + + void + release() + { + if( px_ ) + px_->release(); + } + }; + } + + //////////////////////////////////////////////////////////////////////// + + template + class error_info; + + typedef error_info throw_function; + typedef error_info throw_file; + typedef error_info throw_line; + + template <> + class + error_info + { + public: + typedef char const * value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info + { + public: + typedef char const * value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template <> + class + error_info + { + public: + typedef int value_type; + value_type v_; + explicit + error_info( value_type v ): + v_(v) + { + } + }; + + template + E const & operator<<( E const &, error_info const & ); + + template + E const & operator<<( E const &, throw_function const & ); + + template + E const & operator<<( E const &, throw_file const & ); + + template + E const & operator<<( E const &, throw_line const & ); + + class exception; + + template + class shared_ptr; + + namespace + exception_detail + { + class error_info_base; + struct type_info_; + + struct + error_info_container + { + virtual char const * diagnostic_information( char const * ) const = 0; + virtual shared_ptr get( type_info_ const & ) const = 0; + virtual void set( shared_ptr const &, type_info_ const & ) = 0; + virtual void add_ref() const = 0; + virtual void release() const = 0; + + protected: + + ~error_info_container() throw() + { + } + }; + + template + struct get_info; + + template <> + struct get_info; + + template <> + struct get_info; + + template <> + struct get_info; + + char const * get_diagnostic_information( exception const &, char const * ); + } + + class + exception + { + protected: + + exception(): + throw_function_(0), + throw_file_(0), + throw_line_(-1) + { + } + +#ifdef __HP_aCC + //On HP aCC, this protected copy constructor prevents throwing boost::exception. + //On all other platforms, the same effect is achieved by the pure virtual destructor. + exception( exception const & x ) throw(): + data_(x.data_), + throw_function_(x.throw_function_), + throw_file_(x.throw_file_), + throw_line_(x.throw_line_) + { + } +#endif + + virtual ~exception() throw() +#ifndef __HP_aCC + = 0 //Workaround for HP aCC, =0 incorrectly leads to link errors. +#endif + ; + +#if defined(__MWERKS__) && __MWERKS__<=0x3207 + public: +#else + private: + + template + friend E const & operator<<( E const &, throw_function const & ); + + template + friend E const & operator<<( E const &, throw_file const & ); + + template + friend E const & operator<<( E const &, throw_line const & ); + + friend char const * exception_detail::get_diagnostic_information( exception const &, char const * ); + + template + friend E const & operator<<( E const &, error_info const & ); + + template + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; + friend struct exception_detail::get_info; +#endif + mutable exception_detail::refcount_ptr data_; + mutable char const * throw_function_; + mutable char const * throw_file_; + mutable int throw_line_; + }; + + inline + exception:: + ~exception() throw() + { + } + + template + E const & + operator<<( E const & x, throw_function const & y ) + { + x.throw_function_=y.v_; + return x; + } + + template + E const & + operator<<( E const & x, throw_file const & y ) + { + x.throw_file_=y.v_; + return x; + } + + template + E const & + operator<<( E const & x, throw_line const & y ) + { + x.throw_line_=y.v_; + return x; + } + + //////////////////////////////////////////////////////////////////////// + + namespace + exception_detail + { + template + struct + error_info_injector: + public T, + public exception + { + explicit + error_info_injector( T const & x ): + T(x) + { + } + + ~error_info_injector() throw() + { + } + }; + + struct large_size { char c[256]; }; + large_size dispatch( exception * ); + + struct small_size { }; + small_size dispatch( void * ); + + template + struct enable_error_info_helper; + + template + struct + enable_error_info_helper + { + typedef T type; + }; + + template + struct + enable_error_info_helper + { + typedef error_info_injector type; + }; + + template + struct + enable_error_info_return_type + { + typedef typename enable_error_info_helper::type type; + }; + } + + template + inline + typename + exception_detail::enable_error_info_return_type::type + enable_error_info( T const & x ) + { + typedef typename exception_detail::enable_error_info_return_type::type rt; + return rt(x); + } + + //////////////////////////////////////////////////////////////////////// + + namespace + exception_detail + { + class + clone_base + { + public: + + virtual clone_base const * clone() const = 0; + virtual void rethrow() const = 0; + + virtual + ~clone_base() throw() + { + } + }; + + inline + void + copy_boost_exception( exception * a, exception const * b ) + { + *a = *b; + } + + inline + void + copy_boost_exception( void *, void const * ) + { + } + + template + class + clone_impl: + public T, + public clone_base + { + public: + + explicit + clone_impl( T const & x ): + T(x) + { + copy_boost_exception(this,&x); + } + + ~clone_impl() throw() + { + } + + private: + + clone_base const * + clone() const + { + return new clone_impl(*this); + } + + void + rethrow() const + { + throw*this; + } + }; + } + + template + inline + exception_detail::clone_impl + enable_current_exception( T const & x ) + { + return exception_detail::clone_impl(x); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/get_error_info.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/get_error_info.hpp new file mode 100644 index 0000000..c3cf137 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/get_error_info.hpp @@ -0,0 +1,130 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_1A590226753311DD9E4CCF6156D89593 +#define UUID_1A590226753311DD9E4CCF6156D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include +#include + +namespace +boost + { + namespace + exception_detail + { + template + struct + get_info + { + static + typename ErrorInfo::value_type * + get( exception const & x ) + { + if( exception_detail::error_info_container * c=x.data_.get() ) + if( shared_ptr eib = c->get(BOOST_EXCEPTION_STATIC_TYPEID(ErrorInfo)) ) + { +#ifndef BOOST_NO_RTTI + BOOST_ASSERT( 0!=dynamic_cast(eib.get()) ); +#endif + ErrorInfo * w = static_cast(eib.get()); + return &w->value(); + } + return 0; + } + }; + + template <> + struct + get_info + { + static + char const * * + get( exception const & x ) + { + return x.throw_function_ ? &x.throw_function_ : 0; + } + }; + + template <> + struct + get_info + { + static + char const * * + get( exception const & x ) + { + return x.throw_file_ ? &x.throw_file_ : 0; + } + }; + + template <> + struct + get_info + { + static + int * + get( exception const & x ) + { + return x.throw_line_!=-1 ? &x.throw_line_ : 0; + } + }; + + template + struct + get_error_info_return_type + { + typedef R * type; + }; + + template + struct + get_error_info_return_type + { + typedef R const * type; + }; + } + +#ifdef BOOST_NO_RTTI + template + inline + typename ErrorInfo::value_type const * + get_error_info( boost::exception const & x ) + { + return exception_detail::get_info::get(x); + } + template + inline + typename ErrorInfo::value_type * + get_error_info( boost::exception & x ) + { + return exception_detail::get_info::get(x); + } +#else + template + inline + typename exception_detail::get_error_info_return_type::type + get_error_info( E & some_exception ) + { + if( exception const * x = dynamic_cast(&some_exception) ) + return exception_detail::get_info::get(*x); + else + return 0; + } +#endif + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info.hpp new file mode 100644 index 0000000..9a9408f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info.hpp @@ -0,0 +1,167 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_8D22C4CA9CC811DCAA9133D256D89593 +#define UUID_8D22C4CA9CC811DCAA9133D256D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include +#include +#include +#include + +namespace +boost + { + template + inline + typename enable_if,std::string>::type + to_string( error_info const & x ) + { + return to_string(x.value()); + } + + template + inline + error_info:: + error_info( value_type const & value ): + value_(value) + { + } + + template + inline + error_info:: + ~error_info() throw() + { + } + + template + inline + char const * + error_info:: + tag_typeid_name() const + { + return tag_type_name(); + } + + template + inline + std::string + error_info:: + value_as_string() const + { + return to_string_stub(*this); + } + + namespace + exception_detail + { + class + error_info_container_impl: + public error_info_container + { + public: + + error_info_container_impl(): + count_(0) + { + } + + ~error_info_container_impl() throw() + { + } + + void + set( shared_ptr const & x, type_info_ const & typeid_ ) + { + BOOST_ASSERT(x); + info_[typeid_] = x; + diagnostic_info_str_.clear(); + } + + shared_ptr + get( type_info_ const & ti ) const + { + error_info_map::const_iterator i=info_.find(ti); + if( info_.end()!=i ) + { + shared_ptr const & p = i->second; +#ifndef BOOST_NO_RTTI + BOOST_ASSERT( BOOST_EXCEPTION_DYNAMIC_TYPEID(*p).type_==ti.type_ ); +#endif + return p; + } + return shared_ptr(); + } + + char const * + diagnostic_information( char const * header ) const + { + if( header ) + { + BOOST_ASSERT(*header!=0); + std::ostringstream tmp; + tmp << header; + for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i ) + { + shared_ptr const & x = i->second; + tmp << '[' << x->tag_typeid_name() << "] = " << x->value_as_string() << '\n'; + } + tmp.str().swap(diagnostic_info_str_); + } + return diagnostic_info_str_.c_str(); + } + + private: + + friend class boost::exception; + + typedef std::map< type_info_, shared_ptr > error_info_map; + error_info_map info_; + mutable std::string diagnostic_info_str_; + mutable int count_; + + void + add_ref() const + { + ++count_; + } + + void + release() const + { + if( !--count_ ) + delete this; + } + }; + } + + template + inline + E const & + operator<<( E const & x, error_info const & v ) + { + typedef error_info error_info_tag_t; + shared_ptr p( new error_info_tag_t(v) ); + exception_detail::error_info_container * c=x.data_.get(); + if( !c ) + x.data_.adopt(c=new exception_detail::error_info_container_impl); + c->set(p,BOOST_EXCEPTION_STATIC_TYPEID(error_info_tag_t)); + return x; + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info_tuple.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info_tuple.hpp new file mode 100644 index 0000000..7a788ed --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/info_tuple.hpp @@ -0,0 +1,76 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_63EE924290FB11DC87BB856555D89593 +#define UUID_63EE924290FB11DC87BB856555D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include + +namespace +boost + { + template < + class E, + class Tag1,class T1, + class Tag2,class T2 > + inline + E const & + operator<<( + E const & x, + tuple< + error_info, + error_info > const & v ) + { + return x << v.template get<0>() << v.template get<1>(); + } + + template < + class E, + class Tag1,class T1, + class Tag2,class T2, + class Tag3,class T3 > + inline + E const & + operator<<( + E const & x, + tuple< + error_info, + error_info, + error_info > const & v ) + { + return x << v.template get<0>() << v.template get<1>() << v.template get<2>(); + } + + template < + class E, + class Tag1,class T1, + class Tag2,class T2, + class Tag3,class T3, + class Tag4,class T4 > + inline + E const & + operator<<( + E const & x, + tuple< + error_info, + error_info, + error_info, + error_info > const & v ) + { + return x << v.template get<0>() << v.template get<1>() << v.template get<2>() << v.template get<3>(); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string.hpp new file mode 100644 index 0000000..483aed9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string.hpp @@ -0,0 +1,83 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_7E48761AD92811DC9011477D56D89593 +#define UUID_7E48761AD92811DC9011477D56D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include + +namespace +boost + { + namespace + to_string_detail + { + template + typename disable_if,char>::type to_string( T const & ); + + template + struct has_to_string_impl; + + template + struct + has_to_string_impl + { + enum e { value=1 }; + }; + + template + struct + has_to_string_impl + { + static T const & f(); + enum e { value=1!=sizeof(to_string(f())) }; + }; + } + + template + inline + typename enable_if,std::string>::type + to_string( T const & x ) + { + std::ostringstream out; + out << x; + return out.str(); + } + + template + struct + has_to_string + { + enum e { value=to_string_detail::has_to_string_impl::value>::value }; + }; + + template + inline + std::string + to_string( std::pair const & x ) + { + return std::string("(") + to_string(x.first) + ',' + to_string(x.second) + ')'; + } + + inline + std::string + to_string( std::exception const & x ) + { + return x.what(); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string_stub.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string_stub.hpp new file mode 100644 index 0000000..0f8eb99 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/exception/to_string_stub.hpp @@ -0,0 +1,109 @@ +//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. + +//Distributed under the Boost Software License, Version 1.0. (See accompanying +//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef UUID_E788439ED9F011DCB181F25B55D89593 +#define UUID_E788439ED9F011DCB181F25B55D89593 +#if defined(__GNUC__) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma GCC system_header +#endif +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(push,1) +#endif + +#include +#include +#include + +namespace +boost + { + namespace + exception_detail + { + template + struct + to_string_dispatcher + { + template + static + std::string + convert( T const & x, Stub ) + { + return to_string(x); + } + }; + + template <> + struct + to_string_dispatcher + { + template + static + std::string + convert( T const & x, Stub s ) + { + return s(x); + } + + template + static + std::string + convert( T const & x, std::string s ) + { + return s; + } + + template + static + std::string + convert( T const & x, char const * s ) + { + BOOST_ASSERT(s!=0); + return s; + } + }; + + namespace + to_string_dispatch + { + template + inline + std::string + dispatch( T const & x, Stub s ) + { + return to_string_dispatcher::value>::convert(x,s); + } + } + + template + inline + std::string + string_stub_dump( T const & x ) + { + return "[ " + exception_detail::object_hex_dump(x) + " ]"; + } + } + + template + inline + std::string + to_string_stub( T const & x ) + { + return exception_detail::to_string_dispatch::dispatch(x,&exception_detail::string_stub_dump); + } + + template + inline + std::string + to_string_stub( T const & x, Stub s ) + { + return exception_detail::to_string_dispatch::dispatch(x,s); + } + } + +#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS) +#pragma warning(pop) +#endif +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem.hpp new file mode 100644 index 0000000..d89914a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem.hpp @@ -0,0 +1,20 @@ +// boost/filesystem/filesystem.hpp -----------------------------------------// + +// Copyright Beman Dawes 2005 + +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See library home page at http://www.boost.org/libs/filesystem + +//----------------------------------------------------------------------------// + +#ifndef BOOST_FILESYSTEM_FILESYSTEM_HPP +#define BOOST_FILESYSTEM_FILESYSTEM_HPP + +#include // includes path.hpp +#include + +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/config.hpp new file mode 100644 index 0000000..648f293 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/config.hpp @@ -0,0 +1,113 @@ +// boost/filesystem/config.hpp ---------------------------------------------// + +// Copyright Beman Dawes 2003 + +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See library home page at http://www.boost.org/libs/filesystem + +//----------------------------------------------------------------------------// + +#ifndef BOOST_FILESYSTEM_CONFIG_HPP +#define BOOST_FILESYSTEM_CONFIG_HPP + +#define BOOST_FILESYSTEM_I18N // aid users wishing to compile several versions + +// ability to change namespace aids path_table.cpp ------------------------// +#ifndef BOOST_FILESYSTEM_NAMESPACE +# define BOOST_FILESYSTEM_NAMESPACE filesystem +#endif + +// This header implements separate compilation features as described in +// http://www.boost.org/more/separate_compilation.html + +#include +#include + +// determine platform ------------------------------------------------------// + +// BOOST_CYGWIN_PATH implies BOOST_WINDOWS_PATH and BOOST_POSIX_API + +# if defined(BOOST_CYGWIN_PATH) +# if defined(BOOST_POSIX_PATH) +# error BOOST_POSIX_PATH is invalid when BOOST_CYGWIN_PATH is defined +# endif +# if defined(BOOST_WINDOWS_API) +# error BOOST_WINDOWS_API is invalid when BOOST_CYGWIN_PATH is defined +# endif +# define BOOST_WINDOWS_PATH +# define BOOST_POSIX_API +# endif + +// BOOST_POSIX_API or BOOST_WINDOWS_API specify which API to use + +# if defined( BOOST_WINDOWS_API ) && defined( BOOST_POSIX_API ) +# error both BOOST_WINDOWS_API and BOOST_POSIX_API are defined +# elif !defined( BOOST_WINDOWS_API ) && !defined( BOOST_POSIX_API ) +# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__) +# define BOOST_WINDOWS_API +# else +# define BOOST_POSIX_API +# endif +# endif + +// BOOST_WINDOWS_PATH enables Windows path syntax recognition + +# if !defined(BOOST_POSIX_PATH) && (defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)) +# define BOOST_WINDOWS_PATH +# endif + +// narrow support only for badly broken compilers or libraries -------------// + +# if defined(BOOST_NO_STD_WSTRING) || defined(BOOST_NO_SFINAE) || defined(BOOST_NO_STD_LOCALE) || BOOST_WORKAROUND(__BORLANDC__, <0x610) +# define BOOST_FILESYSTEM_NARROW_ONLY +# endif + +// enable dynamic linking on Windows ---------------------------------------// + +# if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)) && BOOST_WORKAROUND(__BORLANDC__, <0x610) && defined(__WIN32__) +# error Dynamic linking Boost.Filesystem does not work for Borland; use static linking instead +# endif + +#ifdef BOOST_HAS_DECLSPEC // defined in config system +// we need to import/export our code only if the user has specifically +// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost +// libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK +// if they want just this one to be dynamically liked: +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK) +// export if this is our own source, otherwise import: +#ifdef BOOST_FILESYSTEM_SOURCE +# define BOOST_FILESYSTEM_DECL __declspec(dllexport) +#else +# define BOOST_FILESYSTEM_DECL __declspec(dllimport) +#endif // BOOST_FILESYSTEM_SOURCE +#endif // DYN_LINK +#endif // BOOST_HAS_DECLSPEC +// +// if BOOST_FILESYSTEM_DECL isn't defined yet define it now: +#ifndef BOOST_FILESYSTEM_DECL +#define BOOST_FILESYSTEM_DECL +#endif + +// enable automatic library variant selection ------------------------------// + +#if !defined(BOOST_FILESYSTEM_SOURCE) && !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_FILESYSTEM_NO_LIB) +// +// Set the name of our library, this will get undef'ed by auto_link.hpp +// once it's done with it: +// +#define BOOST_LIB_NAME boost_filesystem +// +// If we're importing code from a dll, then tell auto_link.hpp about it: +// +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK) +# define BOOST_DYN_LINK +#endif +// +// And include the header that does the work: +// +#include +#endif // auto-linking disabled + +#endif // BOOST_FILESYSTEM_CONFIG_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/convenience.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/convenience.hpp new file mode 100644 index 0000000..6491c1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/convenience.hpp @@ -0,0 +1,306 @@ +// boost/filesystem/convenience.hpp ----------------------------------------// + +// Copyright Beman Dawes, 2002-2005 +// Copyright Vladimir Prus, 2002 +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See library home page at http://www.boost.org/libs/filesystem + +//----------------------------------------------------------------------------// + +#ifndef BOOST_FILESYSTEM_CONVENIENCE_HPP +#define BOOST_FILESYSTEM_CONVENIENCE_HPP + +#include +#include +#include +#include + +#include // must be the last #include + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY +# define BOOST_FS_FUNC(BOOST_FS_TYPE) \ + template typename boost::enable_if, \ + BOOST_FS_TYPE>::type +# define BOOST_FS_FUNC_STRING BOOST_FS_FUNC(typename Path::string_type) +# define BOOST_FS_TYPENAME typename +# else +# define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE + typedef boost::filesystem::path Path; +# define BOOST_FS_FUNC_STRING inline std::string +# define BOOST_FS_TYPENAME +# endif + +namespace boost +{ + namespace filesystem + { + + BOOST_FS_FUNC(bool) create_directories(const Path& ph) + { + if (ph.empty() || exists(ph)) + { + if ( !ph.empty() && !is_directory(ph) ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::create_directories", ph, + make_error_code( boost::system::posix::file_exists ) ) ); + return false; + } + + // First create branch, by calling ourself recursively + create_directories(ph.parent_path()); + // Now that parent's path exists, create the directory + create_directory(ph); + return true; + } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + + BOOST_FS_FUNC_STRING extension(const Path& ph) + { + typedef BOOST_FS_TYPENAME Path::string_type string_type; + string_type filename = ph.filename(); + + BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.'); + if (n != string_type::npos) + return filename.substr(n); + else + return string_type(); + } + + BOOST_FS_FUNC_STRING basename(const Path& ph) + { + typedef BOOST_FS_TYPENAME Path::string_type string_type; + string_type filename = ph.filename(); + BOOST_FS_TYPENAME string_type::size_type n = filename.rfind('.'); + return filename.substr(0, n); + } + + + BOOST_FS_FUNC(Path) change_extension( const Path & ph, + const BOOST_FS_TYPENAME Path::string_type & new_extension ) + { return ph.parent_path() / (basename(ph) + new_extension); } + +# endif + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + + // "do-the-right-thing" overloads ---------------------------------------// + + inline bool create_directories(const path& ph) + { return create_directories(ph); } + inline bool create_directories(const wpath& ph) + { return create_directories(ph); } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + inline std::string extension(const path& ph) + { return extension(ph); } + inline std::wstring extension(const wpath& ph) + { return extension(ph); } + + inline std::string basename(const path& ph) + { return basename( ph ); } + inline std::wstring basename(const wpath& ph) + { return basename( ph ); } + + inline path change_extension( const path & ph, const std::string& new_ex ) + { return change_extension( ph, new_ex ); } + inline wpath change_extension( const wpath & ph, const std::wstring& new_ex ) + { return change_extension( ph, new_ex ); } +# endif + +# endif + + + // basic_recursive_directory_iterator helpers --------------------------// + + namespace detail + { + template< class Path > + struct recur_dir_itr_imp + { + typedef basic_directory_iterator< Path > element_type; + std::stack< element_type, std::vector< element_type > > m_stack; + int m_level; + bool m_no_push; + bool m_no_throw; + + recur_dir_itr_imp() : m_level(0), m_no_push(false), m_no_throw(false) {} + }; + + } // namespace detail + + // basic_recursive_directory_iterator ----------------------------------// + + template< class Path > + class basic_recursive_directory_iterator + : public boost::iterator_facade< + basic_recursive_directory_iterator, + basic_directory_entry, + boost::single_pass_traversal_tag > + { + public: + typedef Path path_type; + + basic_recursive_directory_iterator(){} // creates the "end" iterator + + explicit basic_recursive_directory_iterator( const Path & dir_path ); + basic_recursive_directory_iterator( const Path & dir_path, + system::error_code & ec ); + + int level() const { return m_imp->m_level; } + + void pop(); + void no_push() + { + BOOST_ASSERT( m_imp.get() && "attempt to no_push() on end iterator" ); + m_imp->m_no_push = true; + } + + file_status status() const + { + BOOST_ASSERT( m_imp.get() + && "attempt to call status() on end recursive_iterator" ); + return m_imp->m_stack.top()->status(); + } + + file_status symlink_status() const + { + BOOST_ASSERT( m_imp.get() + && "attempt to call symlink_status() on end recursive_iterator" ); + return m_imp->m_stack.top()->symlink_status(); + } + + private: + + // shared_ptr provides shallow-copy semantics required for InputIterators. + // m_imp.get()==0 indicates the end iterator. + boost::shared_ptr< detail::recur_dir_itr_imp< Path > > m_imp; + + friend class boost::iterator_core_access; + + typename boost::iterator_facade< + basic_recursive_directory_iterator, + basic_directory_entry, + boost::single_pass_traversal_tag >::reference + dereference() const + { + BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" ); + return *m_imp->m_stack.top(); + } + + void increment(); + + bool equal( const basic_recursive_directory_iterator & rhs ) const + { return m_imp == rhs.m_imp; } + + }; + + typedef basic_recursive_directory_iterator recursive_directory_iterator; +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + typedef basic_recursive_directory_iterator wrecursive_directory_iterator; +# endif + + // basic_recursive_directory_iterator implementation -------------------// + + // constructors + template + basic_recursive_directory_iterator:: + basic_recursive_directory_iterator( const Path & dir_path ) + : m_imp( new detail::recur_dir_itr_imp ) + { + m_imp->m_stack.push( basic_directory_iterator( dir_path ) ); + if ( m_imp->m_stack.top () == basic_directory_iterator() ) + { m_imp.reset (); } + } + + template + basic_recursive_directory_iterator:: + basic_recursive_directory_iterator( const Path & dir_path, + system::error_code & ec ) + : m_imp( new detail::recur_dir_itr_imp ) + { + m_imp->m_no_throw = true; + m_imp->m_stack.push( basic_directory_iterator( dir_path, ec ) ); + if ( m_imp->m_stack.top () == basic_directory_iterator() ) + { m_imp.reset (); } + } + + // increment + template + void basic_recursive_directory_iterator::increment() + { + BOOST_ASSERT( m_imp.get() && "increment on end iterator" ); + + static const basic_directory_iterator end_itr; + + if ( m_imp->m_no_push ) + { m_imp->m_no_push = false; } + else if ( is_directory( m_imp->m_stack.top()->status() ) ) + { + system::error_code ec; +#if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610)) + if( m_imp->m_no_throw ) { + m_imp->m_stack.push( + basic_directory_iterator( *m_imp->m_stack.top(), ec ) + ); + } + else { + m_imp->m_stack.push( + basic_directory_iterator( *m_imp->m_stack.top() ) + ); + } +#else + m_imp->m_stack.push( + m_imp->m_no_throw + ? basic_directory_iterator( *m_imp->m_stack.top(), ec ) + : basic_directory_iterator( *m_imp->m_stack.top() ) ); +#endif + if ( m_imp->m_stack.top() != end_itr ) + { + ++m_imp->m_level; + return; + } + m_imp->m_stack.pop(); + } + + while ( !m_imp->m_stack.empty() + && ++m_imp->m_stack.top() == end_itr ) + { + m_imp->m_stack.pop(); + --m_imp->m_level; + } + + if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator + } + + // pop + template + void basic_recursive_directory_iterator::pop() + { + BOOST_ASSERT( m_imp.get() && "pop on end iterator" ); + BOOST_ASSERT( m_imp->m_level > 0 && "pop with level < 1" ); + + static const basic_directory_iterator end_itr; + + do + { + m_imp->m_stack.pop(); + --m_imp->m_level; + } + while ( !m_imp->m_stack.empty() + && ++m_imp->m_stack.top() == end_itr ); + + if ( m_imp->m_stack.empty() ) m_imp.reset(); // done, so make end iterator + } + + } // namespace filesystem +} // namespace boost + +#undef BOOST_FS_FUNC_STRING +#undef BOOST_FS_FUNC + +#include // pops abi_prefix.hpp pragmas +#endif // BOOST_FILESYSTEM_CONVENIENCE_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/exception.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/exception.hpp new file mode 100644 index 0000000..0d7d383 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/exception.hpp @@ -0,0 +1,9 @@ +// boost/filesystem/exception.hpp -------------------------------------------// + +// Copyright Beman Dawes 2003 +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// This header is no long used. The contents have been moved to path.hpp. +// It is provided so that user code #includes do not have to be changed. diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/fstream.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/fstream.hpp new file mode 100644 index 0000000..642f733 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/fstream.hpp @@ -0,0 +1,584 @@ +// boost/filesystem/fstream.hpp --------------------------------------------// + +// Copyright Beman Dawes 2002. +// Use, modification, and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See library home page at http://www.boost.org/libs/filesystem + +//----------------------------------------------------------------------------// + +#ifndef BOOST_FILESYSTEM_FSTREAM_HPP +#define BOOST_FILESYSTEM_FSTREAM_HPP + +#include // for 8.3 hack (see below) +#include +#include + +#include +#include + +#include // must be the last #include + +// NOTE: fstream.hpp for Boost 1.32.0 and earlier supplied workarounds for +// various compiler problems. They have been removed to ease development of the +// basic i18n functionality. Once the new interface is stable, the workarounds +// will be reinstated for any compilers that otherwise can support the rest of +// the library after internationalization. + +namespace boost +{ + namespace filesystem + { + namespace detail + { +# if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_NARROW_ONLY) +# if !defined(BOOST_DINKUMWARE_STDLIB) || BOOST_DINKUMWARE_STDLIB < 405 + // The 8.3 hack: + // C++98 does not supply a wchar_t open, so try to get an equivalent + // narrow char name based on the short, so-called 8.3, name. + // Not needed for Dinkumware 405 and later as they do supply wchar_t open. + BOOST_FILESYSTEM_DECL bool create_file_api( const std::wstring & ph, + std::ios_base::openmode mode ); // true if succeeds + BOOST_FILESYSTEM_DECL std::string narrow_path_api( + const std::wstring & ph ); // return is empty if fails + + inline std::string path_proxy( const std::wstring & file_ph, + std::ios_base::openmode mode ) + // Return a non-existant path if cannot supply narrow short path. + // An empty path doesn't work because some Dinkumware versions + // assert the path is non-empty. + { + std::string narrow_ph; + bool created_file( false ); + if ( !exists( file_ph ) + && (mode & std::ios_base::out) != 0 + && create_file_api( file_ph, mode ) ) + { + created_file = true; + } + narrow_ph = narrow_path_api( file_ph ); + if ( narrow_ph.empty() ) + { + if ( created_file ) remove_api( file_ph ); + narrow_ph = "\x01"; + } + return narrow_ph; + } +# else + // Dinkumware 405 and later does supply wchar_t functions + inline const std::wstring & path_proxy( const std::wstring & file_ph, + std::ios_base::openmode ) + { return file_ph; } +# endif +# endif + + inline const std::string & path_proxy( const std::string & file_ph, + std::ios_base::openmode ) + { return file_ph; } + + } // namespace detail + + template < class charT, class traits = std::char_traits > + class basic_filebuf : public std::basic_filebuf + { + private: // disallow copying + basic_filebuf( const basic_filebuf & ); + const basic_filebuf & operator=( const basic_filebuf & ); + public: + basic_filebuf() {} + virtual ~basic_filebuf() {} + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + template + typename boost::enable_if, + basic_filebuf *>::type + open( const Path & file_ph, std::ios_base::openmode mode ); + + basic_filebuf * + open( const wpath & file_ph, std::ios_base::openmode mode ); +# endif + +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + basic_filebuf * + open( const path & file_ph, std::ios_base::openmode mode ); +# endif + }; + + template < class charT, class traits = std::char_traits > + class basic_ifstream : public std::basic_ifstream + { + private: // disallow copying + basic_ifstream( const basic_ifstream & ); + const basic_ifstream & operator=( const basic_ifstream & ); + public: + basic_ifstream() {} + + // use two signatures, rather than one signature with default second + // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416) + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + template + explicit basic_ifstream( const Path & file_ph, + typename boost::enable_if >::type* dummy = 0 ); + + template + basic_ifstream( const Path & file_ph, std::ios_base::openmode mode, + typename boost::enable_if >::type* dummy = 0 ); + + template + typename boost::enable_if, void>::type + open( const Path & file_ph ); + + template + typename boost::enable_if, void>::type + open( const Path & file_ph, std::ios_base::openmode mode ); + + explicit basic_ifstream( const wpath & file_ph ); + basic_ifstream( const wpath & file_ph, std::ios_base::openmode mode ); + void open( const wpath & file_ph ); + void open( const wpath & file_ph, std::ios_base::openmode mode ); +# endif + + explicit basic_ifstream( const path & file_ph ); + basic_ifstream( const path & file_ph, std::ios_base::openmode mode ); +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + void open( const path & file_ph ); + void open( const path & file_ph, std::ios_base::openmode mode ); +# endif + virtual ~basic_ifstream() {} + }; + + template < class charT, class traits = std::char_traits > + class basic_ofstream : public std::basic_ofstream + { + private: // disallow copying + basic_ofstream( const basic_ofstream & ); + const basic_ofstream & operator=( const basic_ofstream & ); + public: + basic_ofstream() {} + + // use two signatures, rather than one signature with default second + // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416) + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + + template + explicit basic_ofstream( const Path & file_ph, + typename boost::enable_if >::type* dummy = 0 ); + explicit basic_ofstream( const wpath & file_ph ); + + template + basic_ofstream( const Path & file_ph, std::ios_base::openmode mode, + typename boost::enable_if >::type* dummy = 0 ); + basic_ofstream( const wpath & file_ph, std::ios_base::openmode mode ); + + template + typename boost::enable_if, void>::type + open( const Path & file_ph ); + void open( const wpath & file_ph ); + + template + typename boost::enable_if, void>::type + open( const Path & file_ph, std::ios_base::openmode mode ); + void open( const wpath & file_ph, std::ios_base::openmode mode ); + +# endif + + explicit basic_ofstream( const path & file_ph ); + basic_ofstream( const path & file_ph, std::ios_base::openmode mode ); +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + void open( const path & file_ph ); + void open( const path & file_ph, std::ios_base::openmode mode ); +# endif + virtual ~basic_ofstream() {} + }; + + template < class charT, class traits = std::char_traits > + class basic_fstream : public std::basic_fstream + { + private: // disallow copying + basic_fstream( const basic_fstream & ); + const basic_fstream & operator=( const basic_fstream & ); + public: + basic_fstream() {} + + // use two signatures, rather than one signature with default second + // argument, to workaround VC++ 7.1 bug (ID VSWhidbey 38416) + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + + template + explicit basic_fstream( const Path & file_ph, + typename boost::enable_if >::type* dummy = 0 ); + explicit basic_fstream( const wpath & file_ph ); + + template + basic_fstream( const Path & file_ph, std::ios_base::openmode mode, + typename boost::enable_if >::type* dummy = 0 ); + basic_fstream( const wpath & file_ph, std::ios_base::openmode mode ); + + template + typename boost::enable_if, void>::type + open( const Path & file_ph ); + void open( const wpath & file_ph ); + + template + typename boost::enable_if, void>::type + open( const Path & file_ph, std::ios_base::openmode mode ); + void open( const wpath & file_ph, std::ios_base::openmode mode ); + +# endif + + explicit basic_fstream( const path & file_ph ); + basic_fstream( const path & file_ph, std::ios_base::openmode mode ); +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + void open( const path & file_ph ); + void open( const path & file_ph, std::ios_base::openmode mode ); +# endif + virtual ~basic_fstream() {} + + }; + + typedef basic_filebuf filebuf; + typedef basic_ifstream ifstream; + typedef basic_ofstream ofstream; + typedef basic_fstream fstream; + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + typedef basic_filebuf wfilebuf; + typedef basic_ifstream wifstream; + typedef basic_fstream wfstream; + typedef basic_ofstream wofstream; +# endif + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + +// basic_filebuf definitions -----------------------------------------------// + + template + template + typename boost::enable_if, + basic_filebuf *>::type + basic_filebuf::open( const Path & file_ph, + std::ios_base::openmode mode ) + { + return (std::basic_filebuf::open( detail::path_proxy( + file_ph.external_file_string(), mode ).c_str(), mode ) + == 0) ? 0 : this; + } + + template + basic_filebuf * + basic_filebuf::open( const wpath & file_ph, + std::ios_base::openmode mode ) + { + return this->BOOST_NESTED_TEMPLATE open( file_ph, mode ); + } + +// basic_ifstream definitions ----------------------------------------------// + + template template + basic_ifstream::basic_ifstream(const Path & file_ph, + typename boost::enable_if >::type* ) + : std::basic_ifstream( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in ).c_str(), std::ios_base::in ) {} + + template + basic_ifstream::basic_ifstream( const wpath & file_ph ) + : std::basic_ifstream( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in ).c_str(), std::ios_base::in ) {} + + template template + basic_ifstream::basic_ifstream( const Path & file_ph, + std::ios_base::openmode mode, + typename boost::enable_if >::type* ) + : std::basic_ifstream( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in ) {} + + template + basic_ifstream::basic_ifstream( const wpath & file_ph, + std::ios_base::openmode mode ) + : std::basic_ifstream( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in ) {} + + template template + typename boost::enable_if, void>::type + basic_ifstream::open( const Path & file_ph ) + { + std::basic_ifstream::open( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in ).c_str(), std::ios_base::in ); + } + + template + void basic_ifstream::open( const wpath & file_ph ) + { + std::basic_ifstream::open( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in ).c_str(), std::ios_base::in ); + } + + template template + typename boost::enable_if, void>::type + basic_ifstream::open( const Path & file_ph, + std::ios_base::openmode mode ) + { + std::basic_ifstream::open( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in ); + } + + template + void basic_ifstream::open( const wpath & file_ph, + std::ios_base::openmode mode ) + { + std::basic_ifstream::open( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in ); + } + +// basic_ofstream definitions ----------------------------------------------// + + template template + basic_ofstream::basic_ofstream(const Path & file_ph, + typename boost::enable_if >::type* ) + : std::basic_ofstream( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::out ).c_str(), std::ios_base::out ) {} + + template + basic_ofstream::basic_ofstream( const wpath & file_ph ) + : std::basic_ofstream( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::out ).c_str(), std::ios_base::out ) {} + + template template + basic_ofstream::basic_ofstream( const Path & file_ph, + std::ios_base::openmode mode, + typename boost::enable_if >::type* ) + : std::basic_ofstream( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::out ) {} + + template + basic_ofstream::basic_ofstream( const wpath & file_ph, + std::ios_base::openmode mode ) + : std::basic_ofstream( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::out ) {} + + template template + typename boost::enable_if, void>::type + basic_ofstream::open( const Path & file_ph ) + { + std::basic_ofstream::open( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::out ).c_str(), std::ios_base::out ); + } + + template + void basic_ofstream::open( const wpath & file_ph ) + { + std::basic_ofstream::open( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::out ).c_str(), std::ios_base::out ); + } + + template template + typename boost::enable_if, void>::type + basic_ofstream::open( const Path & file_ph, + std::ios_base::openmode mode ) + { + std::basic_ofstream::open( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::out ); + } + + template + void basic_ofstream::open( const wpath & file_ph, + std::ios_base::openmode mode ) + { + std::basic_ofstream::open( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::out ); + } + +// basic_fstream definitions -----------------------------------------------// + + template template + basic_fstream::basic_fstream(const Path & file_ph, + typename boost::enable_if >::type* ) + : std::basic_fstream( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in|std::ios_base::out ).c_str(), + std::ios_base::in|std::ios_base::out ) {} + + template + basic_fstream::basic_fstream( const wpath & file_ph ) + : std::basic_fstream( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in|std::ios_base::out ).c_str(), + std::ios_base::in|std::ios_base::out ) {} + + template template + basic_fstream::basic_fstream( const Path & file_ph, + std::ios_base::openmode mode, + typename boost::enable_if >::type* ) + : std::basic_fstream( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ) {} + + template + basic_fstream::basic_fstream( const wpath & file_ph, + std::ios_base::openmode mode ) + : std::basic_fstream( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ) {} + + template template + typename boost::enable_if, void>::type + basic_fstream::open( const Path & file_ph ) + { + std::basic_fstream::open( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in|std::ios_base::out ).c_str(), + std::ios_base::in|std::ios_base::out ); + } + + template + void basic_fstream::open( const wpath & file_ph ) + { + std::basic_fstream::open( + detail::path_proxy( file_ph.external_file_string(), + std::ios_base::in|std::ios_base::out ).c_str(), + std::ios_base::in|std::ios_base::out ); + } + + template template + typename boost::enable_if, void>::type + basic_fstream::open( const Path & file_ph, + std::ios_base::openmode mode ) + { + std::basic_fstream::open( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ); + } + + template + void basic_fstream::open( const wpath & file_ph, + std::ios_base::openmode mode ) + { + std::basic_fstream::open( + detail::path_proxy( file_ph.external_file_string(), + mode ).c_str(), mode | std::ios_base::in | std::ios_base::out ); + } + +# endif + +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + template + basic_filebuf * + basic_filebuf::open( const path & file_ph, + std::ios_base::openmode mode ) + { + return std::basic_filebuf::open( + file_ph.file_string().c_str(), mode ) == 0 ? 0 : this; + } +# endif + + template + basic_ifstream::basic_ifstream( const path & file_ph ) + : std::basic_ifstream( + file_ph.file_string().c_str(), std::ios_base::in ) {} + + template + basic_ifstream::basic_ifstream( const path & file_ph, + std::ios_base::openmode mode ) + : std::basic_ifstream( + file_ph.file_string().c_str(), mode ) {} + +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + template + void basic_ifstream::open( const path & file_ph ) + { + std::basic_ifstream::open( + file_ph.file_string().c_str(), std::ios_base::in ); + } + + template + void basic_ifstream::open( const path & file_ph, + std::ios_base::openmode mode ) + { + std::basic_ifstream::open( + file_ph.file_string().c_str(), mode ); + } +# endif + + template + basic_ofstream::basic_ofstream( const path & file_ph ) + : std::basic_ofstream( + file_ph.file_string().c_str(), std::ios_base::out ) {} + + template + basic_ofstream::basic_ofstream( const path & file_ph, + std::ios_base::openmode mode ) + : std::basic_ofstream( + file_ph.file_string().c_str(), mode ) {} + +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + template + void basic_ofstream::open( const path & file_ph ) + { + std::basic_ofstream::open( + file_ph.file_string().c_str(), std::ios_base::out ); + } + + template + void basic_ofstream::open( const path & file_ph, + std::ios_base::openmode mode ) + { + std::basic_ofstream::open( + file_ph.file_string().c_str(), mode ); + } +# endif + + template + basic_fstream::basic_fstream( const path & file_ph ) + : std::basic_fstream( + file_ph.file_string().c_str(), + std::ios_base::in|std::ios_base::out ) {} + + + template + basic_fstream::basic_fstream( const path & file_ph, + std::ios_base::openmode mode ) + : std::basic_fstream( + file_ph.file_string().c_str(), mode ) {} + +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1200 ) // VC++ 6.0 can't handle this + template + void basic_fstream::open( const path & file_ph ) + { + std::basic_fstream::open( + file_ph.file_string().c_str(), std::ios_base::in|std::ios_base::out ); + } + + template + void basic_fstream::open( const path & file_ph, + std::ios_base::openmode mode ) + { + std::basic_fstream::open( + file_ph.file_string().c_str(), mode ); + } +# endif + } // namespace filesystem +} // namespace boost + +#include // pops abi_prefix.hpp pragmas +#endif // BOOST_FILESYSTEM_FSTREAM_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/operations.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/operations.hpp new file mode 100644 index 0000000..91e2aa4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/operations.hpp @@ -0,0 +1,1179 @@ +// boost/filesystem/operations.hpp -----------------------------------------// + +// Copyright 2002-2005 Beman Dawes +// Copyright 2002 Jan Langer +// Copyright 2001 Dietmar Kuehl +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See library home page at http://www.boost.org/libs/filesystem + +//----------------------------------------------------------------------------// + +#ifndef BOOST_FILESYSTEM_OPERATIONS_HPP +#define BOOST_FILESYSTEM_OPERATIONS_HPP + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include // for pair +#include + +#ifdef BOOST_WINDOWS_API +# include +# if !defined(_WIN32_WINNT) || _WIN32_WINNT >= 0x0500 +# define BOOST_FS_HARD_LINK // Default for Windows 2K or later +# endif +#endif + +#include // must be the last #include + +# ifdef BOOST_NO_STDC_NAMESPACE + namespace std { using ::time_t; } +# endif + +//----------------------------------------------------------------------------// + +namespace boost +{ + namespace filesystem + { + +// typedef boost::filesystem::path Path; needs to be in namespace boost::filesystem +# ifndef BOOST_FILESYSTEM_NARROW_ONLY +# define BOOST_FS_FUNC(BOOST_FS_TYPE) \ + template typename boost::enable_if, \ + BOOST_FS_TYPE>::type +# define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) \ + template inline typename boost::enable_if, \ + BOOST_FS_TYPE>::type +# define BOOST_FS_TYPENAME typename +# else +# define BOOST_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE +# define BOOST_INLINE_FS_FUNC(BOOST_FS_TYPE) inline BOOST_FS_TYPE + typedef boost::filesystem::path Path; +# define BOOST_FS_TYPENAME +# endif + + template class basic_directory_iterator; + + // BOOST_FILESYSTEM_NARROW_ONLY needs this: + typedef basic_directory_iterator directory_iterator; + + template class basic_directory_entry; + + enum file_type + { + status_unknown, + file_not_found, + regular_file, + directory_file, + // the following will never be reported by some operating or file systems + symlink_file, + block_file, + character_file, + fifo_file, + socket_file, + type_unknown // file does exist, but isn't one of the above types or + // we don't have strong enough permission to find its type + }; + + class file_status + { + public: + explicit file_status( file_type v = status_unknown ) : m_value(v) {} + + void type( file_type v ) { m_value = v; } + file_type type() const { return m_value; } + + private: + // the internal representation is unspecified so that additional state + // information such as permissions can be added in the future; this + // implementation just uses status_type as the internal representation + + file_type m_value; + }; + + inline bool status_known( file_status f ) { return f.type() != status_unknown; } + inline bool exists( file_status f ) { return f.type() != status_unknown && f.type() != file_not_found; } + inline bool is_regular_file(file_status f){ return f.type() == regular_file; } + inline bool is_directory( file_status f ) { return f.type() == directory_file; } + inline bool is_symlink( file_status f ) { return f.type() == symlink_file; } + inline bool is_other( file_status f ) { return exists(f) && !is_regular_file(f) && !is_directory(f) && !is_symlink(f); } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + inline bool is_regular( file_status f ) { return f.type() == regular_file; } +# endif + + struct space_info + { + // all values are byte counts + boost::uintmax_t capacity; + boost::uintmax_t free; // <= capacity + boost::uintmax_t available; // <= free + }; + + namespace detail + { + typedef std::pair< system::error_code, bool > + query_pair; + + typedef std::pair< system::error_code, boost::uintmax_t > + uintmax_pair; + + typedef std::pair< system::error_code, std::time_t > + time_pair; + + typedef std::pair< system::error_code, space_info > + space_pair; + + template< class Path > + struct directory_pair + { + typedef std::pair< system::error_code, + typename Path::external_string_type > type; + }; + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + BOOST_FILESYSTEM_DECL bool + symbolic_link_exists_api( const std::string & ); // deprecated +# endif + + BOOST_FILESYSTEM_DECL file_status + status_api( const std::string & ph, system::error_code & ec ); +# ifndef BOOST_WINDOWS_API + BOOST_FILESYSTEM_DECL file_status + symlink_status_api( const std::string & ph, system::error_code & ec ); +# endif + BOOST_FILESYSTEM_DECL query_pair + is_empty_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL query_pair + equivalent_api( const std::string & ph1, const std::string & ph2 ); + BOOST_FILESYSTEM_DECL uintmax_pair + file_size_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL space_pair + space_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL time_pair + last_write_time_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL system::error_code + last_write_time_api( const std::string & ph, std::time_t new_value ); + BOOST_FILESYSTEM_DECL system::error_code + get_current_path_api( std::string & ph ); + BOOST_FILESYSTEM_DECL system::error_code + set_current_path_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL query_pair + create_directory_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL system::error_code + create_hard_link_api( const std::string & to_ph, + const std::string & from_ph ); + BOOST_FILESYSTEM_DECL system::error_code + create_symlink_api( const std::string & to_ph, + const std::string & from_ph ); + BOOST_FILESYSTEM_DECL system::error_code + remove_api( const std::string & ph ); + BOOST_FILESYSTEM_DECL system::error_code + rename_api( const std::string & from, const std::string & to ); + BOOST_FILESYSTEM_DECL system::error_code + copy_file_api( const std::string & from, const std::string & to, bool fail_if_exists ); + +# if defined(BOOST_WINDOWS_API) + + BOOST_FILESYSTEM_DECL system::error_code + get_full_path_name_api( const std::string & ph, std::string & target ); + +# if !defined(BOOST_FILESYSTEM_NARROW_ONLY) + + BOOST_FILESYSTEM_DECL boost::filesystem::file_status + status_api( const std::wstring & ph, system::error_code & ec ); + BOOST_FILESYSTEM_DECL query_pair + is_empty_api( const std::wstring & ph ); + BOOST_FILESYSTEM_DECL query_pair + equivalent_api( const std::wstring & ph1, const std::wstring & ph2 ); + BOOST_FILESYSTEM_DECL uintmax_pair + file_size_api( const std::wstring & ph ); + BOOST_FILESYSTEM_DECL space_pair + space_api( const std::wstring & ph ); + BOOST_FILESYSTEM_DECL system::error_code + get_full_path_name_api( const std::wstring & ph, std::wstring & target ); + BOOST_FILESYSTEM_DECL time_pair + last_write_time_api( const std::wstring & ph ); + BOOST_FILESYSTEM_DECL system::error_code + last_write_time_api( const std::wstring & ph, std::time_t new_value ); + BOOST_FILESYSTEM_DECL system::error_code + get_current_path_api( std::wstring & ph ); + BOOST_FILESYSTEM_DECL system::error_code + set_current_path_api( const std::wstring & ph ); + BOOST_FILESYSTEM_DECL query_pair + create_directory_api( const std::wstring & ph ); +# ifdef BOOST_FS_HARD_LINK + BOOST_FILESYSTEM_DECL system::error_code + create_hard_link_api( const std::wstring & existing_ph, + const std::wstring & new_ph ); +# endif + BOOST_FILESYSTEM_DECL system::error_code + create_symlink_api( const std::wstring & to_ph, + const std::wstring & from_ph ); + BOOST_FILESYSTEM_DECL system::error_code + remove_api( const std::wstring & ph ); + BOOST_FILESYSTEM_DECL system::error_code + rename_api( const std::wstring & from, const std::wstring & to ); + BOOST_FILESYSTEM_DECL system::error_code + copy_file_api( const std::wstring & from, const std::wstring & to, bool fail_if_exists ); + +# endif +# endif + + template + bool remove_aux( const Path & ph, file_status f ); + + template + unsigned long remove_all_aux( const Path & ph, file_status f ); + + } // namespace detail + +// operations functions ----------------------------------------------------// + + // The non-template overloads enable automatic conversion from std and + // C-style strings. See basic_path constructors. The enable_if for the + // templates implements the famous "do-the-right-thing" rule. + +// query functions ---------------------------------------------------------// + + BOOST_INLINE_FS_FUNC(file_status) + status( const Path & ph, system::error_code & ec ) + { return detail::status_api( ph.external_file_string(), ec ); } + + BOOST_FS_FUNC(file_status) + status( const Path & ph ) + { + system::error_code ec; + file_status result( detail::status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::status", ph, ec ) ); + return result; + } + + BOOST_INLINE_FS_FUNC(file_status) + symlink_status( const Path & ph, system::error_code & ec ) +# ifdef BOOST_WINDOWS_API + { return detail::status_api( ph.external_file_string(), ec ); } +# else + { return detail::symlink_status_api( ph.external_file_string(), ec ); } +# endif + + BOOST_FS_FUNC(file_status) + symlink_status( const Path & ph ) + { + system::error_code ec; + file_status result( symlink_status( ph, ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::symlink_status", ph, ec ) ); + return result; + } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + inline bool symbolic_link_exists( const path & ph ) + { return is_symlink( symlink_status(ph) ); } +# endif + + BOOST_FS_FUNC(bool) exists( const Path & ph ) + { + system::error_code ec; + file_status result( detail::status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::exists", ph, ec ) ); + return exists( result ); + } + + BOOST_FS_FUNC(bool) is_directory( const Path & ph ) + { + system::error_code ec; + file_status result( detail::status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::is_directory", ph, ec ) ); + return is_directory( result ); + } + + BOOST_FS_FUNC(bool) is_regular_file( const Path & ph ) + { + system::error_code ec; + file_status result( detail::status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::is_regular_file", ph, ec ) ); + return is_regular_file( result ); + } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + BOOST_FS_FUNC(bool) is_regular( const Path & ph ) + { + system::error_code ec; + file_status result( detail::status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::is_regular", ph, ec ) ); + return is_regular( result ); + } +# endif + + BOOST_FS_FUNC(bool) is_other( const Path & ph ) + { + system::error_code ec; + file_status result( detail::status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::is_other", ph, ec ) ); + return is_other( result ); + } + + BOOST_FS_FUNC(bool) is_symlink( +# ifdef BOOST_WINDOWS_API + const Path & ) + { + return false; +# else + const Path & ph) + { + system::error_code ec; + file_status result( detail::symlink_status_api( ph.external_file_string(), ec ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::is_symlink", ph, ec ) ); + return is_symlink( result ); +# endif + } + + // VC++ 7.0 and earlier has a serious namespace bug that causes a clash + // between boost::filesystem::is_empty and the unrelated type trait + // boost::is_empty. + +# if !defined( BOOST_MSVC ) || BOOST_MSVC > 1300 + BOOST_FS_FUNC(bool) is_empty( const Path & ph ) +# else + BOOST_FS_FUNC(bool) _is_empty( const Path & ph ) +# endif + { + detail::query_pair result( + detail::is_empty_api( ph.external_file_string() ) ); + if ( result.first ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::is_empty", ph, result.first ) ); + return result.second; + } + + BOOST_FS_FUNC(bool) equivalent( const Path & ph1, const Path & ph2 ) + { + detail::query_pair result( detail::equivalent_api( + ph1.external_file_string(), ph2.external_file_string() ) ); + if ( result.first ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::equivalent", ph1, ph2, result.first ) ); + return result.second; + } + + BOOST_FS_FUNC(boost::uintmax_t) file_size( const Path & ph ) + { + detail::uintmax_pair result + ( detail::file_size_api( ph.external_file_string() ) ); + if ( result.first ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::file_size", ph, result.first ) ); + return result.second; + } + + BOOST_FS_FUNC(space_info) space( const Path & ph ) + { + detail::space_pair result + ( detail::space_api( ph.external_file_string() ) ); + if ( result.first ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::space", ph, result.first ) ); + return result.second; + } + + BOOST_FS_FUNC(std::time_t) last_write_time( const Path & ph ) + { + detail::time_pair result + ( detail::last_write_time_api( ph.external_file_string() ) ); + if ( result.first ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::last_write_time", ph, result.first ) ); + return result.second; + } + + +// operations --------------------------------------------------------------// + + BOOST_FS_FUNC(bool) create_directory( const Path & dir_ph ) + { + detail::query_pair result( + detail::create_directory_api( dir_ph.external_directory_string() ) ); + if ( result.first ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::create_directory", + dir_ph, result.first ) ); + return result.second; + } + +#if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK) + BOOST_FS_FUNC(void) + create_hard_link( const Path & to_ph, const Path & from_ph ) + { + system::error_code ec( + detail::create_hard_link_api( + to_ph.external_file_string(), + from_ph.external_file_string() ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::create_hard_link", + to_ph, from_ph, ec ) ); + } + + BOOST_FS_FUNC(system::error_code) + create_hard_link( const Path & to_ph, const Path & from_ph, + system::error_code & ec ) + { + ec = detail::create_hard_link_api( + to_ph.external_file_string(), + from_ph.external_file_string() ); + return ec; + } +#endif + + BOOST_FS_FUNC(void) + create_symlink( const Path & to_ph, const Path & from_ph ) + { + system::error_code ec( + detail::create_symlink_api( + to_ph.external_file_string(), + from_ph.external_file_string() ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::create_symlink", + to_ph, from_ph, ec ) ); + } + + BOOST_FS_FUNC(system::error_code) + create_symlink( const Path & to_ph, const Path & from_ph, + system::error_code & ec ) + { + ec = detail::create_symlink_api( + to_ph.external_file_string(), + from_ph.external_file_string() ); + return ec; + } + + BOOST_FS_FUNC(bool) remove( const Path & ph ) + { + system::error_code ec; + file_status f = symlink_status( ph, ec ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::remove", ph, ec ) ); + return detail::remove_aux( ph, f ); + } + + BOOST_FS_FUNC(unsigned long) remove_all( const Path & ph ) + { + system::error_code ec; + file_status f = symlink_status( ph, ec ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::remove_all", ph, ec ) ); + return exists( f ) ? detail::remove_all_aux( ph, f ) : 0; + } + + BOOST_FS_FUNC(void) rename( const Path & from_path, const Path & to_path ) + { + system::error_code ec( detail::rename_api( + from_path.external_directory_string(), + to_path.external_directory_string() ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::rename", + from_path, to_path, ec ) ); + } + + BOOST_SCOPED_ENUM_START(copy_option) + { fail_if_exists, overwrite_if_exists }; + BOOST_SCOPED_ENUM_END + + BOOST_FS_FUNC(void) copy_file( const Path & from_path, const Path & to_path, + BOOST_SCOPED_ENUM(copy_option) option = copy_option::fail_if_exists ) + { + system::error_code ec( detail::copy_file_api( + from_path.external_directory_string(), + to_path.external_directory_string(), option == copy_option::fail_if_exists ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::copy_file", + from_path, to_path, ec ) ); + } + + template< class Path > + Path current_path() + { + typename Path::external_string_type ph; + system::error_code ec( detail::get_current_path_api( ph ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::current_path", ec ) ); + return Path( Path::traits_type::to_internal( ph ) ); + } + + BOOST_FS_FUNC(void) current_path( const Path & ph ) + { + system::error_code ec( detail::set_current_path_api( + ph.external_directory_string() ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::current_path", ph, ec ) ); + } + + template< class Path > + const Path & initial_path() + { + static Path init_path; + if ( init_path.empty() ) init_path = current_path(); + return init_path; + } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + // legacy support + inline path current_path() // overload supports pre-i18n apps + { return current_path(); } + inline const path & initial_path() // overload supports pre-i18n apps + { return initial_path(); } +# endif + + BOOST_FS_FUNC(Path) system_complete( const Path & ph ) + { +# ifdef BOOST_WINDOWS_API + if ( ph.empty() ) return ph; + BOOST_FS_TYPENAME Path::external_string_type sys_ph; + system::error_code ec( detail::get_full_path_name_api( ph.external_file_string(), + sys_ph ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::system_complete", ph, ec ) ); + return Path( Path::traits_type::to_internal( sys_ph ) ); +# else + return (ph.empty() || ph.is_complete()) + ? ph : current_path() / ph; +# endif + } + + BOOST_FS_FUNC(Path) + complete( const Path & ph, + const Path & base/* = initial_path() */) + { + BOOST_ASSERT( base.is_complete() + && (ph.is_complete() || !ph.has_root_name()) + && "boost::filesystem::complete() precondition not met" ); +# ifdef BOOST_WINDOWS_PATH + if (ph.empty() || ph.is_complete()) return ph; + if ( !ph.has_root_name() ) + return ph.has_root_directory() + ? Path( base.root_name() ) / ph + : base / ph; + return base / ph; +# else + return (ph.empty() || ph.is_complete()) ? ph : base / ph; +# endif + } + + // VC++ 7.1 had trouble with default arguments, so separate one argument + // signatures are provided as workarounds; the effect is the same. + BOOST_FS_FUNC(Path) complete( const Path & ph ) + { return complete( ph, initial_path() ); } + + BOOST_FS_FUNC(void) + last_write_time( const Path & ph, const std::time_t new_time ) + { + system::error_code ec( detail::last_write_time_api( ph.external_file_string(), + new_time ) ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::last_write_time", ph, ec ) ); + } + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + + // "do-the-right-thing" overloads ---------------------------------------// + + inline file_status status( const path & ph ) + { return status( ph ); } + inline file_status status( const wpath & ph ) + { return status( ph ); } + + inline file_status status( const path & ph, system::error_code & ec ) + { return status( ph, ec ); } + inline file_status status( const wpath & ph, system::error_code & ec ) + { return status( ph, ec ); } + + inline file_status symlink_status( const path & ph ) + { return symlink_status( ph ); } + inline file_status symlink_status( const wpath & ph ) + { return symlink_status( ph ); } + + inline file_status symlink_status( const path & ph, system::error_code & ec ) + { return symlink_status( ph, ec ); } + inline file_status symlink_status( const wpath & ph, system::error_code & ec ) + { return symlink_status( ph, ec ); } + + inline bool exists( const path & ph ) { return exists( ph ); } + inline bool exists( const wpath & ph ) { return exists( ph ); } + + inline bool is_directory( const path & ph ) + { return is_directory( ph ); } + inline bool is_directory( const wpath & ph ) + { return is_directory( ph ); } + + inline bool is_regular_file( const path & ph ) + { return is_regular_file( ph ); } + inline bool is_regular_file( const wpath & ph ) + { return is_regular_file( ph ); } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + inline bool is_regular( const path & ph ) + { return is_regular( ph ); } + inline bool is_regular( const wpath & ph ) + { return is_regular( ph ); } +# endif + + inline bool is_other( const path & ph ) + { return is_other( ph ); } + inline bool is_other( const wpath & ph ) + { return is_other( ph ); } + + inline bool is_symlink( const path & ph ) + { return is_symlink( ph ); } + inline bool is_symlink( const wpath & ph ) + { return is_symlink( ph ); } + + inline bool is_empty( const path & ph ) + { return boost::filesystem::is_empty( ph ); } + inline bool is_empty( const wpath & ph ) + { return boost::filesystem::is_empty( ph ); } + + inline bool equivalent( const path & ph1, const path & ph2 ) + { return equivalent( ph1, ph2 ); } + inline bool equivalent( const wpath & ph1, const wpath & ph2 ) + { return equivalent( ph1, ph2 ); } + + inline boost::uintmax_t file_size( const path & ph ) + { return file_size( ph ); } + inline boost::uintmax_t file_size( const wpath & ph ) + { return file_size( ph ); } + + inline space_info space( const path & ph ) + { return space( ph ); } + inline space_info space( const wpath & ph ) + { return space( ph ); } + + inline std::time_t last_write_time( const path & ph ) + { return last_write_time( ph ); } + inline std::time_t last_write_time( const wpath & ph ) + { return last_write_time( ph ); } + + inline bool create_directory( const path & dir_ph ) + { return create_directory( dir_ph ); } + inline bool create_directory( const wpath & dir_ph ) + { return create_directory( dir_ph ); } + +#if !defined(BOOST_WINDOWS_API) || defined(BOOST_FS_HARD_LINK) + inline void create_hard_link( const path & to_ph, + const path & from_ph ) + { return create_hard_link( to_ph, from_ph ); } + inline void create_hard_link( const wpath & to_ph, + const wpath & from_ph ) + { return create_hard_link( to_ph, from_ph ); } + + inline system::error_code create_hard_link( const path & to_ph, + const path & from_ph, system::error_code & ec ) + { return create_hard_link( to_ph, from_ph, ec ); } + inline system::error_code create_hard_link( const wpath & to_ph, + const wpath & from_ph, system::error_code & ec ) + { return create_hard_link( to_ph, from_ph, ec ); } +#endif + + inline void create_symlink( const path & to_ph, + const path & from_ph ) + { return create_symlink( to_ph, from_ph ); } + inline void create_symlink( const wpath & to_ph, + const wpath & from_ph ) + { return create_symlink( to_ph, from_ph ); } + + inline system::error_code create_symlink( const path & to_ph, + const path & from_ph, system::error_code & ec ) + { return create_symlink( to_ph, from_ph, ec ); } + inline system::error_code create_symlink( const wpath & to_ph, + const wpath & from_ph, system::error_code & ec ) + { return create_symlink( to_ph, from_ph, ec ); } + + inline bool remove( const path & ph ) + { return remove( ph ); } + inline bool remove( const wpath & ph ) + { return remove( ph ); } + + inline unsigned long remove_all( const path & ph ) + { return remove_all( ph ); } + inline unsigned long remove_all( const wpath & ph ) + { return remove_all( ph ); } + + inline void rename( const path & from_path, const path & to_path ) + { return rename( from_path, to_path ); } + inline void rename( const wpath & from_path, const wpath & to_path ) + { return rename( from_path, to_path ); } + + inline void copy_file( const path & from_path, const path & to_path ) + { return copy_file( from_path, to_path ); } + inline void copy_file( const wpath & from_path, const wpath & to_path ) + { return copy_file( from_path, to_path ); } + + inline path system_complete( const path & ph ) + { return system_complete( ph ); } + inline wpath system_complete( const wpath & ph ) + { return system_complete( ph ); } + + inline path complete( const path & ph, + const path & base/* = initial_path()*/ ) + { return complete( ph, base ); } + inline wpath complete( const wpath & ph, + const wpath & base/* = initial_path()*/ ) + { return complete( ph, base ); } + + inline path complete( const path & ph ) + { return complete( ph, initial_path() ); } + inline wpath complete( const wpath & ph ) + { return complete( ph, initial_path() ); } + + inline void last_write_time( const path & ph, const std::time_t new_time ) + { last_write_time( ph, new_time ); } + inline void last_write_time( const wpath & ph, const std::time_t new_time ) + { last_write_time( ph, new_time ); } + + inline void current_path( const path & ph ) + { current_path( ph ); } + inline void current_path( const wpath & ph ) + { current_path( ph ); } + +# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY + + namespace detail + { + template + bool remove_aux( const Path & ph, file_status f ) + { + if ( exists( f ) ) + { + system::error_code ec = remove_api( ph.external_file_string() ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::remove", ph, ec ) ); + return true; + } + return false; + } + + template + unsigned long remove_all_aux( const Path & ph, file_status f ) + { + static const boost::filesystem::basic_directory_iterator end_itr; + unsigned long count = 1; + if ( !boost::filesystem::is_symlink( f ) // don't recurse symbolic links + && boost::filesystem::is_directory( f ) ) + { + for ( boost::filesystem::basic_directory_iterator itr( ph ); + itr != end_itr; ++itr ) + { + boost::system::error_code ec; + boost::filesystem::file_status fn = boost::filesystem::symlink_status( itr->path(), ec ); + if ( ec ) + boost::throw_exception( basic_filesystem_error( + "boost::filesystem:remove_all", ph, ec ) ); + count += remove_all_aux( itr->path(), fn ); + } + } + remove_aux( ph, f ); + return count; + } + +// test helper -------------------------------------------------------------// + + // not part of the documented interface because false positives are possible; + // there is no law that says that an OS that has large stat.st_size + // actually supports large file sizes. + BOOST_FILESYSTEM_DECL bool possible_large_file_size_support(); + +// directory_iterator helpers ----------------------------------------------// + +// forwarding functions avoid need for BOOST_FILESYSTEM_DECL for class +// basic_directory_iterator, and so avoid iterator_facade DLL template +// problems. They also overload to the proper external path character type. + + BOOST_FILESYSTEM_DECL system::error_code + dir_itr_first( void *& handle, +#if defined(BOOST_POSIX_API) + void *& buffer, +#endif + const std::string & dir_path, + std::string & target, file_status & fs, file_status & symlink_fs ); + // eof: return==0 && handle==0 + + BOOST_FILESYSTEM_DECL system::error_code + dir_itr_increment( void *& handle, +#if defined(BOOST_POSIX_API) + void *& buffer, +#endif + std::string & target, file_status & fs, file_status & symlink_fs ); + // eof: return==0 && handle==0 + + BOOST_FILESYSTEM_DECL system::error_code + dir_itr_close( void *& handle +#if defined(BOOST_POSIX_API) + , void *& buffer +#endif + ); + // Effects: none if handle==0, otherwise close handle, set handle=0 + +# if defined(BOOST_WINDOWS_API) && !defined(BOOST_FILESYSTEM_NARROW_ONLY) + BOOST_FILESYSTEM_DECL system::error_code + dir_itr_first( void *& handle, const std::wstring & ph, + std::wstring & target, file_status & fs, file_status & symlink_fs ); + BOOST_FILESYSTEM_DECL system::error_code + dir_itr_increment( void *& handle, std::wstring & target, + file_status & fs, file_status & symlink_fs ); +# endif + + template< class Path > + class dir_itr_imp + { + public: + basic_directory_entry m_directory_entry; + void * m_handle; +# ifdef BOOST_POSIX_API + void * m_buffer; // see dir_itr_increment implementation +# endif + dir_itr_imp() : m_handle(0) +# ifdef BOOST_POSIX_API + , m_buffer(0) +# endif + {} + + ~dir_itr_imp() { dir_itr_close( m_handle +#if defined(BOOST_POSIX_API) + , m_buffer +#endif + ); } + }; + + BOOST_FILESYSTEM_DECL system::error_code not_found_error(); + + } // namespace detail + +// basic_directory_iterator ------------------------------------------------// + + template< class Path > + class basic_directory_iterator + : public boost::iterator_facade< + basic_directory_iterator, + basic_directory_entry, + boost::single_pass_traversal_tag > + { + public: + typedef Path path_type; + + basic_directory_iterator(){} // creates the "end" iterator + + explicit basic_directory_iterator( const Path & dir_path ); + basic_directory_iterator( const Path & dir_path, system::error_code & ec ); + + private: + + // shared_ptr provides shallow-copy semantics required for InputIterators. + // m_imp.get()==0 indicates the end iterator. + boost::shared_ptr< detail::dir_itr_imp< Path > > m_imp; + + friend class boost::iterator_core_access; + + typename boost::iterator_facade< + basic_directory_iterator, + basic_directory_entry, + boost::single_pass_traversal_tag >::reference dereference() const + { + BOOST_ASSERT( m_imp.get() && "attempt to dereference end iterator" ); + return m_imp->m_directory_entry; + } + + void increment(); + + bool equal( const basic_directory_iterator & rhs ) const + { return m_imp == rhs.m_imp; } + + system::error_code m_init( const Path & dir_path ); + }; + + typedef basic_directory_iterator< path > directory_iterator; +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + typedef basic_directory_iterator< wpath > wdirectory_iterator; +# endif + + // basic_directory_iterator implementation ---------------------------// + + template + system::error_code basic_directory_iterator::m_init( + const Path & dir_path ) + { + if ( dir_path.empty() ) + { + m_imp.reset(); + return detail::not_found_error(); + } + typename Path::external_string_type name; + file_status fs, symlink_fs; + system::error_code ec( detail::dir_itr_first( m_imp->m_handle, +#if defined(BOOST_POSIX_API) + m_imp->m_buffer, +#endif + dir_path.external_directory_string(), + name, fs, symlink_fs ) ); + + if ( ec ) + { + m_imp.reset(); + return ec; + } + + if ( m_imp->m_handle == 0 ) m_imp.reset(); // eof, so make end iterator + else // not eof + { + m_imp->m_directory_entry.assign( dir_path + / Path::traits_type::to_internal( name ), fs, symlink_fs ); + if ( name[0] == dot::value // dot or dot-dot + && (name.size() == 1 + || (name[1] == dot::value + && name.size() == 2)) ) + { increment(); } + } + return boost::system::error_code(); + } + + template + basic_directory_iterator::basic_directory_iterator( + const Path & dir_path ) + : m_imp( new detail::dir_itr_imp ) + { + system::error_code ec( m_init(dir_path) ); + if ( ec ) + { + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::basic_directory_iterator constructor", + dir_path, ec ) ); + } + } + + template + basic_directory_iterator::basic_directory_iterator( + const Path & dir_path, system::error_code & ec ) + : m_imp( new detail::dir_itr_imp ) + { + ec = m_init(dir_path); + } + + template + void basic_directory_iterator::increment() + { + BOOST_ASSERT( m_imp.get() && "attempt to increment end iterator" ); + BOOST_ASSERT( m_imp->m_handle != 0 && "internal program error" ); + + typename Path::external_string_type name; + file_status fs, symlink_fs; + system::error_code ec; + + for (;;) + { + ec = detail::dir_itr_increment( m_imp->m_handle, +#if defined(BOOST_POSIX_API) + m_imp->m_buffer, +#endif + name, fs, symlink_fs ); + if ( ec ) + { + boost::throw_exception( basic_filesystem_error( + "boost::filesystem::basic_directory_iterator increment", + m_imp->m_directory_entry.path().parent_path(), ec ) ); + } + if ( m_imp->m_handle == 0 ) { m_imp.reset(); return; } // eof, make end + if ( !(name[0] == dot::value // !(dot or dot-dot) + && (name.size() == 1 + || (name[1] == dot::value + && name.size() == 2))) ) + { + m_imp->m_directory_entry.replace_filename( + Path::traits_type::to_internal( name ), fs, symlink_fs ); + return; + } + } + } + + // basic_directory_entry -----------------------------------------------// + + template + class basic_directory_entry + { + public: + typedef Path path_type; + typedef typename Path::string_type string_type; + + // compiler generated copy-ctor, copy assignment, and destructor apply + + basic_directory_entry() {} + explicit basic_directory_entry( const path_type & p, + file_status st = file_status(), file_status symlink_st=file_status() ) + : m_path(p), m_status(st), m_symlink_status(symlink_st) + {} + + void assign( const path_type & p, + file_status st, file_status symlink_st ) + { m_path = p; m_status = st; m_symlink_status = symlink_st; } + + void replace_filename( const string_type & s, + file_status st, file_status symlink_st ) + { + m_path.remove_filename(); + m_path /= s; + m_status = st; + m_symlink_status = symlink_st; + } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + void replace_leaf( const string_type & s, + file_status st, file_status symlink_st ) + { replace_filename( s, st, symlink_st ); } +# endif + + const Path & path() const { return m_path; } + file_status status() const; + file_status status( system::error_code & ec ) const; + file_status symlink_status() const; + file_status symlink_status( system::error_code & ec ) const; + + // conversion simplifies the most common use of basic_directory_entry + operator const path_type &() const { return m_path; } + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + // deprecated functions preserve common use cases in legacy code + typename Path::string_type filename() const + { + return path().filename(); + } + typename Path::string_type leaf() const + { + return path().filename(); + } + typename Path::string_type string() const + { + return path().string(); + } +# endif + + private: + path_type m_path; + mutable file_status m_status; // stat()-like + mutable file_status m_symlink_status; // lstat()-like + // note: m_symlink_status is not used by Windows implementation + + }; // basic_directory_status + + typedef basic_directory_entry directory_entry; +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + typedef basic_directory_entry wdirectory_entry; +# endif + + // basic_directory_entry implementation --------------------------------// + + template + file_status + basic_directory_entry::status() const + { + if ( !status_known( m_status ) ) + { +# ifndef BOOST_WINDOWS_API + if ( status_known( m_symlink_status ) + && !is_symlink( m_symlink_status ) ) + { m_status = m_symlink_status; } + else { m_status = boost::filesystem::status( m_path ); } +# else + m_status = boost::filesystem::status( m_path ); +# endif + } + return m_status; + } + + template + file_status + basic_directory_entry::status( system::error_code & ec ) const + { + if ( !status_known( m_status ) ) + { +# ifndef BOOST_WINDOWS_API + if ( status_known( m_symlink_status ) + && !is_symlink( m_symlink_status ) ) + { ec = boost::system::error_code();; m_status = m_symlink_status; } + else { m_status = boost::filesystem::status( m_path, ec ); } +# else + m_status = boost::filesystem::status( m_path, ec ); +# endif + } + else ec = boost::system::error_code();; + return m_status; + } + + template + file_status + basic_directory_entry::symlink_status() const + { +# ifndef BOOST_WINDOWS_API + if ( !status_known( m_symlink_status ) ) + { m_symlink_status = boost::filesystem::symlink_status( m_path ); } + return m_symlink_status; +# else + return status(); +# endif + } + + template + file_status + basic_directory_entry::symlink_status( system::error_code & ec ) const + { +# ifndef BOOST_WINDOWS_API + if ( !status_known( m_symlink_status ) ) + { m_symlink_status = boost::filesystem::symlink_status( m_path, ec ); } + else ec = boost::system::error_code();; + return m_symlink_status; +# else + return status( ec ); +# endif + } + } // namespace filesystem +} // namespace boost + +#undef BOOST_FS_FUNC + + +#include // pops abi_prefix.hpp pragmas +#endif // BOOST_FILESYSTEM_OPERATIONS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/path.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/path.hpp new file mode 100644 index 0000000..61e3338 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/filesystem/path.hpp @@ -0,0 +1,1531 @@ +// boost/filesystem/path.hpp -----------------------------------------------// + +// Copyright Beman Dawes 2002-2005 +// Copyright Vladimir Prus 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 library home page at http://www.boost.org/libs/filesystem + +// basic_path's stem(), extension(), and replace_extension() are based on +// basename(), extension(), and change_extension() from the original +// filesystem/convenience.hpp header by Vladimir Prus. + +//----------------------------------------------------------------------------// + +#ifndef BOOST_FILESYSTEM_PATH_HPP +#define BOOST_FILESYSTEM_PATH_HPP + +#include +#include +#include +#include +#include +#include +#include + +#include +#include // for lexicographical_compare +#include // needed by basic_path inserter and extractor +#include +#include + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY +# include +# endif + +#include // must be the last #include + +//----------------------------------------------------------------------------// + +namespace boost +{ + namespace BOOST_FILESYSTEM_NAMESPACE + { + template class basic_path; + + struct path_traits; + typedef basic_path< std::string, path_traits > path; + + struct path_traits + { + typedef std::string internal_string_type; + typedef std::string external_string_type; + static external_string_type to_external( const path &, + const internal_string_type & src ) { return src; } + static internal_string_type to_internal( + const external_string_type & src ) { return src; } + }; + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + + struct BOOST_FILESYSTEM_DECL wpath_traits; + + typedef basic_path< std::wstring, wpath_traits > wpath; + + struct BOOST_FILESYSTEM_DECL wpath_traits + { + typedef std::wstring internal_string_type; +# ifdef BOOST_WINDOWS_API + typedef std::wstring external_string_type; + static external_string_type to_external( const wpath &, + const internal_string_type & src ) { return src; } + static internal_string_type to_internal( + const external_string_type & src ) { return src; } +# else + typedef std::string external_string_type; + static external_string_type to_external( const wpath & ph, + const internal_string_type & src ); + static internal_string_type to_internal( + const external_string_type & src ); +# endif + static void imbue( const std::locale & loc ); + static bool imbue( const std::locale & loc, const std::nothrow_t & ); + }; + +# endif // ifndef BOOST_FILESYSTEM_NARROW_ONLY + + // path traits ---------------------------------------------------------// + + template struct is_basic_path + { BOOST_STATIC_CONSTANT( bool, value = false ); }; + template<> struct is_basic_path + { BOOST_STATIC_CONSTANT( bool, value = true ); }; +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + template<> struct is_basic_path + { BOOST_STATIC_CONSTANT( bool, value = true ); }; +# endif + + // These only have to be specialized if Path::string_type::value_type + // is not convertible from char, although specializations may eliminate + // compiler warnings. See ticket 2543. + template struct slash + { BOOST_STATIC_CONSTANT( char, value = '/' ); }; + + template struct dot + { BOOST_STATIC_CONSTANT( char, value = '.' ); }; + + template struct colon + { BOOST_STATIC_CONSTANT( char, value = ':' ); }; + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + template<> struct slash + { BOOST_STATIC_CONSTANT( wchar_t, value = L'/' ); }; + template<> struct dot + { BOOST_STATIC_CONSTANT( wchar_t, value = L'.' ); }; + template<> struct colon + { BOOST_STATIC_CONSTANT( wchar_t, value = L':' ); }; +# endif + +# ifdef BOOST_WINDOWS_PATH + template struct path_alt_separator + { BOOST_STATIC_CONSTANT( char, value = '\\' ); }; +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + template<> struct path_alt_separator + { BOOST_STATIC_CONSTANT( wchar_t, value = L'\\' ); }; +# endif +# endif + + // workaround for VC++ 7.0 and earlier issues with nested classes + namespace detail + { + template + class iterator_helper + { + public: + typedef typename Path::iterator iterator; + static void do_increment( iterator & ph ); + static void do_decrement( iterator & ph ); + }; + } + + // basic_path ----------------------------------------------------------// + + template + class basic_path + { + // invariant: m_path valid according to the portable generic path grammar + + // validate template arguments +// TODO: get these working +// BOOST_STATIC_ASSERT( ::boost::is_same::value ); +// BOOST_STATIC_ASSERT( ::boost::is_same::value || ::boost::is_same::value ); + + public: + // compiler generates copy constructor and copy assignment + + typedef basic_path path_type; + typedef String string_type; + typedef typename String::value_type value_type; + typedef Traits traits_type; + typedef typename Traits::external_string_type external_string_type; + + // constructors/destructor + basic_path() {} + basic_path( const string_type & s ) { operator/=( s ); } + basic_path( const value_type * s ) { operator/=( s ); } +# ifndef BOOST_NO_MEMBER_TEMPLATES + template + basic_path( InputIterator first, InputIterator last ) + { append( first, last ); } +# endif + ~basic_path() {} + + // assignments + basic_path & operator=( const string_type & s ) + { +# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310) + m_path.clear(); +# else + m_path.erase( m_path.begin(), m_path.end() ); +# endif + operator/=( s ); + return *this; + } + basic_path & operator=( const value_type * s ) + { +# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310) + m_path.clear(); +# else + m_path.erase( m_path.begin(), m_path.end() ); +# endif + operator/=( s ); + return *this; + } +# ifndef BOOST_NO_MEMBER_TEMPLATES + template + basic_path & assign( InputIterator first, InputIterator last ) + { m_path.clear(); append( first, last ); return *this; } +# endif + + // modifiers + basic_path & operator/=( const basic_path & rhs ) { return operator /=( rhs.string().c_str() ); } + basic_path & operator/=( const string_type & rhs ) { return operator /=( rhs.c_str() ); } + basic_path & operator/=( const value_type * s ); +# ifndef BOOST_NO_MEMBER_TEMPLATES + template + basic_path & append( InputIterator first, InputIterator last ); +# endif + + void clear() + { +# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, >= 310) + m_path.clear(); +# else + m_path.erase( m_path.begin(), m_path.end() ); +# endif + } + + void swap( basic_path & rhs ) + { + m_path.swap( rhs.m_path ); +# ifdef BOOST_CYGWIN_PATH + std::swap( m_cygwin_root, rhs.m_cygwin_root ); +# endif + } + + basic_path & remove_filename(); + basic_path & replace_extension( const string_type & new_extension = string_type() ); + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + basic_path & remove_leaf() { return remove_filename(); } +# endif + + // observers + const string_type & string() const { return m_path; } + const string_type file_string() const; + const string_type directory_string() const { return file_string(); } + + const external_string_type external_file_string() const { return Traits::to_external( *this, file_string() ); } + const external_string_type external_directory_string() const { return Traits::to_external( *this, directory_string() ); } + + basic_path root_path() const; + string_type root_name() const; + string_type root_directory() const; + basic_path relative_path() const; + basic_path parent_path() const; + string_type filename() const; + string_type stem() const; + string_type extension() const; + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + string_type leaf() const { return filename(); } + basic_path branch_path() const { return parent_path(); } + bool has_leaf() const { return !m_path.empty(); } + bool has_branch_path() const { return !parent_path().empty(); } +# endif + + bool empty() const { return m_path.empty(); } // name consistent with std containers + bool is_complete() const; + bool has_root_path() const; + bool has_root_name() const; + bool has_root_directory() const; + bool has_relative_path() const { return !relative_path().empty(); } + bool has_filename() const { return !m_path.empty(); } + bool has_parent_path() const { return !parent_path().empty(); } + + // iterators + class iterator : public boost::iterator_facade< + iterator, + string_type const, + boost::bidirectional_traversal_tag > + { + private: + friend class boost::iterator_core_access; + friend class boost::BOOST_FILESYSTEM_NAMESPACE::basic_path; + + const string_type & dereference() const + { return m_name; } + bool equal( const iterator & rhs ) const + { return m_path_ptr == rhs.m_path_ptr && m_pos == rhs.m_pos; } + + friend class boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper; + + void increment() + { + boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper::do_increment( + *this ); + } + void decrement() + { + boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper::do_decrement( + *this ); + } + + string_type m_name; // current element + const basic_path * m_path_ptr; // path being iterated over + typename string_type::size_type m_pos; // position of name in + // path_ptr->string(). The + // end() iterator is indicated by + // pos == path_ptr->m_path.size() + }; // iterator + + typedef iterator const_iterator; + + iterator begin() const; + iterator end() const; + + private: + // Note: This is an implementation for POSIX and Windows, where there + // are only minor differences between generic and native path grammars. + // Private members might be quite different in other implementations, + // particularly where there were wide differences between portable and + // native path formats, or between file_string() and + // directory_string() formats, or simply that the implementation + // was willing expend additional memory to achieve greater speed for + // some operations at the expense of other operations. + + string_type m_path; // invariant: portable path grammar + // on Windows, backslashes converted to slashes + +# ifdef BOOST_CYGWIN_PATH + bool m_cygwin_root; // if present, m_path[0] was slash. note: initialization + // done by append +# endif + + void m_append_separator_if_needed(); + void m_append( value_type value ); // converts Windows alt_separator + + // Was qualified; como433beta8 reports: + // warning #427-D: qualified name is not allowed in member declaration + friend class iterator; + friend class boost::BOOST_FILESYSTEM_NAMESPACE::detail::iterator_helper; + + // Deprecated features ease transition for existing code. Don't use these + // in new code. +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + public: + typedef bool (*name_check)( const std::string & name ); + basic_path( const string_type & str, name_check ) { operator/=( str ); } + basic_path( const typename string_type::value_type * s, name_check ) + { operator/=( s );} + string_type native_file_string() const { return file_string(); } + string_type native_directory_string() const { return directory_string(); } + static bool default_name_check_writable() { return false; } + static void default_name_check( name_check ) {} + static name_check default_name_check() { return 0; } + basic_path & canonize(); + basic_path & normalize(); +# endif + }; + + // basic_path non-member functions ---------------------------------------// + + template< class String, class Traits > + inline void swap( basic_path & lhs, + basic_path & rhs ) { lhs.swap( rhs ); } + + template< class String, class Traits > + bool operator<( const basic_path & lhs, const basic_path & rhs ) + { + return std::lexicographical_compare( + lhs.begin(), lhs.end(), rhs.begin(), rhs.end() ); + } + + template< class String, class Traits > + bool operator<( const typename basic_path::string_type::value_type * lhs, + const basic_path & rhs ) + { + basic_path tmp( lhs ); + return std::lexicographical_compare( + tmp.begin(), tmp.end(), rhs.begin(), rhs.end() ); + } + + template< class String, class Traits > + bool operator<( const typename basic_path::string_type & lhs, + const basic_path & rhs ) + { + basic_path tmp( lhs ); + return std::lexicographical_compare( + tmp.begin(), tmp.end(), rhs.begin(), rhs.end() ); + } + + template< class String, class Traits > + bool operator<( const basic_path & lhs, + const typename basic_path::string_type::value_type * rhs ) + { + basic_path tmp( rhs ); + return std::lexicographical_compare( + lhs.begin(), lhs.end(), tmp.begin(), tmp.end() ); + } + + template< class String, class Traits > + bool operator<( const basic_path & lhs, + const typename basic_path::string_type & rhs ) + { + basic_path tmp( rhs ); + return std::lexicographical_compare( + lhs.begin(), lhs.end(), tmp.begin(), tmp.end() ); + } + + // operator == uses hand-written compare rather than !(lhs < rhs) && !(rhs < lhs) + // because the result is the same yet the direct compare is much more efficient + // than lexicographical_compare, which would also be called twice. + + template< class String, class Traits > + inline bool operator==( const basic_path & lhs, + const typename basic_path::string_type::value_type * rhs ) + { + typedef typename + boost::BOOST_FILESYSTEM_NAMESPACE::basic_path path_type; + const typename path_type::string_type::value_type * l (lhs.string().c_str()); + while ( (*l == *rhs +# ifdef BOOST_WINDOWS_PATH + || (*l == path_alt_separator::value && *rhs == slash::value) + || (*l == slash::value && *rhs == path_alt_separator::value) +# endif + ) && *l ) { ++l; ++rhs; } + return *l == *rhs +# ifdef BOOST_WINDOWS_PATH + || (*l == path_alt_separator::value && *rhs == slash::value) + || (*l == slash::value && *rhs == path_alt_separator::value) +# endif + ; + } + + template< class String, class Traits > + inline bool operator==( const basic_path & lhs, + const basic_path & rhs ) + { + return lhs == rhs.string().c_str(); + } + + template< class String, class Traits > + inline bool operator==( const typename basic_path::string_type::value_type * lhs, + const basic_path & rhs ) + { + return rhs == lhs; + } + + template< class String, class Traits > + inline bool operator==( const typename basic_path::string_type & lhs, + const basic_path & rhs ) + { + return rhs == lhs.c_str(); + } + + template< class String, class Traits > + inline bool operator==( const basic_path & lhs, + const typename basic_path::string_type & rhs ) + { + return lhs == rhs.c_str(); + } + + template< class String, class Traits > + inline bool operator!=( const basic_path & lhs, + const basic_path & rhs ) + { return !(lhs == rhs); } + + template< class String, class Traits > + inline bool operator!=( const typename basic_path::string_type::value_type * lhs, + const basic_path & rhs ) + { return !(lhs == rhs); } + + template< class String, class Traits > + inline bool operator!=( const typename basic_path::string_type & lhs, + const basic_path & rhs ) + { return !(lhs == rhs); } + + template< class String, class Traits > + inline bool operator!=( const basic_path & lhs, + const typename basic_path::string_type::value_type * rhs ) + { return !(lhs == rhs); } + + template< class String, class Traits > + inline bool operator!=( const basic_path & lhs, + const typename basic_path::string_type & rhs ) + { return !(lhs == rhs); } + + template< class String, class Traits > + inline bool operator>( const basic_path & lhs, const basic_path & rhs ) { return rhs < lhs; } + + template< class String, class Traits > + inline bool operator>( const typename basic_path::string_type::value_type * lhs, + const basic_path & rhs ) { return rhs < basic_path(lhs); } + + template< class String, class Traits > + inline bool operator>( const typename basic_path::string_type & lhs, + const basic_path & rhs ) { return rhs < basic_path(lhs); } + + template< class String, class Traits > + inline bool operator>( const basic_path & lhs, + const typename basic_path::string_type::value_type * rhs ) + { return basic_path(rhs) < lhs; } + + template< class String, class Traits > + inline bool operator>( const basic_path & lhs, + const typename basic_path::string_type & rhs ) + { return basic_path(rhs) < lhs; } + + template< class String, class Traits > + inline bool operator<=( const basic_path & lhs, const basic_path & rhs ) { return !(rhs < lhs); } + + template< class String, class Traits > + inline bool operator<=( const typename basic_path::string_type::value_type * lhs, + const basic_path & rhs ) { return !(rhs < basic_path(lhs)); } + + template< class String, class Traits > + inline bool operator<=( const typename basic_path::string_type & lhs, + const basic_path & rhs ) { return !(rhs < basic_path(lhs)); } + + template< class String, class Traits > + inline bool operator<=( const basic_path & lhs, + const typename basic_path::string_type::value_type * rhs ) + { return !(basic_path(rhs) < lhs); } + + template< class String, class Traits > + inline bool operator<=( const basic_path & lhs, + const typename basic_path::string_type & rhs ) + { return !(basic_path(rhs) < lhs); } + + template< class String, class Traits > + inline bool operator>=( const basic_path & lhs, const basic_path & rhs ) { return !(lhs < rhs); } + + template< class String, class Traits > + inline bool operator>=( const typename basic_path::string_type::value_type * lhs, + const basic_path & rhs ) { return !(lhs < basic_path(rhs)); } + + template< class String, class Traits > + inline bool operator>=( const typename basic_path::string_type & lhs, + const basic_path & rhs ) { return !(lhs < basic_path(rhs)); } + + template< class String, class Traits > + inline bool operator>=( const basic_path & lhs, + const typename basic_path::string_type::value_type * rhs ) + { return !(basic_path(lhs) < rhs); } + + template< class String, class Traits > + inline bool operator>=( const basic_path & lhs, + const typename basic_path::string_type & rhs ) + { return !(basic_path(lhs) < rhs); } + + // operator / + + template< class String, class Traits > + inline basic_path operator/( + const basic_path & lhs, + const basic_path & rhs ) + { return basic_path( lhs ) /= rhs; } + + template< class String, class Traits > + inline basic_path operator/( + const basic_path & lhs, + const typename String::value_type * rhs ) + { return basic_path( lhs ) /= + basic_path( rhs ); } + + template< class String, class Traits > + inline basic_path operator/( + const basic_path & lhs, const String & rhs ) + { return basic_path( lhs ) /= + basic_path( rhs ); } + + template< class String, class Traits > + inline basic_path operator/( + const typename String::value_type * lhs, + const basic_path & rhs ) + { return basic_path( lhs ) /= rhs; } + + template< class String, class Traits > + inline basic_path operator/( + const String & lhs, const basic_path & rhs ) + { return basic_path( lhs ) /= rhs; } + + // inserters and extractors --------------------------------------------// + +// bypass VC++ 7.0 and earlier, and broken Borland compilers +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) && !BOOST_WORKAROUND(__BORLANDC__, < 0x610) + template< class Path > + std::basic_ostream< typename Path::string_type::value_type, + typename Path::string_type::traits_type > & + operator<< + ( std::basic_ostream< typename Path::string_type::value_type, + typename Path::string_type::traits_type >& os, const Path & ph ) + { + os << ph.string(); + return os; + } + + template< class Path > + std::basic_istream< typename Path::string_type::value_type, + typename Path::string_type::traits_type > & + operator>> + ( std::basic_istream< typename Path::string_type::value_type, + typename Path::string_type::traits_type >& is, Path & ph ) + { + typename Path::string_type str; + is >> str; + ph = str; + return is; + } +# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + template< class String, class Traits > + std::basic_ostream< BOOST_DEDUCED_TYPENAME String::value_type, + BOOST_DEDUCED_TYPENAME String::traits_type > & + operator<< + ( std::basic_ostream< BOOST_DEDUCED_TYPENAME String::value_type, + BOOST_DEDUCED_TYPENAME String::traits_type >& os, + const basic_path< String, Traits > & ph ) + { + os << ph.string(); + return os; + } + + template< class String, class Traits > + std::basic_istream< BOOST_DEDUCED_TYPENAME String::value_type, + BOOST_DEDUCED_TYPENAME String::traits_type > & + operator>> + ( std::basic_istream< BOOST_DEDUCED_TYPENAME String::value_type, + BOOST_DEDUCED_TYPENAME String::traits_type> & is, + basic_path< String, Traits > & ph ) + { + String str; + is >> str; + ph = str; + return is; + } +# endif + + // basic_filesystem_error helpers --------------------------------------// + + // Originally choice of implementation was done via specialization of + // basic_filesystem_error::what(). Several compilers (GCC, aCC, etc.) + // couldn't handle that, so the choice is now accomplished by overloading. + + namespace detail + { + // BOOST_FILESYSTEM_DECL version works for VC++ but not GCC. Go figure! + inline + const char * what( const char * sys_err_what, + const path & path1_arg, const path & path2_arg, std::string & target ) + { + try + { + if ( target.empty() ) + { + target = sys_err_what; + if ( !path1_arg.empty() ) + { + target += ": \""; + target += path1_arg.file_string(); + target += "\""; + } + if ( !path2_arg.empty() ) + { + target += ", \""; + target += path2_arg.file_string(); + target += "\""; + } + } + return target.c_str(); + } + catch (...) + { + return sys_err_what; + } + } + + template + const char * what( const char * sys_err_what, + const Path & /*path1_arg*/, const Path & /*path2_arg*/, std::string & /*target*/ ) + { + return sys_err_what; + } + } + + // basic_filesystem_error ----------------------------------------------// + + template + class basic_filesystem_error : public system::system_error + { + // see http://www.boost.org/more/error_handling.html for design rationale + public: + // compiler generates copy constructor and copy assignment + + typedef Path path_type; + + basic_filesystem_error( const std::string & what_arg, + system::error_code ec ); + + basic_filesystem_error( const std::string & what_arg, + const path_type & path1_arg, system::error_code ec ); + + basic_filesystem_error( const std::string & what_arg, const path_type & path1_arg, + const path_type & path2_arg, system::error_code ec ); + + ~basic_filesystem_error() throw() {} + + const path_type & path1() const + { + static const path_type empty_path; + return m_imp_ptr.get() ? m_imp_ptr->m_path1 : empty_path ; + } + const path_type & path2() const + { + static const path_type empty_path; + return m_imp_ptr.get() ? m_imp_ptr->m_path2 : empty_path ; + } + + const char * what() const throw() + { + if ( !m_imp_ptr.get() ) + return system::system_error::what(); + return detail::what( system::system_error::what(), m_imp_ptr->m_path1, + m_imp_ptr->m_path2, m_imp_ptr->m_what ); + } + + private: + struct m_imp + { + path_type m_path1; // may be empty() + path_type m_path2; // may be empty() + std::string m_what; // not built until needed + }; + boost::shared_ptr m_imp_ptr; + }; + + typedef basic_filesystem_error filesystem_error; + +# ifndef BOOST_FILESYSTEM_NARROW_ONLY + typedef basic_filesystem_error wfilesystem_error; +# endif + + // path::name_checks -----------------------------------------------------// + + BOOST_FILESYSTEM_DECL bool portable_posix_name( const std::string & name ); + BOOST_FILESYSTEM_DECL bool windows_name( const std::string & name ); + BOOST_FILESYSTEM_DECL bool portable_name( const std::string & name ); + BOOST_FILESYSTEM_DECL bool portable_directory_name( const std::string & name ); + BOOST_FILESYSTEM_DECL bool portable_file_name( const std::string & name ); + BOOST_FILESYSTEM_DECL bool native( const std::string & name ); + inline bool no_check( const std::string & ) + { return true; } + +// implementation -----------------------------------------------------------// + + namespace detail + { + + // is_separator helper ------------------------------------------------// + + template + inline bool is_separator( typename Path::string_type::value_type c ) + { + return c == slash::value +# ifdef BOOST_WINDOWS_PATH + || c == path_alt_separator::value +# endif + ; + } + + // filename_pos helper ----------------------------------------------------// + + template + typename String::size_type filename_pos( + const String & str, // precondition: portable generic path grammar + typename String::size_type end_pos ) // end_pos is past-the-end position + // return 0 if str itself is filename (or empty) + { + typedef typename + boost::BOOST_FILESYSTEM_NAMESPACE::basic_path path_type; + + // case: "//" + if ( end_pos == 2 + && str[0] == slash::value + && str[1] == slash::value ) return 0; + + // case: ends in "/" + if ( end_pos && str[end_pos-1] == slash::value ) + return end_pos-1; + + // set pos to start of last element + typename String::size_type pos( + str.find_last_of( slash::value, end_pos-1 ) ); +# ifdef BOOST_WINDOWS_PATH + if ( pos == String::npos ) + pos = str.find_last_of( path_alt_separator::value, end_pos-1 ); + if ( pos == String::npos ) + pos = str.find_last_of( colon::value, end_pos-2 ); +# endif + + return ( pos == String::npos // path itself must be a filename (or empty) + || (pos == 1 && str[0] == slash::value) ) // or net + ? 0 // so filename is entire string + : pos + 1; // or starts after delimiter + } + + // first_element helper -----------------------------------------------// + // sets pos and len of first element, excluding extra separators + // if src.empty(), sets pos,len, to 0,0. + + template + void first_element( + const String & src, // precondition: portable generic path grammar + typename String::size_type & element_pos, + typename String::size_type & element_size, +# if !BOOST_WORKAROUND( BOOST_MSVC, <= 1310 ) // VC++ 7.1 + typename String::size_type size = String::npos +# else + typename String::size_type size = -1 +# endif + ) + { + if ( size == String::npos ) size = src.size(); + element_pos = 0; + element_size = 0; + if ( src.empty() ) return; + + typedef typename boost::BOOST_FILESYSTEM_NAMESPACE::basic_path path_type; + + typename String::size_type cur(0); + + // deal with // [network] + if ( size >= 2 && src[0] == slash::value + && src[1] == slash::value + && (size == 2 + || src[2] != slash::value) ) + { + cur += 2; + element_size += 2; + } + + // leading (not non-network) separator + else if ( src[0] == slash::value ) + { + ++element_size; + // bypass extra leading separators + while ( cur+1 < size + && src[cur+1] == slash::value ) + { + ++cur; + ++element_pos; + } + return; + } + + // at this point, we have either a plain name, a network name, + // or (on Windows only) a device name + + // find the end + while ( cur < size +# ifdef BOOST_WINDOWS_PATH + && src[cur] != colon::value +# endif + && src[cur] != slash::value ) + { + ++cur; + ++element_size; + } + +# ifdef BOOST_WINDOWS_PATH + if ( cur == size ) return; + // include device delimiter + if ( src[cur] == colon::value ) + { ++element_size; } +# endif + + return; + } + + // root_directory_start helper ----------------------------------------// + + template + typename String::size_type root_directory_start( + const String & s, // precondition: portable generic path grammar + typename String::size_type size ) + // return npos if no root_directory found + { + typedef typename boost::BOOST_FILESYSTEM_NAMESPACE::basic_path path_type; + +# ifdef BOOST_WINDOWS_PATH + // case "c:/" + if ( size > 2 + && s[1] == colon::value + && s[2] == slash::value ) return 2; +# endif + + // case "//" + if ( size == 2 + && s[0] == slash::value + && s[1] == slash::value ) return String::npos; + + // case "//net {/}" + if ( size > 3 + && s[0] == slash::value + && s[1] == slash::value + && s[2] != slash::value ) + { + typename String::size_type pos( + s.find( slash::value, 2 ) ); + return pos < size ? pos : String::npos; + } + + // case "/" + if ( size > 0 && s[0] == slash::value ) return 0; + + return String::npos; + } + + // is_non_root_slash helper -------------------------------------------// + + template + bool is_non_root_slash( const String & str, + typename String::size_type pos ) // pos is position of the slash + { + typedef typename + boost::BOOST_FILESYSTEM_NAMESPACE::basic_path + path_type; + + assert( !str.empty() && str[pos] == slash::value + && "precondition violation" ); + + // subsequent logic expects pos to be for leftmost slash of a set + while ( pos > 0 && str[pos-1] == slash::value ) + --pos; + + return pos != 0 + && (pos <= 2 || str[1] != slash::value + || str.find( slash::value, 2 ) != pos) +# ifdef BOOST_WINDOWS_PATH + && (pos !=2 || str[1] != colon::value) +# endif + ; + } + } // namespace detail + + // decomposition functions ----------------------------------------------// + + template + String basic_path::filename() const + { + typename String::size_type end_pos( + detail::filename_pos( m_path, m_path.size() ) ); + return (m_path.size() + && end_pos + && m_path[end_pos] == slash::value + && detail::is_non_root_slash< String, Traits >(m_path, end_pos)) + ? String( 1, dot::value ) + : m_path.substr( end_pos ); + } + + template + String basic_path::stem() const + { + string_type name = filename(); + typename string_type::size_type n = name.rfind(dot::value); + return name.substr(0, n); + } + + template + String basic_path::extension() const + { + string_type name = filename(); + typename string_type::size_type n = name.rfind(dot::value); + if (n != string_type::npos) + return name.substr(n); + else + return string_type(); + } + + template + basic_path basic_path::parent_path() const + { + typename String::size_type end_pos( + detail::filename_pos( m_path, m_path.size() ) ); + + bool filename_was_separator( m_path.size() + && m_path[end_pos] == slash::value ); + + // skip separators unless root directory + typename string_type::size_type root_dir_pos( detail::root_directory_start + ( m_path, end_pos ) ); + for ( ; + end_pos > 0 + && (end_pos-1) != root_dir_pos + && m_path[end_pos-1] == slash::value + ; + --end_pos ) {} + + return (end_pos == 1 && root_dir_pos == 0 && filename_was_separator) + ? path_type() + : path_type( m_path.substr( 0, end_pos ) ); + } + + template + basic_path basic_path::relative_path() const + { + iterator itr( begin() ); + for ( ; itr.m_pos != m_path.size() + && (itr.m_name[0] == slash::value +# ifdef BOOST_WINDOWS_PATH + || itr.m_name[itr.m_name.size()-1] + == colon::value +# endif + ); ++itr ) {} + + return basic_path( m_path.substr( itr.m_pos ) ); + } + + template + String basic_path::root_name() const + { + iterator itr( begin() ); + + return ( itr.m_pos != m_path.size() + && ( + ( itr.m_name.size() > 1 + && itr.m_name[0] == slash::value + && itr.m_name[1] == slash::value + ) +# ifdef BOOST_WINDOWS_PATH + || itr.m_name[itr.m_name.size()-1] + == colon::value +# endif + ) ) + ? *itr + : String(); + } + + template + String basic_path::root_directory() const + { + typename string_type::size_type start( + detail::root_directory_start( m_path, m_path.size() ) ); + + return start == string_type::npos + ? string_type() + : m_path.substr( start, 1 ); + } + + template + basic_path basic_path::root_path() const + { + // even on POSIX, root_name() is non-empty() on network paths + return basic_path( root_name() ) /= root_directory(); + } + + // path query functions -------------------------------------------------// + + template + inline bool basic_path::is_complete() const + { +# ifdef BOOST_WINDOWS_PATH + return has_root_name() && has_root_directory(); +# else + return has_root_directory(); +# endif + } + + template + inline bool basic_path::has_root_path() const + { + return !root_path().empty(); + } + + template + inline bool basic_path::has_root_name() const + { + return !root_name().empty(); + } + + template + inline bool basic_path::has_root_directory() const + { + return !root_directory().empty(); + } + + // append ---------------------------------------------------------------// + + template + void basic_path::m_append_separator_if_needed() + // requires: !empty() + { + if ( +# ifdef BOOST_WINDOWS_PATH + *(m_path.end()-1) != colon::value && +# endif + *(m_path.end()-1) != slash::value ) + { + m_path += slash::value; + } + } + + template + void basic_path::m_append( value_type value ) + { +# ifdef BOOST_CYGWIN_PATH + if ( m_path.empty() ) m_cygwin_root = (value == slash::value); +# endif + +# ifdef BOOST_WINDOWS_PATH + // for BOOST_WINDOWS_PATH, convert alt_separator ('\') to separator ('/') + m_path += ( value == path_alt_separator::value + ? slash::value + : value ); +# else + m_path += value; +# endif + } + + // except that it wouldn't work for BOOST_NO_MEMBER_TEMPLATES compilers, + // the append() member template could replace this code. + template + basic_path & basic_path::operator /= + ( const value_type * next_p ) + { + // ignore escape sequence on POSIX or Windows + if ( *next_p == slash::value + && *(next_p+1) == slash::value + && *(next_p+2) == colon::value ) next_p += 3; + + // append slash::value if needed + if ( !empty() && *next_p != 0 + && !detail::is_separator( *next_p ) ) + { m_append_separator_if_needed(); } + + for ( ; *next_p != 0; ++next_p ) m_append( *next_p ); + return *this; + } + +# ifndef BOOST_NO_MEMBER_TEMPLATES + template template + basic_path & basic_path::append( + InputIterator first, InputIterator last ) + { + // append slash::value if needed + if ( !empty() && first != last + && !detail::is_separator( *first ) ) + { m_append_separator_if_needed(); } + + // song-and-dance to avoid violating InputIterator requirements + // (which prohibit lookahead) in detecting a possible escape sequence + // (escape sequences are simply ignored on POSIX and Windows) + bool was_escape_sequence(true); + std::size_t append_count(0); + typename String::size_type initial_pos( m_path.size() ); + + for ( ; first != last && *first; ++first ) + { + if ( append_count == 0 && *first != slash::value ) + was_escape_sequence = false; + if ( append_count == 1 && *first != slash::value ) + was_escape_sequence = false; + if ( append_count == 2 && *first != colon::value ) + was_escape_sequence = false; + m_append( *first ); + ++append_count; + } + + // erase escape sequence if any + if ( was_escape_sequence && append_count >= 3 ) + m_path.erase( initial_pos, 3 ); + + return *this; + } +# endif + +# ifndef BOOST_FILESYSTEM_NO_DEPRECATED + + // canonize ------------------------------------------------------------// + + template + basic_path & basic_path::canonize() + { + static const typename string_type::value_type dot_str[] + = { dot::value, 0 }; + + if ( m_path.empty() ) return *this; + + path_type temp; + + for ( iterator itr( begin() ); itr != end(); ++itr ) + { + temp /= *itr; + }; + + if ( temp.empty() ) temp /= dot_str; + m_path = temp.m_path; + return *this; + } + + // normalize ------------------------------------------------------------// + + template + basic_path & basic_path::normalize() + { + static const typename string_type::value_type dot_str[] + = { dot::value, 0 }; + + if ( m_path.empty() ) return *this; + + path_type temp; + iterator start( begin() ); + iterator last( end() ); + iterator stop( last-- ); + for ( iterator itr( start ); itr != stop; ++itr ) + { + // ignore "." except at start and last + if ( itr->size() == 1 + && (*itr)[0] == dot::value + && itr != start + && itr != last ) continue; + + // ignore a name and following ".." + if ( !temp.empty() + && itr->size() == 2 + && (*itr)[0] == dot::value + && (*itr)[1] == dot::value ) // dot dot + { + string_type lf( temp.filename() ); + if ( lf.size() > 0 + && (lf.size() != 1 + || (lf[0] != dot::value + && lf[0] != slash::value)) + && (lf.size() != 2 + || (lf[0] != dot::value + && lf[1] != dot::value +# ifdef BOOST_WINDOWS_PATH + && lf[1] != colon::value +# endif + ) + ) + ) + { + temp.remove_filename(); + // if not root directory, must also remove "/" if any + if ( temp.m_path.size() > 0 + && temp.m_path[temp.m_path.size()-1] + == slash::value ) + { + typename string_type::size_type rds( + detail::root_directory_start( temp.m_path, + temp.m_path.size() ) ); + if ( rds == string_type::npos + || rds != temp.m_path.size()-1 ) + { temp.m_path.erase( temp.m_path.size()-1 ); } + } + + iterator next( itr ); + if ( temp.empty() && ++next != stop + && next == last && *last == dot_str ) temp /= dot_str; + continue; + } + } + + temp /= *itr; + }; + + if ( temp.empty() ) temp /= dot_str; + m_path = temp.m_path; + return *this; + } + +# endif + + // modifiers ------------------------------------------------------------// + + template + basic_path & basic_path::remove_filename() + { + m_path.erase( + detail::filename_pos( m_path, m_path.size() ) ); + return *this; + } + + template + basic_path & + basic_path::replace_extension( const string_type & new_ext ) + { + // erase existing extension if any + string_type old_ext = extension(); + if ( !old_ext.empty() ) + m_path.erase( m_path.size() - old_ext.size() ); + + if ( !new_ext.empty() && new_ext[0] != dot::value ) + m_path += dot::value; + + m_path += new_ext; + + return *this; + } + + + // path conversion functions --------------------------------------------// + + template + const String + basic_path::file_string() const + { +# ifdef BOOST_WINDOWS_PATH + // for Windows, use the alternate separator, and bypass extra + // root separators + + typename string_type::size_type root_dir_start( + detail::root_directory_start( m_path, m_path.size() ) ); + bool in_root( root_dir_start != string_type::npos ); + String s; + for ( typename string_type::size_type pos( 0 ); + pos != m_path.size(); ++pos ) + { + // special case // [net] + if ( pos == 0 && m_path.size() > 1 + && m_path[0] == slash::value + && m_path[1] == slash::value + && ( m_path.size() == 2 + || !detail::is_separator( m_path[2] ) + ) ) + { + ++pos; + s += path_alt_separator::value; + s += path_alt_separator::value; + continue; + } + + // bypass extra root separators + if ( in_root ) + { + if ( s.size() > 0 + && s[s.size()-1] == path_alt_separator::value + && m_path[pos] == slash::value + ) continue; + } + + if ( m_path[pos] == slash::value ) + s += path_alt_separator::value; + else + s += m_path[pos]; + + if ( pos > root_dir_start + && m_path[pos] == slash::value ) + { in_root = false; } + } +# ifdef BOOST_CYGWIN_PATH + if ( m_cygwin_root ) s[0] = slash::value; +# endif + return s; +# else + return m_path; +# endif + } + + // iterator functions ---------------------------------------------------// + + template + typename basic_path::iterator basic_path::begin() const + { + iterator itr; + itr.m_path_ptr = this; + typename string_type::size_type element_size; + detail::first_element( m_path, itr.m_pos, element_size ); + itr.m_name = m_path.substr( itr.m_pos, element_size ); + return itr; + } + + template + typename basic_path::iterator basic_path::end() const + { + iterator itr; + itr.m_path_ptr = this; + itr.m_pos = m_path.size(); + return itr; + } + + namespace detail + { + // do_increment ------------------------------------------------------// + + template + void iterator_helper::do_increment( iterator & itr ) + { + typedef typename Path::string_type string_type; + typedef typename Path::traits_type traits_type; + + assert( itr.m_pos < itr.m_path_ptr->m_path.size() && "basic_path::iterator increment past end()" ); + + bool was_net( itr.m_name.size() > 2 + && itr.m_name[0] == slash::value + && itr.m_name[1] == slash::value + && itr.m_name[2] != slash::value ); + + // increment to position past current element + itr.m_pos += itr.m_name.size(); + + // if end reached, create end iterator + if ( itr.m_pos == itr.m_path_ptr->m_path.size() ) + { + itr.m_name.erase( itr.m_name.begin(), itr.m_name.end() ); // VC++ 6.0 lib didn't supply clear() + return; + } + + // process separator (Windows drive spec is only case not a separator) + if ( itr.m_path_ptr->m_path[itr.m_pos] == slash::value ) + { + // detect root directory + if ( was_net + # ifdef BOOST_WINDOWS_PATH + // case "c:/" + || itr.m_name[itr.m_name.size()-1] == colon::value + # endif + ) + { + itr.m_name = slash::value; + return; + } + + // bypass separators + while ( itr.m_pos != itr.m_path_ptr->m_path.size() + && itr.m_path_ptr->m_path[itr.m_pos] == slash::value ) + { ++itr.m_pos; } + + // detect trailing separator, and treat it as ".", per POSIX spec + if ( itr.m_pos == itr.m_path_ptr->m_path.size() + && detail::is_non_root_slash< string_type, traits_type >( + itr.m_path_ptr->m_path, itr.m_pos-1 ) ) + { + --itr.m_pos; + itr.m_name = dot::value; + return; + } + } + + // get next element + typename string_type::size_type end_pos( + itr.m_path_ptr->m_path.find( slash::value, itr.m_pos ) ); + itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos ); + } + + // do_decrement ------------------------------------------------------// + + template + void iterator_helper::do_decrement( iterator & itr ) + { + assert( itr.m_pos && "basic_path::iterator decrement past begin()" ); + + typedef typename Path::string_type string_type; + typedef typename Path::traits_type traits_type; + + typename string_type::size_type end_pos( itr.m_pos ); + + typename string_type::size_type root_dir_pos( + detail::root_directory_start( + itr.m_path_ptr->m_path, end_pos ) ); + + // if at end and there was a trailing non-root '/', return "." + if ( itr.m_pos == itr.m_path_ptr->m_path.size() + && itr.m_path_ptr->m_path.size() > 1 + && itr.m_path_ptr->m_path[itr.m_pos-1] == slash::value + && detail::is_non_root_slash< string_type, traits_type >( + itr.m_path_ptr->m_path, itr.m_pos-1 ) + ) + { + --itr.m_pos; + itr.m_name = dot::value; + return; + } + + // skip separators unless root directory + for ( + ; + end_pos > 0 + && (end_pos-1) != root_dir_pos + && itr.m_path_ptr->m_path[end_pos-1] == slash::value + ; + --end_pos ) {} + + itr.m_pos = detail::filename_pos + ( itr.m_path_ptr->m_path, end_pos ); + itr.m_name = itr.m_path_ptr->m_path.substr( itr.m_pos, end_pos - itr.m_pos ); + } + } // namespace detail + + // basic_filesystem_error implementation --------------------------------// + + template + basic_filesystem_error::basic_filesystem_error( + const std::string & what_arg, system::error_code ec ) + : system::system_error(ec, what_arg) + { + try + { + m_imp_ptr.reset( new m_imp ); + } + catch (...) { m_imp_ptr.reset(); } + } + + template + basic_filesystem_error::basic_filesystem_error( + const std::string & what_arg, const path_type & path1_arg, + system::error_code ec ) + : system::system_error(ec, what_arg) + { + try + { + m_imp_ptr.reset( new m_imp ); + m_imp_ptr->m_path1 = path1_arg; + } + catch (...) { m_imp_ptr.reset(); } + } + + template + basic_filesystem_error::basic_filesystem_error( + const std::string & what_arg, const path_type & path1_arg, + const path_type & path2_arg, system::error_code ec ) + : system::system_error(ec, what_arg) + { + try + { + m_imp_ptr.reset( new m_imp ); + m_imp_ptr->m_path1 = path1_arg; + m_imp_ptr->m_path2 = path2_arg; + } + catch (...) { m_imp_ptr.reset(); } + } + + } // namespace BOOST_FILESYSTEM_NAMESPACE +} // namespace boost + +#include // pops abi_prefix.hpp pragmas + +#endif // BOOST_FILESYSTEM_PATH_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function.hpp new file mode 100644 index 0000000..944ff83 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function.hpp @@ -0,0 +1,66 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2001-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org/libs/function + +// William Kempf, Jesse Jones and Karl Nelson were all very helpful in the +// design of this library. + +#include // unary_function, binary_function + +#include +#include + +#ifndef BOOST_FUNCTION_MAX_ARGS +# define BOOST_FUNCTION_MAX_ARGS 10 +#endif // BOOST_FUNCTION_MAX_ARGS + +// Include the prologue here so that the use of file-level iteration +// in anything that may be included by function_template.hpp doesn't break +#include + +// Visual Age C++ doesn't handle the file iteration well +#if BOOST_WORKAROUND(__IBMCPP__, >= 500) +# if BOOST_FUNCTION_MAX_ARGS >= 0 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 1 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 2 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 3 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 4 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 5 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 6 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 7 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 8 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 9 +# include +# endif +# if BOOST_FUNCTION_MAX_ARGS >= 10 +# include +# endif +#else +// What is the '3' for? +# define BOOST_PP_ITERATION_PARAMS_1 (3,(0,BOOST_FUNCTION_MAX_ARGS,)) +# include BOOST_PP_ITERATE() +# undef BOOST_PP_ITERATION_PARAMS_1 +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/function_iterate.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/function_iterate.hpp new file mode 100644 index 0000000..d068cb7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/function_iterate.hpp @@ -0,0 +1,16 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org +#if !defined(BOOST_PP_IS_ITERATING) +# error Boost.Function - do not include this file! +#endif + +#define BOOST_FUNCTION_NUM_ARGS BOOST_PP_ITERATION() +#include +#undef BOOST_FUNCTION_NUM_ARGS + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/gen_maybe_include.pl b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/gen_maybe_include.pl new file mode 100644 index 0000000..1bfaab7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/gen_maybe_include.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl -w +# +# Boost.Function library +# +# Copyright (C) 2001-2003 Douglas Gregor (gregod@cs.rpi.edu) +# +# Permission to copy, use, sell and distribute this software is granted +# provided this copyright notice appears in all copies. +# Permission to modify the code and to distribute modified code is granted +# provided this copyright notice appears in all copies, and a notice +# that the code was modified is included with the copyright notice. +# +# This software is provided "as is" without express or implied warranty, +# and with no claim as to its suitability for any purpose. +# +# For more information, see http://www.boost.org +use English; + +$max_args = $ARGV[0]; + +open (OUT, ">maybe_include.hpp") or die("Cannot write to maybe_include.hpp"); +for($on_arg = 0; $on_arg <= $max_args; ++$on_arg) { + if ($on_arg == 0) { + print OUT "#if"; + } + else { + print OUT "#elif"; + } + print OUT " BOOST_FUNCTION_NUM_ARGS == $on_arg\n"; + print OUT "# ifndef BOOST_FUNCTION_$on_arg\n"; + print OUT "# define BOOST_FUNCTION_$on_arg\n"; + print OUT "# include \n"; + print OUT "# endif\n"; +} +print OUT "#else\n"; +print OUT "# error Cannot handle Boost.Function objects that accept more than $max_args arguments!\n"; +print OUT "#endif\n"; diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/maybe_include.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/maybe_include.hpp new file mode 100644 index 0000000..10beac8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/maybe_include.hpp @@ -0,0 +1,267 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#if BOOST_FUNCTION_NUM_ARGS == 0 +# ifndef BOOST_FUNCTION_0 +# define BOOST_FUNCTION_0 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 1 +# ifndef BOOST_FUNCTION_1 +# define BOOST_FUNCTION_1 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 2 +# ifndef BOOST_FUNCTION_2 +# define BOOST_FUNCTION_2 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 3 +# ifndef BOOST_FUNCTION_3 +# define BOOST_FUNCTION_3 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 4 +# ifndef BOOST_FUNCTION_4 +# define BOOST_FUNCTION_4 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 5 +# ifndef BOOST_FUNCTION_5 +# define BOOST_FUNCTION_5 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 6 +# ifndef BOOST_FUNCTION_6 +# define BOOST_FUNCTION_6 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 7 +# ifndef BOOST_FUNCTION_7 +# define BOOST_FUNCTION_7 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 8 +# ifndef BOOST_FUNCTION_8 +# define BOOST_FUNCTION_8 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 9 +# ifndef BOOST_FUNCTION_9 +# define BOOST_FUNCTION_9 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 10 +# ifndef BOOST_FUNCTION_10 +# define BOOST_FUNCTION_10 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 11 +# ifndef BOOST_FUNCTION_11 +# define BOOST_FUNCTION_11 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 12 +# ifndef BOOST_FUNCTION_12 +# define BOOST_FUNCTION_12 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 13 +# ifndef BOOST_FUNCTION_13 +# define BOOST_FUNCTION_13 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 14 +# ifndef BOOST_FUNCTION_14 +# define BOOST_FUNCTION_14 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 15 +# ifndef BOOST_FUNCTION_15 +# define BOOST_FUNCTION_15 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 16 +# ifndef BOOST_FUNCTION_16 +# define BOOST_FUNCTION_16 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 17 +# ifndef BOOST_FUNCTION_17 +# define BOOST_FUNCTION_17 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 18 +# ifndef BOOST_FUNCTION_18 +# define BOOST_FUNCTION_18 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 19 +# ifndef BOOST_FUNCTION_19 +# define BOOST_FUNCTION_19 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 20 +# ifndef BOOST_FUNCTION_20 +# define BOOST_FUNCTION_20 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 21 +# ifndef BOOST_FUNCTION_21 +# define BOOST_FUNCTION_21 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 22 +# ifndef BOOST_FUNCTION_22 +# define BOOST_FUNCTION_22 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 23 +# ifndef BOOST_FUNCTION_23 +# define BOOST_FUNCTION_23 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 24 +# ifndef BOOST_FUNCTION_24 +# define BOOST_FUNCTION_24 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 25 +# ifndef BOOST_FUNCTION_25 +# define BOOST_FUNCTION_25 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 26 +# ifndef BOOST_FUNCTION_26 +# define BOOST_FUNCTION_26 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 27 +# ifndef BOOST_FUNCTION_27 +# define BOOST_FUNCTION_27 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 28 +# ifndef BOOST_FUNCTION_28 +# define BOOST_FUNCTION_28 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 29 +# ifndef BOOST_FUNCTION_29 +# define BOOST_FUNCTION_29 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 30 +# ifndef BOOST_FUNCTION_30 +# define BOOST_FUNCTION_30 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 31 +# ifndef BOOST_FUNCTION_31 +# define BOOST_FUNCTION_31 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 32 +# ifndef BOOST_FUNCTION_32 +# define BOOST_FUNCTION_32 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 33 +# ifndef BOOST_FUNCTION_33 +# define BOOST_FUNCTION_33 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 34 +# ifndef BOOST_FUNCTION_34 +# define BOOST_FUNCTION_34 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 35 +# ifndef BOOST_FUNCTION_35 +# define BOOST_FUNCTION_35 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 36 +# ifndef BOOST_FUNCTION_36 +# define BOOST_FUNCTION_36 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 37 +# ifndef BOOST_FUNCTION_37 +# define BOOST_FUNCTION_37 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 38 +# ifndef BOOST_FUNCTION_38 +# define BOOST_FUNCTION_38 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 39 +# ifndef BOOST_FUNCTION_39 +# define BOOST_FUNCTION_39 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 40 +# ifndef BOOST_FUNCTION_40 +# define BOOST_FUNCTION_40 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 41 +# ifndef BOOST_FUNCTION_41 +# define BOOST_FUNCTION_41 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 42 +# ifndef BOOST_FUNCTION_42 +# define BOOST_FUNCTION_42 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 43 +# ifndef BOOST_FUNCTION_43 +# define BOOST_FUNCTION_43 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 44 +# ifndef BOOST_FUNCTION_44 +# define BOOST_FUNCTION_44 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 45 +# ifndef BOOST_FUNCTION_45 +# define BOOST_FUNCTION_45 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 46 +# ifndef BOOST_FUNCTION_46 +# define BOOST_FUNCTION_46 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 47 +# ifndef BOOST_FUNCTION_47 +# define BOOST_FUNCTION_47 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 48 +# ifndef BOOST_FUNCTION_48 +# define BOOST_FUNCTION_48 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 49 +# ifndef BOOST_FUNCTION_49 +# define BOOST_FUNCTION_49 +# include +# endif +#elif BOOST_FUNCTION_NUM_ARGS == 50 +# ifndef BOOST_FUNCTION_50 +# define BOOST_FUNCTION_50 +# include +# endif +#else +# error Cannot handle Boost.Function objects that accept more than 50 arguments! +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/prologue.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/prologue.hpp new file mode 100644 index 0000000..ba1ce88 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/detail/prologue.hpp @@ -0,0 +1,26 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#ifndef BOOST_FUNCTION_PROLOGUE_HPP +#define BOOST_FUNCTION_PROLOGUE_HPP +# include +# include +# include // unary_function, binary_function +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif // BOOST_FUNCTION_PROLOGUE_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function0.hpp new file mode 100644 index 0000000..e510889 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function0.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 0 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function1.hpp new file mode 100644 index 0000000..3109f50 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function1.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 1 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function10.hpp new file mode 100644 index 0000000..0818f67 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function10.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 10 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function2.hpp new file mode 100644 index 0000000..76e3b8c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function2.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 2 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function3.hpp new file mode 100644 index 0000000..dd4f8cf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function3.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 3 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function4.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function4.hpp new file mode 100644 index 0000000..32357e7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function4.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 4 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function5.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function5.hpp new file mode 100644 index 0000000..72f1479 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function5.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 5 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function6.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function6.hpp new file mode 100644 index 0000000..1f82528 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function6.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 6 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function7.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function7.hpp new file mode 100644 index 0000000..bf827b3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function7.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 7 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function8.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function8.hpp new file mode 100644 index 0000000..4511bc4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function8.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 8 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function9.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function9.hpp new file mode 100644 index 0000000..05725d5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function9.hpp @@ -0,0 +1,12 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2002-2003. Use, modification and +// distribution is subject to the Boost Software License, Version +// 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#define BOOST_FUNCTION_NUM_ARGS 9 +#include +#undef BOOST_FUNCTION_NUM_ARGS diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_base.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_base.hpp new file mode 100644 index 0000000..d528ea2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_base.hpp @@ -0,0 +1,904 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2001-2006 +// Copyright Emil Dotchevski 2007 +// Use, modification and distribution is subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +#ifndef BOOST_FUNCTION_BASE_HEADER +#define BOOST_FUNCTION_BASE_HEADER + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef BOOST_NO_SFINAE +# include "boost/utility/enable_if.hpp" +#else +# include "boost/mpl/bool.hpp" +#endif +#include +#include + +#if defined(BOOST_MSVC) +# pragma warning( push ) +# pragma warning( disable : 4793 ) // complaint about native code generation +# pragma warning( disable : 4127 ) // "conditional expression is constant" +#endif + +// Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info. +#ifdef BOOST_NO_STD_TYPEINFO +// Embedded VC++ does not have type_info in namespace std +# define BOOST_FUNCTION_STD_NS +#else +# define BOOST_FUNCTION_STD_NS std +#endif + +// Borrowed from Boost.Python library: determines the cases where we +// need to use std::type_info::name to compare instead of operator==. +#if defined( BOOST_NO_TYPEID ) +# define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y)) +#elif (defined(__GNUC__) && __GNUC__ >= 3) \ + || defined(_AIX) \ + || ( defined(__sgi) && defined(__host_mips)) +# include +# define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) \ + (std::strcmp((X).name(),(Y).name()) == 0) +# else +# define BOOST_FUNCTION_COMPARE_TYPE_ID(X,Y) ((X)==(Y)) +#endif + +#if defined(BOOST_MSVC) && BOOST_MSVC <= 1300 || defined(__ICL) && __ICL <= 600 || defined(__MWERKS__) && __MWERKS__ < 0x2406 && !defined(BOOST_STRICT_CONFIG) +# define BOOST_FUNCTION_TARGET_FIX(x) x +#else +# define BOOST_FUNCTION_TARGET_FIX(x) +#endif // not MSVC + +#if !BOOST_WORKAROUND(__BORLANDC__, < 0x5A0) +# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \ + typename ::boost::enable_if_c<(::boost::type_traits::ice_not< \ + (::boost::is_integral::value)>::value), \ + Type>::type +#else +// BCC doesn't recognize this depends on a template argument and complains +// about the use of 'typename' +# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \ + ::boost::enable_if_c<(::boost::type_traits::ice_not< \ + (::boost::is_integral::value)>::value), \ + Type>::type +#endif + +namespace boost { + namespace detail { + namespace function { + class X; + + /** + * A buffer used to store small function objects in + * boost::function. It is a union containing function pointers, + * object pointers, and a structure that resembles a bound + * member function pointer. + */ + union function_buffer + { + // For pointers to function objects + mutable void* obj_ptr; + + // For pointers to std::type_info objects + struct type_t { + // (get_functor_type_tag, check_functor_type_tag). + const detail::sp_typeinfo* type; + + // Whether the type is const-qualified. + bool const_qualified; + // Whether the type is volatile-qualified. + bool volatile_qualified; + } type; + + // For function pointers of all kinds + mutable void (*func_ptr)(); + + // For bound member pointers + struct bound_memfunc_ptr_t { + void (X::*memfunc_ptr)(int); + void* obj_ptr; + } bound_memfunc_ptr; + + // For references to function objects. We explicitly keep + // track of the cv-qualifiers on the object referenced. + struct obj_ref_t { + mutable void* obj_ptr; + bool is_const_qualified; + bool is_volatile_qualified; + } obj_ref; + + // To relax aliasing constraints + mutable char data; + }; + + /** + * The unusable class is a placeholder for unused function arguments + * It is also completely unusable except that it constructable from + * anything. This helps compilers without partial specialization to + * handle Boost.Function objects returning void. + */ + struct unusable + { + unusable() {} + template unusable(const T&) {} + }; + + /* Determine the return type. This supports compilers that do not support + * void returns or partial specialization by silently changing the return + * type to "unusable". + */ + template struct function_return_type { typedef T type; }; + + template<> + struct function_return_type + { + typedef unusable type; + }; + + // The operation type to perform on the given functor/function pointer + enum functor_manager_operation_type { + clone_functor_tag, + move_functor_tag, + destroy_functor_tag, + check_functor_type_tag, + get_functor_type_tag + }; + + // Tags used to decide between different types of functions + struct function_ptr_tag {}; + struct function_obj_tag {}; + struct member_ptr_tag {}; + struct function_obj_ref_tag {}; + + template + class get_function_tag + { + typedef typename mpl::if_c<(is_pointer::value), + function_ptr_tag, + function_obj_tag>::type ptr_or_obj_tag; + + typedef typename mpl::if_c<(is_member_pointer::value), + member_ptr_tag, + ptr_or_obj_tag>::type ptr_or_obj_or_mem_tag; + + typedef typename mpl::if_c<(is_reference_wrapper::value), + function_obj_ref_tag, + ptr_or_obj_or_mem_tag>::type or_ref_tag; + + public: + typedef or_ref_tag type; + }; + + // The trivial manager does nothing but return the same pointer (if we + // are cloning) or return the null pointer (if we are deleting). + template + struct reference_manager + { + static inline void + manage(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op) + { + switch (op) { + case clone_functor_tag: + out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr; + return; + + case move_functor_tag: + out_buffer.obj_ref.obj_ptr = in_buffer.obj_ref.obj_ptr; + in_buffer.obj_ref.obj_ptr = 0; + return; + + case destroy_functor_tag: + out_buffer.obj_ref.obj_ptr = 0; + return; + + case check_functor_type_tag: + { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; + + // Check whether we have the same type. We can add + // cv-qualifiers, but we can't take them away. + if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(F)) + && (!in_buffer.obj_ref.is_const_qualified + || out_buffer.type.const_qualified) + && (!in_buffer.obj_ref.is_volatile_qualified + || out_buffer.type.volatile_qualified)) + out_buffer.obj_ptr = in_buffer.obj_ref.obj_ptr; + else + out_buffer.obj_ptr = 0; + } + return; + + case get_functor_type_tag: + out_buffer.type.type = &BOOST_SP_TYPEID(F); + out_buffer.type.const_qualified = in_buffer.obj_ref.is_const_qualified; + out_buffer.type.volatile_qualified = in_buffer.obj_ref.is_volatile_qualified; + return; + } + } + }; + + /** + * Determine if boost::function can use the small-object + * optimization with the function object type F. + */ + template + struct function_allows_small_object_optimization + { + BOOST_STATIC_CONSTANT + (bool, + value = ((sizeof(F) <= sizeof(function_buffer) && + (alignment_of::value + % alignment_of::value == 0)))); + }; + + template + struct functor_wrapper: public F, public A + { + functor_wrapper( F f, A a ): + F(f), + A(a) + { + } + + functor_wrapper(const functor_wrapper& f) : + F(static_cast(f)), + A(static_cast(f)) + { + } + }; + + /** + * The functor_manager class contains a static function "manage" which + * can clone or destroy the given function/function object pointer. + */ + template + struct functor_manager_common + { + typedef Functor functor_type; + + // Function pointers + static inline void + manage_ptr(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op) + { + if (op == clone_functor_tag) + out_buffer.func_ptr = in_buffer.func_ptr; + else if (op == move_functor_tag) { + out_buffer.func_ptr = in_buffer.func_ptr; + in_buffer.func_ptr = 0; + } else if (op == destroy_functor_tag) + out_buffer.func_ptr = 0; + else if (op == check_functor_type_tag) { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; + if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor))) + out_buffer.obj_ptr = &in_buffer.func_ptr; + else + out_buffer.obj_ptr = 0; + } else /* op == get_functor_type_tag */ { + out_buffer.type.type = &BOOST_SP_TYPEID(Functor); + out_buffer.type.const_qualified = false; + out_buffer.type.volatile_qualified = false; + } + } + + // Function objects that fit in the small-object buffer. + static inline void + manage_small(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op) + { + if (op == clone_functor_tag || op == move_functor_tag) { + const functor_type* in_functor = + reinterpret_cast(&in_buffer.data); + new ((void*)&out_buffer.data) functor_type(*in_functor); + + if (op == move_functor_tag) { + reinterpret_cast(&in_buffer.data)->~Functor(); + } + } else if (op == destroy_functor_tag) { + // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type. + reinterpret_cast(&out_buffer.data)->~Functor(); + } else if (op == check_functor_type_tag) { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; + if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor))) + out_buffer.obj_ptr = &in_buffer.data; + else + out_buffer.obj_ptr = 0; + } else /* op == get_functor_type_tag */ { + out_buffer.type.type = &BOOST_SP_TYPEID(Functor); + out_buffer.type.const_qualified = false; + out_buffer.type.volatile_qualified = false; + } + } + }; + + template + struct functor_manager + { + private: + typedef Functor functor_type; + + // Function pointers + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, function_ptr_tag) + { + functor_manager_common::manage_ptr(in_buffer,out_buffer,op); + } + + // Function objects that fit in the small-object buffer. + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, mpl::true_) + { + functor_manager_common::manage_small(in_buffer,out_buffer,op); + } + + // Function objects that require heap allocation + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, mpl::false_) + { + if (op == clone_functor_tag) { + // Clone the functor + // GCC 2.95.3 gets the CV qualifiers wrong here, so we + // can't do the static_cast that we should do. + const functor_type* f = + (const functor_type*)(in_buffer.obj_ptr); + functor_type* new_f = new functor_type(*f); + out_buffer.obj_ptr = new_f; + } else if (op == move_functor_tag) { + out_buffer.obj_ptr = in_buffer.obj_ptr; + in_buffer.obj_ptr = 0; + } else if (op == destroy_functor_tag) { + /* Cast from the void pointer to the functor pointer type */ + functor_type* f = + static_cast(out_buffer.obj_ptr); + delete f; + out_buffer.obj_ptr = 0; + } else if (op == check_functor_type_tag) { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; + if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor))) + out_buffer.obj_ptr = in_buffer.obj_ptr; + else + out_buffer.obj_ptr = 0; + } else /* op == get_functor_type_tag */ { + out_buffer.type.type = &BOOST_SP_TYPEID(Functor); + out_buffer.type.const_qualified = false; + out_buffer.type.volatile_qualified = false; + } + } + + // For function objects, we determine whether the function + // object can use the small-object optimization buffer or + // whether we need to allocate it on the heap. + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, function_obj_tag) + { + manager(in_buffer, out_buffer, op, + mpl::bool_<(function_allows_small_object_optimization::value)>()); + } + + // For member pointers, we use the small-object optimization buffer. + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, member_ptr_tag) + { + manager(in_buffer, out_buffer, op, mpl::true_()); + } + + public: + /* Dispatch to an appropriate manager based on whether we have a + function pointer or a function object pointer. */ + static inline void + manage(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op) + { + typedef typename get_function_tag::type tag_type; + switch (op) { + case get_functor_type_tag: + out_buffer.type.type = &BOOST_SP_TYPEID(functor_type); + out_buffer.type.const_qualified = false; + out_buffer.type.volatile_qualified = false; + return; + + default: + manager(in_buffer, out_buffer, op, tag_type()); + return; + } + } + }; + + template + struct functor_manager_a + { + private: + typedef Functor functor_type; + + // Function pointers + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, function_ptr_tag) + { + functor_manager_common::manage_ptr(in_buffer,out_buffer,op); + } + + // Function objects that fit in the small-object buffer. + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, mpl::true_) + { + functor_manager_common::manage_small(in_buffer,out_buffer,op); + } + + // Function objects that require heap allocation + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, mpl::false_) + { + typedef functor_wrapper functor_wrapper_type; + typedef typename Allocator::template rebind::other + wrapper_allocator_type; + typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; + + if (op == clone_functor_tag) { + // Clone the functor + // GCC 2.95.3 gets the CV qualifiers wrong here, so we + // can't do the static_cast that we should do. + const functor_wrapper_type* f = + (const functor_wrapper_type*)(in_buffer.obj_ptr); + wrapper_allocator_type wrapper_allocator(static_cast(*f)); + wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); + wrapper_allocator.construct(copy, *f); + + // Get back to the original pointer type + functor_wrapper_type* new_f = static_cast(copy); + out_buffer.obj_ptr = new_f; + } else if (op == move_functor_tag) { + out_buffer.obj_ptr = in_buffer.obj_ptr; + in_buffer.obj_ptr = 0; + } else if (op == destroy_functor_tag) { + /* Cast from the void pointer to the functor_wrapper_type */ + functor_wrapper_type* victim = + static_cast(in_buffer.obj_ptr); + wrapper_allocator_type wrapper_allocator(static_cast(*victim)); + wrapper_allocator.destroy(victim); + wrapper_allocator.deallocate(victim,1); + out_buffer.obj_ptr = 0; + } else if (op == check_functor_type_tag) { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; + if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor))) + out_buffer.obj_ptr = in_buffer.obj_ptr; + else + out_buffer.obj_ptr = 0; + } else /* op == get_functor_type_tag */ { + out_buffer.type.type = &BOOST_SP_TYPEID(Functor); + out_buffer.type.const_qualified = false; + out_buffer.type.volatile_qualified = false; + } + } + + // For function objects, we determine whether the function + // object can use the small-object optimization buffer or + // whether we need to allocate it on the heap. + static inline void + manager(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op, function_obj_tag) + { + manager(in_buffer, out_buffer, op, + mpl::bool_<(function_allows_small_object_optimization::value)>()); + } + + public: + /* Dispatch to an appropriate manager based on whether we have a + function pointer or a function object pointer. */ + static inline void + manage(const function_buffer& in_buffer, function_buffer& out_buffer, + functor_manager_operation_type op) + { + typedef typename get_function_tag::type tag_type; + switch (op) { + case get_functor_type_tag: + out_buffer.type.type = &BOOST_SP_TYPEID(functor_type); + out_buffer.type.const_qualified = false; + out_buffer.type.volatile_qualified = false; + return; + + default: + manager(in_buffer, out_buffer, op, tag_type()); + return; + } + } + }; + + // A type that is only used for comparisons against zero + struct useless_clear_type {}; + +#ifdef BOOST_NO_SFINAE + // These routines perform comparisons between a Boost.Function + // object and an arbitrary function object (when the last + // parameter is mpl::bool_) or against zero (when the + // last parameter is mpl::bool_). They are only necessary + // for compilers that don't support SFINAE. + template + bool + compare_equal(const Function& f, const Functor&, int, mpl::bool_) + { return f.empty(); } + + template + bool + compare_not_equal(const Function& f, const Functor&, int, + mpl::bool_) + { return !f.empty(); } + + template + bool + compare_equal(const Function& f, const Functor& g, long, + mpl::bool_) + { + if (const Functor* fp = f.template target()) + return function_equal(*fp, g); + else return false; + } + + template + bool + compare_equal(const Function& f, const reference_wrapper& g, + int, mpl::bool_) + { + if (const Functor* fp = f.template target()) + return fp == g.get_pointer(); + else return false; + } + + template + bool + compare_not_equal(const Function& f, const Functor& g, long, + mpl::bool_) + { + if (const Functor* fp = f.template target()) + return !function_equal(*fp, g); + else return true; + } + + template + bool + compare_not_equal(const Function& f, + const reference_wrapper& g, int, + mpl::bool_) + { + if (const Functor* fp = f.template target()) + return fp != g.get_pointer(); + else return true; + } +#endif // BOOST_NO_SFINAE + + /** + * Stores the "manager" portion of the vtable for a + * boost::function object. + */ + struct vtable_base + { + void (*manager)(const function_buffer& in_buffer, + function_buffer& out_buffer, + functor_manager_operation_type op); + }; + } // end namespace function + } // end namespace detail + +/** + * The function_base class contains the basic elements needed for the + * function1, function2, function3, etc. classes. It is common to all + * functions (and as such can be used to tell if we have one of the + * functionN objects). + */ +class function_base +{ +public: + function_base() : vtable(0) { } + + /** Determine if the function is empty (i.e., has no target). */ + bool empty() const { return !vtable; } + + /** Retrieve the type of the stored function object, or BOOST_SP_TYPEID(void) + if this is empty. */ + const detail::sp_typeinfo& target_type() const + { + if (!vtable) return BOOST_SP_TYPEID(void); + + detail::function::function_buffer type; + get_vtable()->manager(functor, type, detail::function::get_functor_type_tag); + return *type.type.type; + } + + template + Functor* target() + { + if (!vtable) return 0; + + detail::function::function_buffer type_result; + type_result.type.type = &BOOST_SP_TYPEID(Functor); + type_result.type.const_qualified = is_const::value; + type_result.type.volatile_qualified = is_volatile::value; + get_vtable()->manager(functor, type_result, + detail::function::check_functor_type_tag); + return static_cast(type_result.obj_ptr); + } + + template +#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300) + const Functor* target( Functor * = 0 ) const +#else + const Functor* target() const +#endif + { + if (!vtable) return 0; + + detail::function::function_buffer type_result; + type_result.type.type = &BOOST_SP_TYPEID(Functor); + type_result.type.const_qualified = true; + type_result.type.volatile_qualified = is_volatile::value; + get_vtable()->manager(functor, type_result, + detail::function::check_functor_type_tag); + // GCC 2.95.3 gets the CV qualifiers wrong here, so we + // can't do the static_cast that we should do. + return (const Functor*)(type_result.obj_ptr); + } + + template + bool contains(const F& f) const + { +#if defined(BOOST_MSVC) && BOOST_WORKAROUND(BOOST_MSVC, < 1300) + if (const F* fp = this->target( (F*)0 )) +#else + if (const F* fp = this->template target()) +#endif + { + return function_equal(*fp, f); + } else { + return false; + } + } + +#if defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3 + // GCC 3.3 and newer cannot copy with the global operator==, due to + // problems with instantiation of function return types before it + // has been verified that the argument types match up. + template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator==(Functor g) const + { + if (const Functor* fp = target()) + return function_equal(*fp, g); + else return false; + } + + template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator!=(Functor g) const + { + if (const Functor* fp = target()) + return !function_equal(*fp, g); + else return true; + } +#endif + +public: // should be protected, but GCC 2.95.3 will fail to allow access + detail::function::vtable_base* get_vtable() const { + return reinterpret_cast( + reinterpret_cast(vtable) & ~(std::size_t)0x01); + } + + bool has_trivial_copy_and_destroy() const { + return reinterpret_cast(vtable) & 0x01; + } + + detail::function::vtable_base* vtable; + mutable detail::function::function_buffer functor; +}; + +/** + * The bad_function_call exception class is thrown when a boost::function + * object is invoked + */ +class bad_function_call : public std::runtime_error +{ +public: + bad_function_call() : std::runtime_error("call to empty boost::function") {} +}; + +#ifndef BOOST_NO_SFINAE +inline bool operator==(const function_base& f, + detail::function::useless_clear_type*) +{ + return f.empty(); +} + +inline bool operator!=(const function_base& f, + detail::function::useless_clear_type*) +{ + return !f.empty(); +} + +inline bool operator==(detail::function::useless_clear_type*, + const function_base& f) +{ + return f.empty(); +} + +inline bool operator!=(detail::function::useless_clear_type*, + const function_base& f) +{ + return !f.empty(); +} +#endif + +#ifdef BOOST_NO_SFINAE +// Comparisons between boost::function objects and arbitrary function objects +template + inline bool operator==(const function_base& f, Functor g) + { + typedef mpl::bool_<(is_integral::value)> integral; + return detail::function::compare_equal(f, g, 0, integral()); + } + +template + inline bool operator==(Functor g, const function_base& f) + { + typedef mpl::bool_<(is_integral::value)> integral; + return detail::function::compare_equal(f, g, 0, integral()); + } + +template + inline bool operator!=(const function_base& f, Functor g) + { + typedef mpl::bool_<(is_integral::value)> integral; + return detail::function::compare_not_equal(f, g, 0, integral()); + } + +template + inline bool operator!=(Functor g, const function_base& f) + { + typedef mpl::bool_<(is_integral::value)> integral; + return detail::function::compare_not_equal(f, g, 0, integral()); + } +#else + +# if !(defined(__GNUC__) && __GNUC__ == 3 && __GNUC_MINOR__ <= 3) +// Comparisons between boost::function objects and arbitrary function +// objects. GCC 3.3 and before has an obnoxious bug that prevents this +// from working. +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator==(const function_base& f, Functor g) + { + if (const Functor* fp = f.template target()) + return function_equal(*fp, g); + else return false; + } + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator==(Functor g, const function_base& f) + { + if (const Functor* fp = f.template target()) + return function_equal(g, *fp); + else return false; + } + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator!=(const function_base& f, Functor g) + { + if (const Functor* fp = f.template target()) + return !function_equal(*fp, g); + else return true; + } + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator!=(Functor g, const function_base& f) + { + if (const Functor* fp = f.template target()) + return !function_equal(g, *fp); + else return true; + } +# endif + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator==(const function_base& f, reference_wrapper g) + { + if (const Functor* fp = f.template target()) + return fp == g.get_pointer(); + else return false; + } + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator==(reference_wrapper g, const function_base& f) + { + if (const Functor* fp = f.template target()) + return g.get_pointer() == fp; + else return false; + } + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator!=(const function_base& f, reference_wrapper g) + { + if (const Functor* fp = f.template target()) + return fp != g.get_pointer(); + else return true; + } + +template + BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor, bool) + operator!=(reference_wrapper g, const function_base& f) + { + if (const Functor* fp = f.template target()) + return g.get_pointer() != fp; + else return true; + } + +#endif // Compiler supporting SFINAE + +namespace detail { + namespace function { + inline bool has_empty_target(const function_base* f) + { + return f->empty(); + } + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310) + inline bool has_empty_target(const void*) + { + return false; + } +#else + inline bool has_empty_target(...) + { + return false; + } +#endif + } // end namespace function +} // end namespace detail +} // end namespace boost + +#undef BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL +#undef BOOST_FUNCTION_COMPARE_TYPE_ID + +#if defined(BOOST_MSVC) +# pragma warning( pop ) +#endif + +#endif // BOOST_FUNCTION_BASE_HEADER diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_fwd.hpp new file mode 100644 index 0000000..cc09283 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_fwd.hpp @@ -0,0 +1,70 @@ +// Boost.Function library +// Copyright (C) Douglas Gregor 2008 +// +// Use, modification and distribution is subject to the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see http://www.boost.org +#ifndef BOOST_FUNCTION_FWD_HPP +#define BOOST_FUNCTION_FWD_HPP +#include + +#if defined(__sgi) && defined(_COMPILER_VERSION) && _COMPILER_VERSION <= 730 && !defined(BOOST_STRICT_CONFIG) +// Work around a compiler bug. +// boost::python::objects::function has to be seen by the compiler before the +// boost::function class template. +namespace boost { namespace python { namespace objects { + class function; +}}} +#endif + +#if defined (BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + || defined(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG) \ + || !(defined(BOOST_STRICT_CONFIG) || !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x540) +# define BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX +#endif + +namespace boost { + class bad_function_call; + +#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX) + // Preferred syntax + template class function; + + template + inline void swap(function& f1, function& f2) + { + f1.swap(f2); + } +#endif // have partial specialization + + // Portable syntax + template class function0; + template class function1; + template class function2; + template class function3; + template + class function4; + template + class function5; + template + class function6; + template + class function7; + template + class function8; + template + class function9; + template + class function10; +} + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_template.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_template.hpp new file mode 100644 index 0000000..f8f60ff --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_template.hpp @@ -0,0 +1,1158 @@ +// Boost.Function library + +// Copyright Douglas Gregor 2001-2006 +// Copyright Emil Dotchevski 2007 +// Use, modification and distribution is subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org + +// Note: this header is a header template and must NOT have multiple-inclusion +// protection. +#include +#include + +#if defined(BOOST_MSVC) +# pragma warning( push ) +# pragma warning( disable : 4127 ) // "conditional expression is constant" +#endif + +#define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T) + +#define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T) + +#define BOOST_FUNCTION_PARM(J,I,D) BOOST_PP_CAT(T,I) BOOST_PP_CAT(a,I) + +#define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY) + +#define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a) + +#define BOOST_FUNCTION_ARG_TYPE(J,I,D) \ + typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type); + +#define BOOST_FUNCTION_ARG_TYPES BOOST_PP_REPEAT(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG_TYPE,BOOST_PP_EMPTY) + +// Comma if nonzero number of arguments +#if BOOST_FUNCTION_NUM_ARGS == 0 +# define BOOST_FUNCTION_COMMA +#else +# define BOOST_FUNCTION_COMMA , +#endif // BOOST_FUNCTION_NUM_ARGS > 0 + +// Class names used in this version of the code +#define BOOST_FUNCTION_FUNCTION BOOST_JOIN(function,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_FUNCTION_INVOKER \ + BOOST_JOIN(function_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_VOID_FUNCTION_INVOKER \ + BOOST_JOIN(void_function_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_FUNCTION_OBJ_INVOKER \ + BOOST_JOIN(function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER \ + BOOST_JOIN(void_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_FUNCTION_REF_INVOKER \ + BOOST_JOIN(function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER \ + BOOST_JOIN(void_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_MEMBER_INVOKER \ + BOOST_JOIN(function_mem_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_VOID_MEMBER_INVOKER \ + BOOST_JOIN(function_void_mem_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_GET_FUNCTION_INVOKER \ + BOOST_JOIN(get_function_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER \ + BOOST_JOIN(get_function_obj_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER \ + BOOST_JOIN(get_function_ref_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_GET_MEMBER_INVOKER \ + BOOST_JOIN(get_member_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_GET_INVOKER \ + BOOST_JOIN(get_invoker,BOOST_FUNCTION_NUM_ARGS) +#define BOOST_FUNCTION_VTABLE BOOST_JOIN(basic_vtable,BOOST_FUNCTION_NUM_ARGS) + +#ifndef BOOST_NO_VOID_RETURNS +# define BOOST_FUNCTION_VOID_RETURN_TYPE void +# define BOOST_FUNCTION_RETURN(X) X +#else +# define BOOST_FUNCTION_VOID_RETURN_TYPE boost::detail::function::unusable +# define BOOST_FUNCTION_RETURN(X) X; return BOOST_FUNCTION_VOID_RETURN_TYPE () +#endif + +namespace boost { + namespace detail { + namespace function { + template< + typename FunctionPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_FUNCTION_INVOKER + { + static R invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + { + FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); + return f(BOOST_FUNCTION_ARGS); + } + }; + + template< + typename FunctionPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_VOID_FUNCTION_INVOKER + { + static BOOST_FUNCTION_VOID_RETURN_TYPE + invoke(function_buffer& function_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + FunctionPtr f = reinterpret_cast(function_ptr.func_ptr); + BOOST_FUNCTION_RETURN(f(BOOST_FUNCTION_ARGS)); + } + }; + + template< + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_FUNCTION_OBJ_INVOKER + { + static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + FunctionObj* f; + if (function_allows_small_object_optimization::value) + f = reinterpret_cast(&function_obj_ptr.data); + else + f = reinterpret_cast(function_obj_ptr.obj_ptr); + return (*f)(BOOST_FUNCTION_ARGS); + } + }; + + template< + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER + { + static BOOST_FUNCTION_VOID_RETURN_TYPE + invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + FunctionObj* f; + if (function_allows_small_object_optimization::value) + f = reinterpret_cast(&function_obj_ptr.data); + else + f = reinterpret_cast(function_obj_ptr.obj_ptr); + BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); + } + }; + + template< + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_FUNCTION_REF_INVOKER + { + static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + FunctionObj* f = + reinterpret_cast(function_obj_ptr.obj_ptr); + return (*f)(BOOST_FUNCTION_ARGS); + } + }; + + template< + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER + { + static BOOST_FUNCTION_VOID_RETURN_TYPE + invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + FunctionObj* f = + reinterpret_cast(function_obj_ptr.obj_ptr); + BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); + } + }; + +#if BOOST_FUNCTION_NUM_ARGS > 0 + /* Handle invocation of member pointers. */ + template< + typename MemberPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_MEMBER_INVOKER + { + static R invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + MemberPtr* f = + reinterpret_cast(&function_obj_ptr.data); + return boost::mem_fn(*f)(BOOST_FUNCTION_ARGS); + } + }; + + template< + typename MemberPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_VOID_MEMBER_INVOKER + { + static BOOST_FUNCTION_VOID_RETURN_TYPE + invoke(function_buffer& function_obj_ptr BOOST_FUNCTION_COMMA + BOOST_FUNCTION_PARMS) + + { + MemberPtr* f = + reinterpret_cast(&function_obj_ptr.data); + BOOST_FUNCTION_RETURN(boost::mem_fn(*f)(BOOST_FUNCTION_ARGS)); + } + }; +#endif + + template< + typename FunctionPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_GET_FUNCTION_INVOKER + { + typedef typename mpl::if_c<(is_void::value), + BOOST_FUNCTION_VOID_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; + }; + + template< + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER + { + typedef typename mpl::if_c<(is_void::value), + BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; + }; + + template< + typename FunctionObj, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER + { + typedef typename mpl::if_c<(is_void::value), + BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_FUNCTION_REF_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; + }; + +#if BOOST_FUNCTION_NUM_ARGS > 0 + /* Retrieve the appropriate invoker for a member pointer. */ + template< + typename MemberPtr, + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + struct BOOST_FUNCTION_GET_MEMBER_INVOKER + { + typedef typename mpl::if_c<(is_void::value), + BOOST_FUNCTION_VOID_MEMBER_INVOKER< + MemberPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >, + BOOST_FUNCTION_MEMBER_INVOKER< + MemberPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + > + >::type type; + }; +#endif + + /* Given the tag returned by get_function_tag, retrieve the + actual invoker that will be used for the given function + object. + + Each specialization contains an "apply" nested class template + that accepts the function object, return type, function + argument types, and allocator. The resulting "apply" class + contains two typedefs, "invoker_type" and "manager_type", + which correspond to the invoker and manager types. */ + template + struct BOOST_FUNCTION_GET_INVOKER { }; + + /* Retrieve the invoker for a function pointer. */ + template<> + struct BOOST_FUNCTION_GET_INVOKER + { + template + struct apply + { + typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef functor_manager manager_type; + }; + + template + struct apply_a + { + typedef typename BOOST_FUNCTION_GET_FUNCTION_INVOKER< + FunctionPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef functor_manager manager_type; + }; + }; + +#if BOOST_FUNCTION_NUM_ARGS > 0 + /* Retrieve the invoker for a member pointer. */ + template<> + struct BOOST_FUNCTION_GET_INVOKER + { + template + struct apply + { + typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER< + MemberPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef functor_manager manager_type; + }; + + template + struct apply_a + { + typedef typename BOOST_FUNCTION_GET_MEMBER_INVOKER< + MemberPtr, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef functor_manager manager_type; + }; + }; +#endif + + /* Retrieve the invoker for a function object. */ + template<> + struct BOOST_FUNCTION_GET_INVOKER + { + template + struct apply + { + typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef functor_manager manager_type; + }; + + template + struct apply_a + { + typedef typename BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER< + FunctionObj, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef functor_manager_a manager_type; + }; + }; + + /* Retrieve the invoker for a reference to a function object. */ + template<> + struct BOOST_FUNCTION_GET_INVOKER + { + template + struct apply + { + typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER< + typename RefWrapper::type, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef reference_manager manager_type; + }; + + template + struct apply_a + { + typedef typename BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER< + typename RefWrapper::type, + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >::type + invoker_type; + + typedef reference_manager manager_type; + }; + }; + + + /** + * vtable for a specific boost::function instance. This + * structure must be an aggregate so that we can use static + * initialization in boost::function's assign_to and assign_to_a + * members. It therefore cannot have any constructors, + * destructors, base classes, etc. + */ + template + struct BOOST_FUNCTION_VTABLE + { +#ifndef BOOST_NO_VOID_RETURNS + typedef R result_type; +#else + typedef typename function_return_type::type result_type; +#endif // BOOST_NO_VOID_RETURNS + + typedef result_type (*invoker_type)(function_buffer& + BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS); + + template + bool assign_to(F f, function_buffer& functor) + { + typedef typename get_function_tag::type tag; + return assign_to(f, functor, tag()); + } + template + bool assign_to_a(F f, function_buffer& functor, Allocator a) + { + typedef typename get_function_tag::type tag; + return assign_to_a(f, functor, a, tag()); + } + + void clear(function_buffer& functor) + { + if (base.manager) + base.manager(functor, functor, destroy_functor_tag); + } + + private: + // Function pointers + template + bool + assign_to(FunctionPtr f, function_buffer& functor, function_ptr_tag) + { + this->clear(functor); + if (f) { + // should be a reinterpret cast, but some compilers insist + // on giving cv-qualifiers to free functions + functor.func_ptr = (void (*)())(f); + return true; + } else { + return false; + } + } + template + bool + assign_to_a(FunctionPtr f, function_buffer& functor, Allocator, function_ptr_tag) + { + return assign_to(f,functor,function_ptr_tag()); + } + + // Member pointers +#if BOOST_FUNCTION_NUM_ARGS > 0 + template + bool assign_to(MemberPtr f, function_buffer& functor, member_ptr_tag) + { + // DPG TBD: Add explicit support for member function + // objects, so we invoke through mem_fn() but we retain the + // right target_type() values. + if (f) { + this->assign_to(mem_fn(f), functor); + return true; + } else { + return false; + } + } + template + bool assign_to_a(MemberPtr f, function_buffer& functor, Allocator a, member_ptr_tag) + { + // DPG TBD: Add explicit support for member function + // objects, so we invoke through mem_fn() but we retain the + // right target_type() values. + if (f) { + this->assign_to_a(mem_fn(f), functor, a); + return true; + } else { + return false; + } + } +#endif // BOOST_FUNCTION_NUM_ARGS > 0 + + // Function objects + // Assign to a function object using the small object optimization + template + void + assign_functor(FunctionObj f, function_buffer& functor, mpl::true_) + { + new ((void*)&functor.data) FunctionObj(f); + } + template + void + assign_functor_a(FunctionObj f, function_buffer& functor, Allocator, mpl::true_) + { + assign_functor(f,functor,mpl::true_()); + } + + // Assign to a function object allocated on the heap. + template + void + assign_functor(FunctionObj f, function_buffer& functor, mpl::false_) + { + functor.obj_ptr = new FunctionObj(f); + } + template + void + assign_functor_a(FunctionObj f, function_buffer& functor, Allocator a, mpl::false_) + { + typedef functor_wrapper functor_wrapper_type; + typedef typename Allocator::template rebind::other + wrapper_allocator_type; + typedef typename wrapper_allocator_type::pointer wrapper_allocator_pointer_type; + wrapper_allocator_type wrapper_allocator(a); + wrapper_allocator_pointer_type copy = wrapper_allocator.allocate(1); + wrapper_allocator.construct(copy, functor_wrapper_type(f,a)); + functor_wrapper_type* new_f = static_cast(copy); + functor.obj_ptr = new_f; + } + + template + bool + assign_to(FunctionObj f, function_buffer& functor, function_obj_tag) + { + if (!boost::detail::function::has_empty_target(boost::addressof(f))) { + assign_functor(f, functor, + mpl::bool_<(function_allows_small_object_optimization::value)>()); + return true; + } else { + return false; + } + } + template + bool + assign_to_a(FunctionObj f, function_buffer& functor, Allocator a, function_obj_tag) + { + if (!boost::detail::function::has_empty_target(boost::addressof(f))) { + assign_functor_a(f, functor, a, + mpl::bool_<(function_allows_small_object_optimization::value)>()); + return true; + } else { + return false; + } + } + + // Reference to a function object + template + bool + assign_to(const reference_wrapper& f, + function_buffer& functor, function_obj_ref_tag) + { + functor.obj_ref.obj_ptr = (void *)f.get_pointer(); + functor.obj_ref.is_const_qualified = is_const::value; + functor.obj_ref.is_volatile_qualified = is_volatile::value; + return true; + } + template + bool + assign_to_a(const reference_wrapper& f, + function_buffer& functor, Allocator, function_obj_ref_tag) + { + return assign_to(f,functor,function_obj_ref_tag()); + } + + public: + vtable_base base; + invoker_type invoker; + }; + } // end namespace function + } // end namespace detail + + template< + typename R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_PARMS + > + class BOOST_FUNCTION_FUNCTION : public function_base + +#if BOOST_FUNCTION_NUM_ARGS == 1 + + , public std::unary_function + +#elif BOOST_FUNCTION_NUM_ARGS == 2 + + , public std::binary_function + +#endif + + { + public: +#ifndef BOOST_NO_VOID_RETURNS + typedef R result_type; +#else + typedef typename boost::detail::function::function_return_type::type + result_type; +#endif // BOOST_NO_VOID_RETURNS + + private: + typedef boost::detail::function::BOOST_FUNCTION_VTABLE< + R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS> + vtable_type; + + vtable_type* get_vtable() const { + return reinterpret_cast( + reinterpret_cast(vtable) & ~(std::size_t)0x01); + } + + struct clear_type {}; + + public: + BOOST_STATIC_CONSTANT(int, args = BOOST_FUNCTION_NUM_ARGS); + + // add signature for boost::lambda + template + struct sig + { + typedef result_type type; + }; + +#if BOOST_FUNCTION_NUM_ARGS == 1 + typedef T0 argument_type; +#elif BOOST_FUNCTION_NUM_ARGS == 2 + typedef T0 first_argument_type; + typedef T1 second_argument_type; +#endif + + BOOST_STATIC_CONSTANT(int, arity = BOOST_FUNCTION_NUM_ARGS); + BOOST_FUNCTION_ARG_TYPES + + typedef BOOST_FUNCTION_FUNCTION self_type; + + BOOST_FUNCTION_FUNCTION() : function_base() { } + + // MSVC chokes if the following two constructors are collapsed into + // one with a default parameter. + template + BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f +#ifndef BOOST_NO_SFINAE + ,typename enable_if_c< + (boost::type_traits::ice_not< + (is_integral::value)>::value), + int>::type = 0 +#endif // BOOST_NO_SFINAE + ) : + function_base() + { + this->assign_to(f); + } + template + BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a +#ifndef BOOST_NO_SFINAE + ,typename enable_if_c< + (boost::type_traits::ice_not< + (is_integral::value)>::value), + int>::type = 0 +#endif // BOOST_NO_SFINAE + ) : + function_base() + { + this->assign_to_a(f,a); + } + +#ifndef BOOST_NO_SFINAE + BOOST_FUNCTION_FUNCTION(clear_type*) : function_base() { } +#else + BOOST_FUNCTION_FUNCTION(int zero) : function_base() + { + BOOST_ASSERT(zero == 0); + } +#endif + + BOOST_FUNCTION_FUNCTION(const BOOST_FUNCTION_FUNCTION& f) : function_base() + { + this->assign_to_own(f); + } + + ~BOOST_FUNCTION_FUNCTION() { clear(); } + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + // MSVC 6.0 and prior require all definitions to be inline, but + // these definitions can become very costly. + result_type operator()(BOOST_FUNCTION_PARMS) const + { + if (this->empty()) + boost::throw_exception(bad_function_call()); + + return get_vtable()->invoker + (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS); + } +#else + result_type operator()(BOOST_FUNCTION_PARMS) const; +#endif + + // The distinction between when to use BOOST_FUNCTION_FUNCTION and + // when to use self_type is obnoxious. MSVC cannot handle self_type as + // the return type of these assignment operators, but Borland C++ cannot + // handle BOOST_FUNCTION_FUNCTION as the type of the temporary to + // construct. + template +#ifndef BOOST_NO_SFINAE + typename enable_if_c< + (boost::type_traits::ice_not< + (is_integral::value)>::value), + BOOST_FUNCTION_FUNCTION&>::type +#else + BOOST_FUNCTION_FUNCTION& +#endif + operator=(Functor BOOST_FUNCTION_TARGET_FIX(const &) f) + { + this->clear(); + BOOST_TRY { + this->assign_to(f); + } BOOST_CATCH (...) { + vtable = 0; + BOOST_RETHROW; + } + BOOST_CATCH_END + return *this; + } + template + void assign(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a) + { + this->clear(); + BOOST_TRY{ + this->assign_to_a(f,a); + } BOOST_CATCH (...) { + vtable = 0; + BOOST_RETHROW; + } + BOOST_CATCH_END + } + +#ifndef BOOST_NO_SFINAE + BOOST_FUNCTION_FUNCTION& operator=(clear_type*) + { + this->clear(); + return *this; + } +#else + BOOST_FUNCTION_FUNCTION& operator=(int zero) + { + BOOST_ASSERT(zero == 0); + this->clear(); + return *this; + } +#endif + + // Assignment from another BOOST_FUNCTION_FUNCTION + BOOST_FUNCTION_FUNCTION& operator=(const BOOST_FUNCTION_FUNCTION& f) + { + if (&f == this) + return *this; + + this->clear(); + BOOST_TRY { + this->assign_to_own(f); + } BOOST_CATCH (...) { + vtable = 0; + BOOST_RETHROW; + } + BOOST_CATCH_END + return *this; + } + + void swap(BOOST_FUNCTION_FUNCTION& other) + { + if (&other == this) + return; + + BOOST_FUNCTION_FUNCTION tmp; + tmp.move_assign(*this); + this->move_assign(other); + other.move_assign(tmp); + } + + // Clear out a target, if there is one + void clear() + { + if (vtable) { + if (!this->has_trivial_copy_and_destroy()) + get_vtable()->clear(this->functor); + vtable = 0; + } + } + +#if (defined __SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && !(defined BOOST_NO_COMPILER_CONFIG) + // Sun C++ 5.3 can't handle the safe_bool idiom, so don't use it + operator bool () const { return !this->empty(); } +#else + private: + struct dummy { + void nonnull() {}; + }; + + typedef void (dummy::*safe_bool)(); + + public: + operator safe_bool () const + { return (this->empty())? 0 : &dummy::nonnull; } + + bool operator!() const + { return this->empty(); } +#endif + + private: + void assign_to_own(const BOOST_FUNCTION_FUNCTION& f) + { + if (!f.empty()) { + this->vtable = f.vtable; + if (this->has_trivial_copy_and_destroy()) + this->functor = f.functor; + else + get_vtable()->base.manager(f.functor, this->functor, + boost::detail::function::clone_functor_tag); + } + } + + template + void assign_to(Functor f) + { + using detail::function::vtable_base; + + typedef typename detail::function::get_function_tag::type tag; + typedef detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; + typedef typename get_invoker:: + template apply + handler_type; + + typedef typename handler_type::invoker_type invoker_type; + typedef typename handler_type::manager_type manager_type; + + // Note: it is extremely important that this initialization use + // static initialization. Otherwise, we will have a race + // condition here in multi-threaded code. See + // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/. + static vtable_type stored_vtable = + { { &manager_type::manage }, &invoker_type::invoke }; + + if (stored_vtable.assign_to(f, functor)) { + std::size_t value = reinterpret_cast(&stored_vtable.base); + if (boost::has_trivial_copy_constructor::value && + boost::has_trivial_destructor::value && + detail::function::function_allows_small_object_optimization::value) + value |= (std::size_t)0x01; + vtable = reinterpret_cast(value); + } else + vtable = 0; + } + + template + void assign_to_a(Functor f,Allocator a) + { + using detail::function::vtable_base; + + typedef typename detail::function::get_function_tag::type tag; + typedef detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; + typedef typename get_invoker:: + template apply_a + handler_type; + + typedef typename handler_type::invoker_type invoker_type; + typedef typename handler_type::manager_type manager_type; + + // Note: it is extremely important that this initialization use + // static initialization. Otherwise, we will have a race + // condition here in multi-threaded code. See + // http://thread.gmane.org/gmane.comp.lib.boost.devel/164902/. + static vtable_type stored_vtable = + { { &manager_type::manage }, &invoker_type::invoke }; + + if (stored_vtable.assign_to_a(f, functor, a)) { + std::size_t value = reinterpret_cast(&stored_vtable.base); + if (boost::has_trivial_copy_constructor::value && + boost::has_trivial_destructor::value && + detail::function::function_allows_small_object_optimization::value) + value |= (std::size_t)0x01; + vtable = reinterpret_cast(value); + } else + vtable = 0; + } + + // Moves the value from the specified argument to *this. If the argument + // has its function object allocated on the heap, move_assign will pass + // its buffer to *this, and set the argument's buffer pointer to NULL. + void move_assign(BOOST_FUNCTION_FUNCTION& f) + { + if (&f == this) + return; + + BOOST_TRY { + if (!f.empty()) { + this->vtable = f.vtable; + if (this->has_trivial_copy_and_destroy()) + this->functor = f.functor; + else + get_vtable()->base.manager(f.functor, this->functor, + boost::detail::function::move_functor_tag); + f.vtable = 0; + } else { + clear(); + } + } BOOST_CATCH (...) { + vtable = 0; + BOOST_RETHROW; + } + BOOST_CATCH_END + } + }; + + template + inline void swap(BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >& f1, + BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS + >& f2) + { + f1.swap(f2); + } + +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) + template + typename BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA BOOST_FUNCTION_TEMPLATE_ARGS>::result_type + inline + BOOST_FUNCTION_FUNCTION + ::operator()(BOOST_FUNCTION_PARMS) const + { + if (this->empty()) + boost::throw_exception(bad_function_call()); + + return get_vtable()->invoker + (this->functor BOOST_FUNCTION_COMMA BOOST_FUNCTION_ARGS); + } +#endif + +// Poison comparisons between boost::function objects of the same type. +template + void operator==(const BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS>&, + const BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS>&); +template + void operator!=(const BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS>&, + const BOOST_FUNCTION_FUNCTION< + R BOOST_FUNCTION_COMMA + BOOST_FUNCTION_TEMPLATE_ARGS>& ); + +#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX) + +#if BOOST_FUNCTION_NUM_ARGS == 0 +#define BOOST_FUNCTION_PARTIAL_SPEC R (void) +#else +#define BOOST_FUNCTION_PARTIAL_SPEC R (BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS,T)) +#endif + +template +class function + : public BOOST_FUNCTION_FUNCTION +{ + typedef BOOST_FUNCTION_FUNCTION base_type; + typedef function self_type; + + struct clear_type {}; + +public: + + function() : base_type() {} + + template + function(Functor f +#ifndef BOOST_NO_SFINAE + ,typename enable_if_c< + (boost::type_traits::ice_not< + (is_integral::value)>::value), + int>::type = 0 +#endif + ) : + base_type(f) + { + } + template + function(Functor f, Allocator a +#ifndef BOOST_NO_SFINAE + ,typename enable_if_c< + (boost::type_traits::ice_not< + (is_integral::value)>::value), + int>::type = 0 +#endif + ) : + base_type(f,a) + { + } + +#ifndef BOOST_NO_SFINAE + function(clear_type*) : base_type() {} +#endif + + function(const self_type& f) : base_type(static_cast(f)){} + + function(const base_type& f) : base_type(static_cast(f)){} + + self_type& operator=(const self_type& f) + { + self_type(f).swap(*this); + return *this; + } + + template +#ifndef BOOST_NO_SFINAE + typename enable_if_c< + (boost::type_traits::ice_not< + (is_integral::value)>::value), + self_type&>::type +#else + self_type& +#endif + operator=(Functor f) + { + self_type(f).swap(*this); + return *this; + } + +#ifndef BOOST_NO_SFINAE + self_type& operator=(clear_type*) + { + this->clear(); + return *this; + } +#endif + + self_type& operator=(const base_type& f) + { + self_type(f).swap(*this); + return *this; + } +}; + +#undef BOOST_FUNCTION_PARTIAL_SPEC +#endif // have partial specialization + +} // end namespace boost + +// Cleanup after ourselves... +#undef BOOST_FUNCTION_VTABLE +#undef BOOST_FUNCTION_COMMA +#undef BOOST_FUNCTION_FUNCTION +#undef BOOST_FUNCTION_FUNCTION_INVOKER +#undef BOOST_FUNCTION_VOID_FUNCTION_INVOKER +#undef BOOST_FUNCTION_FUNCTION_OBJ_INVOKER +#undef BOOST_FUNCTION_VOID_FUNCTION_OBJ_INVOKER +#undef BOOST_FUNCTION_FUNCTION_REF_INVOKER +#undef BOOST_FUNCTION_VOID_FUNCTION_REF_INVOKER +#undef BOOST_FUNCTION_MEMBER_INVOKER +#undef BOOST_FUNCTION_VOID_MEMBER_INVOKER +#undef BOOST_FUNCTION_GET_FUNCTION_INVOKER +#undef BOOST_FUNCTION_GET_FUNCTION_OBJ_INVOKER +#undef BOOST_FUNCTION_GET_FUNCTION_REF_INVOKER +#undef BOOST_FUNCTION_GET_MEM_FUNCTION_INVOKER +#undef BOOST_FUNCTION_GET_INVOKER +#undef BOOST_FUNCTION_TEMPLATE_PARMS +#undef BOOST_FUNCTION_TEMPLATE_ARGS +#undef BOOST_FUNCTION_PARMS +#undef BOOST_FUNCTION_PARM +#undef BOOST_FUNCTION_ARGS +#undef BOOST_FUNCTION_ARG_TYPE +#undef BOOST_FUNCTION_ARG_TYPES +#undef BOOST_FUNCTION_VOID_RETURN_TYPE +#undef BOOST_FUNCTION_RETURN + +#if defined(BOOST_MSVC) +# pragma warning( pop ) +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_typeof.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_typeof.hpp new file mode 100644 index 0000000..b2c1255 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/function_typeof.hpp @@ -0,0 +1,45 @@ +// Boost.Function library - Typeof support +// Copyright (C) Douglas Gregor 2008 +// +// Use, modification and distribution is subject to the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// For more information, see http://www.boost.org +#ifndef BOOST_FUNCTION_TYPEOF_HPP +#define BOOST_FUNCTION_TYPEOF_HPP +#include +#include + +#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() + +BOOST_TYPEOF_REGISTER_TYPE(boost::bad_function_call) + +#if !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function, (typename)) +#endif + +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function0, (typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function1, (typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function2, (typename)(typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function3, + (typename)(typename)(typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function4, + (typename)(typename)(typename)(typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function5, + (typename)(typename)(typename)(typename)(typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function6, + (typename)(typename)(typename)(typename)(typename)(typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function7, + (typename)(typename)(typename)(typename)(typename)(typename)(typename) + (typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function8, + (typename)(typename)(typename)(typename)(typename)(typename)(typename) + (typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function9, + (typename)(typename)(typename)(typename)(typename)(typename)(typename) + (typename)(typename)(typename)) +BOOST_TYPEOF_REGISTER_TEMPLATE(boost::function10, + (typename)(typename)(typename)(typename)(typename)(typename)(typename) + (typename)(typename)(typename)(typename)) +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/gen_function_N.pl b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/gen_function_N.pl new file mode 100644 index 0000000..6d1ca2f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function/gen_function_N.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl -w +# +# Boost.Function library +# +# Copyright Douglas Gregor 2001-2003. Use, modification and +# distribution is subject to the Boost Software License, Version +# 1.0. (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) +# +# For more information, see http://www.boost.org +use English; + +if ($#ARGV < 0) { + print "Usage: perl gen_function_N \n"; + exit; +} + + +$totalNumArgs = $ARGV[0]; +for ($numArgs = 0; $numArgs <= $totalNumArgs; ++$numArgs) { + open OUT, ">function$numArgs.hpp"; + print OUT "#define BOOST_FUNCTION_NUM_ARGS $numArgs\n"; + print OUT "#include \n"; + print OUT "#undef BOOST_FUNCTION_NUM_ARGS\n"; + close OUT; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/function_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function_equal.hpp new file mode 100644 index 0000000..35e6642 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/function_equal.hpp @@ -0,0 +1,28 @@ +// Copyright Douglas Gregor 2004. +// Copyright 2005 Peter Dimov + +// Use, modification and distribution is subject to +// the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// For more information, see http://www.boost.org +#ifndef BOOST_FUNCTION_EQUAL_HPP +#define BOOST_FUNCTION_EQUAL_HPP + +namespace boost { + +template + bool function_equal_impl(const F& f, const G& g, long) + { return f == g; } + +// function_equal_impl needs to be unqualified to pick +// user overloads on two-phase compilers + +template + bool function_equal(const F& f, const G& g) + { return function_equal_impl(f, g, 0); } + +} // end namespace boost + +#endif // BOOST_FUNCTION_EQUAL_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/get_pointer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/get_pointer.hpp new file mode 100644 index 0000000..1a34671 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/get_pointer.hpp @@ -0,0 +1,33 @@ +// Copyright Peter Dimov and David Abrahams 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef GET_POINTER_DWA20021219_HPP +# define GET_POINTER_DWA20021219_HPP + +// In order to avoid circular dependencies with Boost.TR1 +// we make sure that our include of doesn't try to +// pull in the TR1 headers: that's why we use this header +// rather than including directly: +# include // std::auto_ptr + +namespace boost { + +// get_pointer(p) extracts a ->* capable pointer from p + +template T * get_pointer(T * p) +{ + return p; +} + +// get_pointer(shared_ptr const & p) has been moved to shared_ptr.hpp + +template T * get_pointer(std::auto_ptr const& p) +{ + return p.get(); +} + + +} // namespace boost + +#endif // GET_POINTER_DWA20021219_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/implicit_cast.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/implicit_cast.hpp new file mode 100644 index 0000000..b0ff30a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/implicit_cast.hpp @@ -0,0 +1,29 @@ +// Copyright David Abrahams 2003. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef IMPLICIT_CAST_DWA200356_HPP +# define IMPLICIT_CAST_DWA200356_HPP + +# include + +namespace boost { + +// implementation originally suggested by C. Green in +// http://lists.boost.org/MailArchives/boost/msg00886.php + +// The use of identity creates a non-deduced form, so that the +// explicit template argument must be supplied +template +inline T implicit_cast (typename mpl::identity::type x) { + return x; +} + +// incomplete return type now is here +//template +//void implicit_cast (...); + +} // namespace boost + + +#endif // IMPLICIT_CAST_DWA200356_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer.hpp new file mode 100644 index 0000000..28a1325 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer.hpp @@ -0,0 +1,253 @@ +// boost integer.hpp header file -------------------------------------------// + +// Copyright Beman Dawes and Daryle Walker 1999. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/integer for documentation. + +// Revision History +// 22 Sep 01 Added value-based integer templates. (Daryle Walker) +// 01 Apr 01 Modified to use new header. (John Maddock) +// 30 Jul 00 Add typename syntax fix (Jens Maurer) +// 28 Aug 99 Initial version + +#ifndef BOOST_INTEGER_HPP +#define BOOST_INTEGER_HPP + +#include // self include + +#include // for boost::::boost::integer_traits +#include // for ::std::numeric_limits +#include // for boost::int64_t and BOOST_NO_INTEGRAL_INT64_T + +// +// We simply cannot include this header on gcc without getting copious warnings of the kind: +// +// boost/integer.hpp:77:30: warning: use of C99 long long integer constant +// +// And yet there is no other reasonable implementation, so we declare this a system header +// to suppress these warnings. +// +#if defined(__GNUC__) && (__GNUC__ >= 4) +#pragma GCC system_header +#endif + +namespace boost +{ + + // Helper templates ------------------------------------------------------// + + // fast integers from least integers + // int_fast_t<> works correctly for unsigned too, in spite of the name. + template< typename LeastInt > + struct int_fast_t + { + typedef LeastInt fast; + typedef fast type; + }; // imps may specialize + + namespace detail{ + + // convert category to type + template< int Category > struct int_least_helper {}; // default is empty + + // specializatons: 1=long, 2=int, 3=short, 4=signed char, + // 6=unsigned long, 7=unsigned int, 8=unsigned short, 9=unsigned char + // no specializations for 0 and 5: requests for a type > long are in error +#ifdef BOOST_HAS_LONG_LONG + template<> struct int_least_helper<1> { typedef boost::long_long_type least; }; +#endif + template<> struct int_least_helper<2> { typedef long least; }; + template<> struct int_least_helper<3> { typedef int least; }; + template<> struct int_least_helper<4> { typedef short least; }; + template<> struct int_least_helper<5> { typedef signed char least; }; +#ifdef BOOST_HAS_LONG_LONG + template<> struct int_least_helper<6> { typedef boost::ulong_long_type least; }; +#endif + template<> struct int_least_helper<7> { typedef unsigned long least; }; + template<> struct int_least_helper<8> { typedef unsigned int least; }; + template<> struct int_least_helper<9> { typedef unsigned short least; }; + template<> struct int_least_helper<10> { typedef unsigned char least; }; + + template + struct exact_signed_base_helper{}; + template + struct exact_unsigned_base_helper{}; + + template <> struct exact_signed_base_helper { typedef signed char exact; }; + template <> struct exact_unsigned_base_helper { typedef unsigned char exact; }; +#if USHRT_MAX != UCHAR_MAX + template <> struct exact_signed_base_helper { typedef short exact; }; + template <> struct exact_unsigned_base_helper { typedef unsigned short exact; }; +#endif +#if UINT_MAX != USHRT_MAX + template <> struct exact_signed_base_helper { typedef int exact; }; + template <> struct exact_unsigned_base_helper { typedef unsigned int exact; }; +#endif +#if ULONG_MAX != UINT_MAX + template <> struct exact_signed_base_helper { typedef long exact; }; + template <> struct exact_unsigned_base_helper { typedef unsigned long exact; }; +#endif +#if defined(BOOST_HAS_LONG_LONG) &&\ + ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\ + (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\ + (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\ + (defined(_ULLONG_MAX) && (_ULLONG_MAX != ULONG_MAX))) + template <> struct exact_signed_base_helper { typedef boost::long_long_type exact; }; + template <> struct exact_unsigned_base_helper { typedef boost::ulong_long_type exact; }; +#endif + + + } // namespace detail + + // integer templates specifying number of bits ---------------------------// + + // signed + template< int Bits > // bits (including sign) required + struct int_t : public detail::exact_signed_base_helper + { + typedef typename detail::int_least_helper + < +#ifdef BOOST_HAS_LONG_LONG + (Bits-1 <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) + +#else + 1 + +#endif + (Bits-1 <= ::std::numeric_limits::digits) + + (Bits-1 <= ::std::numeric_limits::digits) + + (Bits-1 <= ::std::numeric_limits::digits) + + (Bits-1 <= ::std::numeric_limits::digits) + >::least least; + typedef typename int_fast_t::type fast; + }; + + // unsigned + template< int Bits > // bits required + struct uint_t : public detail::exact_unsigned_base_helper + { +#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T) + // It's really not clear why this workaround should be needed... shrug I guess! JM + BOOST_STATIC_CONSTANT(int, s = + 6 + + (Bits <= ::std::numeric_limits::digits) + + (Bits <= ::std::numeric_limits::digits) + + (Bits <= ::std::numeric_limits::digits) + + (Bits <= ::std::numeric_limits::digits)); + typedef typename detail::int_least_helper< ::boost::uint_t::s>::least least; +#else + typedef typename detail::int_least_helper + < + 5 + +#ifdef BOOST_HAS_LONG_LONG + (Bits-1 <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) + +#else + 1 + +#endif + (Bits <= ::std::numeric_limits::digits) + + (Bits <= ::std::numeric_limits::digits) + + (Bits <= ::std::numeric_limits::digits) + + (Bits <= ::std::numeric_limits::digits) + >::least least; +#endif + typedef typename int_fast_t::type fast; + // int_fast_t<> works correctly for unsigned too, in spite of the name. + }; + + // integer templates specifying extreme value ----------------------------// + + // signed +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::long_long_type MaxValue > // maximum value to require support +#else + template< long MaxValue > // maximum value to require support +#endif + struct int_max_value_t + { + typedef typename detail::int_least_helper + < +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + (MaxValue <= ::boost::integer_traits::const_max) + +#else + 1 + +#endif + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + >::least least; + typedef typename int_fast_t::type fast; + }; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::long_long_type MinValue > // minimum value to require support +#else + template< long MinValue > // minimum value to require support +#endif + struct int_min_value_t + { + typedef typename detail::int_least_helper + < +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + (MinValue >= ::boost::integer_traits::const_min) + +#else + 1 + +#endif + (MinValue >= ::boost::integer_traits::const_min) + + (MinValue >= ::boost::integer_traits::const_min) + + (MinValue >= ::boost::integer_traits::const_min) + + (MinValue >= ::boost::integer_traits::const_min) + >::least least; + typedef typename int_fast_t::type fast; + }; + + // unsigned +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::ulong_long_type MaxValue > // minimum value to require support +#else + template< unsigned long MaxValue > // minimum value to require support +#endif + struct uint_value_t + { +#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) + // It's really not clear why this workaround should be needed... shrug I guess! JM +#if defined(BOOST_NO_INTEGRAL_INT64_T) + BOOST_STATIC_CONSTANT(unsigned, which = + 6 + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max)); + typedef typename detail::int_least_helper< ::boost::uint_value_t::which>::least least; +#else // BOOST_NO_INTEGRAL_INT64_T + BOOST_STATIC_CONSTANT(unsigned, which = + 5 + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max)); + typedef typename detail::int_least_helper< ::boost::uint_value_t::which>::least least; +#endif // BOOST_NO_INTEGRAL_INT64_T +#else + typedef typename detail::int_least_helper + < + 5 + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + (MaxValue <= ::boost::integer_traits::const_max) + +#else + 1 + +#endif + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + + (MaxValue <= ::boost::integer_traits::const_max) + >::least least; +#endif + typedef typename int_fast_t::type fast; + }; + + +} // namespace boost + +#endif // BOOST_INTEGER_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/integer_mask.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/integer_mask.hpp new file mode 100644 index 0000000..1c83c82 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/integer_mask.hpp @@ -0,0 +1,102 @@ +// Boost integer/integer_mask.hpp header file ------------------------------// + +// (C) Copyright Daryle Walker 2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for updates, documentation, and revision history. + +#ifndef BOOST_INTEGER_INTEGER_MASK_HPP +#define BOOST_INTEGER_INTEGER_MASK_HPP + +#include // self include + +#include // for BOOST_STATIC_CONSTANT +#include // for boost::uint_t + +#include // for UCHAR_MAX, etc. +#include // for std::size_t + +#include // for std::numeric_limits + + +namespace boost +{ + + +// Specified single-bit mask class declaration -----------------------------// +// (Lowest bit starts counting at 0.) + +template < std::size_t Bit > +struct high_bit_mask_t +{ + typedef typename uint_t<(Bit + 1)>::least least; + typedef typename uint_t<(Bit + 1)>::fast fast; + + BOOST_STATIC_CONSTANT( least, high_bit = (least( 1u ) << Bit) ); + BOOST_STATIC_CONSTANT( fast, high_bit_fast = (fast( 1u ) << Bit) ); + + BOOST_STATIC_CONSTANT( std::size_t, bit_position = Bit ); + +}; // boost::high_bit_mask_t + + +// Specified bit-block mask class declaration ------------------------------// +// Makes masks for the lowest N bits +// (Specializations are needed when N fills up a type.) + +template < std::size_t Bits > +struct low_bits_mask_t +{ + typedef typename uint_t::least least; + typedef typename uint_t::fast fast; + + BOOST_STATIC_CONSTANT( least, sig_bits = (~( ~(least( 0u )) << Bits )) ); + BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); + + BOOST_STATIC_CONSTANT( std::size_t, bit_count = Bits ); + +}; // boost::low_bits_mask_t + + +#define BOOST_LOW_BITS_MASK_SPECIALIZE( Type ) \ + template < > struct low_bits_mask_t< std::numeric_limits::digits > { \ + typedef std::numeric_limits limits_type; \ + typedef uint_t::least least; \ + typedef uint_t::fast fast; \ + BOOST_STATIC_CONSTANT( least, sig_bits = (~( least(0u) )) ); \ + BOOST_STATIC_CONSTANT( fast, sig_bits_fast = fast(sig_bits) ); \ + BOOST_STATIC_CONSTANT( std::size_t, bit_count = limits_type::digits ); \ + } + +#ifdef BOOST_MSVC +#pragma warning(push) +#pragma warning(disable:4245) // 'initializing' : conversion from 'int' to 'const boost::low_bits_mask_t<8>::least', signed/unsigned mismatch +#endif + +BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned char ); + +#if USHRT_MAX > UCHAR_MAX +BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned short ); +#endif + +#if UINT_MAX > USHRT_MAX +BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned int ); +#endif + +#if ULONG_MAX > UINT_MAX +BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long ); +#endif + +#ifdef BOOST_MSVC +#pragma warning(pop) +#endif + +#undef BOOST_LOW_BITS_MASK_SPECIALIZE + + +} // namespace boost + + +#endif // BOOST_INTEGER_INTEGER_MASK_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_log2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_log2.hpp new file mode 100644 index 0000000..2d3b8c0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_log2.hpp @@ -0,0 +1,127 @@ +// -------------- Boost static_log2.hpp header file ----------------------- // +// +// Copyright (C) 2001 Daryle Walker. +// Copyright (C) 2003 Vesa Karvonen. +// Copyright (C) 2003 Gennaro Prota. +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// --------------------------------------------------- +// See http://www.boost.org/libs/integer for documentation. +// ------------------------------------------------------------------------- // + + +#ifndef BOOST_INTEGER_STATIC_LOG2_HPP +#define BOOST_INTEGER_STATIC_LOG2_HPP + +#include "boost/integer_fwd.hpp" // for boost::intmax_t + +namespace boost { + + namespace detail { + + namespace static_log2_impl { + + // choose_initial_n<> + // + // Recursively doubles its integer argument, until it + // becomes >= of the "width" (C99, 6.2.6.2p4) of + // static_log2_argument_type. + // + // Used to get the maximum power of two less then the width. + // + // Example: if on your platform argument_type has 48 value + // bits it yields n=32. + // + // It's easy to prove that, starting from such a value + // of n, the core algorithm works correctly for any width + // of static_log2_argument_type and that recursion always + // terminates with x = 1 and n = 0 (see the algorithm's + // invariant). + + typedef boost::static_log2_argument_type argument_type; + typedef boost::static_log2_result_type result_type; + + template + struct choose_initial_n { + + BOOST_STATIC_CONSTANT(bool, c = (argument_type(1) << n << n) != 0); + BOOST_STATIC_CONSTANT( + result_type, + value = !c*n + choose_initial_n<2*c*n>::value + ); + + }; + + template <> + struct choose_initial_n<0> { + BOOST_STATIC_CONSTANT(result_type, value = 0); + }; + + + + // start computing from n_zero - must be a power of two + const result_type n_zero = 16; + const result_type initial_n = choose_initial_n::value; + + // static_log2_impl<> + // + // * Invariant: + // 2n + // 1 <= x && x < 2 at the start of each recursion + // (see also choose_initial_n<>) + // + // * Type requirements: + // + // argument_type maybe any unsigned type with at least n_zero + 1 + // value bits. (Note: If larger types will be standardized -e.g. + // unsigned long long- then the argument_type typedef can be + // changed without affecting the rest of the code.) + // + + template + struct static_log2_impl { + + BOOST_STATIC_CONSTANT(bool, c = (x >> n) > 0); // x >= 2**n ? + BOOST_STATIC_CONSTANT( + result_type, + value = c*n + (static_log2_impl< (x>>c*n), n/2 >::value) + ); + + }; + + template <> + struct static_log2_impl<1, 0> { + BOOST_STATIC_CONSTANT(result_type, value = 0); + }; + + } + } // detail + + + + // -------------------------------------- + // static_log2 + // ---------------------------------------- + + template + struct static_log2 { + + BOOST_STATIC_CONSTANT( + static_log2_result_type, + value = detail::static_log2_impl::static_log2_impl::value + ); + + }; + + + template <> + struct static_log2<0> { }; + +} + + + +#endif // include guard diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_min_max.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_min_max.hpp new file mode 100644 index 0000000..036aa8e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer/static_min_max.hpp @@ -0,0 +1,51 @@ +// Boost integer/static_min_max.hpp header file ----------------------------// + +// (C) Copyright Daryle Walker 2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org for updates, documentation, and revision history. + +#ifndef BOOST_INTEGER_STATIC_MIN_MAX_HPP +#define BOOST_INTEGER_STATIC_MIN_MAX_HPP + +#include // self include + +namespace boost +{ + +// Compile-time extrema class declarations ---------------------------------// +// Get the minimum or maximum of two values, signed or unsigned. + +template +struct static_signed_min +{ + BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 > Value2) ? Value2 : Value1 ); +}; + +template +struct static_signed_max +{ + BOOST_STATIC_CONSTANT(static_min_max_signed_type, value = (Value1 < Value2) ? Value2 : Value1 ); +}; + +template +struct static_unsigned_min +{ + BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value + = (Value1 > Value2) ? Value2 : Value1 ); +}; + +template +struct static_unsigned_max +{ + BOOST_STATIC_CONSTANT(static_min_max_unsigned_type, value + = (Value1 < Value2) ? Value2 : Value1 ); +}; + + +} // namespace boost + + +#endif // BOOST_INTEGER_STATIC_MIN_MAX_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_fwd.hpp new file mode 100644 index 0000000..4198858 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_fwd.hpp @@ -0,0 +1,174 @@ +// Boost integer_fwd.hpp header file ---------------------------------------// + +// (C) Copyright Dave Abrahams and Daryle Walker 2001. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/integer for documentation. + +#ifndef BOOST_INTEGER_FWD_HPP +#define BOOST_INTEGER_FWD_HPP + +#include // for UCHAR_MAX, etc. +#include // for std::size_t + +#include // for BOOST_NO_INTRINSIC_WCHAR_T +#include // for std::numeric_limits +#include // For intmax_t + + +namespace boost +{ + +#ifdef BOOST_NO_INTEGRAL_INT64_T + typedef unsigned long static_log2_argument_type; + typedef int static_log2_result_type; + typedef long static_min_max_signed_type; + typedef unsigned long static_min_max_unsigned_type; +#else + typedef boost::uintmax_t static_min_max_unsigned_type; + typedef boost::intmax_t static_min_max_signed_type; + typedef boost::uintmax_t static_log2_argument_type; + typedef int static_log2_result_type; +#endif + +// From ------------------------------------------------// + +// Only has typedefs or using statements, with #conditionals + + +// From -----------------------------------------// + +template < class T > + class integer_traits; + +template < > + class integer_traits< bool >; + +template < > + class integer_traits< char >; + +template < > + class integer_traits< signed char >; + +template < > + class integer_traits< unsigned char >; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +template < > + class integer_traits< wchar_t >; +#endif + +template < > + class integer_traits< short >; + +template < > + class integer_traits< unsigned short >; + +template < > + class integer_traits< int >; + +template < > + class integer_traits< unsigned int >; + +template < > + class integer_traits< long >; + +template < > + class integer_traits< unsigned long >; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && (defined(BOOST_HAS_LONG_LONG) || defined(BOOST_HAS_MS_INT64)) +template < > + class integer_traits< ::boost::long_long_type>; + +template < > + class integer_traits< ::boost::ulong_long_type >; +#endif + + +// From ------------------------------------------------// + +template < typename LeastInt > + struct int_fast_t; + +template< int Bits > + struct int_t; + +template< int Bits > + struct uint_t; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::long_long_type MaxValue > // maximum value to require support +#else + template< long MaxValue > // maximum value to require support +#endif + struct int_max_value_t; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::long_long_type MinValue > // minimum value to require support +#else + template< long MinValue > // minimum value to require support +#endif + struct int_min_value_t; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) + template< boost::ulong_long_type MaxValue > // maximum value to require support +#else + template< unsigned long MaxValue > // maximum value to require support +#endif + struct uint_value_t; + + +// From -----------------------------------// + +template < std::size_t Bit > + struct high_bit_mask_t; + +template < std::size_t Bits > + struct low_bits_mask_t; + +template < > + struct low_bits_mask_t< ::std::numeric_limits::digits >; + +#if USHRT_MAX > UCHAR_MAX +template < > + struct low_bits_mask_t< ::std::numeric_limits::digits >; +#endif + +#if UINT_MAX > USHRT_MAX +template < > + struct low_bits_mask_t< ::std::numeric_limits::digits >; +#endif + +#if ULONG_MAX > UINT_MAX +template < > + struct low_bits_mask_t< ::std::numeric_limits::digits >; +#endif + + +// From ------------------------------------// + +template + struct static_log2; + +template <> struct static_log2<0u>; + + +// From ---------------------------------// + +template + struct static_signed_min; + +template + struct static_signed_max; + +template + struct static_unsigned_min; + +template + struct static_unsigned_max; + +} // namespace boost + + +#endif // BOOST_INTEGER_FWD_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_traits.hpp new file mode 100644 index 0000000..09ff230 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/integer_traits.hpp @@ -0,0 +1,261 @@ +/* boost integer_traits.hpp header file + * + * Copyright Jens Maurer 2000 + * Distributed under the Boost Software License, Version 1.0. (See + * accompanying file LICENSE_1_0.txt or copy at + * http://www.boost.org/LICENSE_1_0.txt) + * + * $Id: integer_traits.hpp 58381 2009-12-14 18:14:48Z johnmaddock $ + * + * Idea by Beman Dawes, Ed Brey, Steve Cleary, and Nathan Myers + */ + +// See http://www.boost.org/libs/integer for documentation. + + +#ifndef BOOST_INTEGER_TRAITS_HPP +#define BOOST_INTEGER_TRAITS_HPP + +#include +#include + +// These are an implementation detail and not part of the interface +#include +// we need wchar.h for WCHAR_MAX/MIN but not all platforms provide it, +// and some may have but not ... +#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) && (!defined(BOOST_NO_CWCHAR) || defined(sun) || defined(__sun) || defined(__QNX__)) +#include +#endif + +// +// We simply cannot include this header on gcc without getting copious warnings of the kind: +// +// ../../../boost/integer_traits.hpp:164:66: warning: use of C99 long long integer constant +// +// And yet there is no other reasonable implementation, so we declare this a system header +// to suppress these warnings. +// +#if defined(__GNUC__) && (__GNUC__ >= 4) +#pragma GCC system_header +#endif + +namespace boost { +template +class integer_traits : public std::numeric_limits +{ +public: + BOOST_STATIC_CONSTANT(bool, is_integral = false); +}; + +namespace detail { +template +class integer_traits_base +{ +public: + BOOST_STATIC_CONSTANT(bool, is_integral = true); + BOOST_STATIC_CONSTANT(T, const_min = min_val); + BOOST_STATIC_CONSTANT(T, const_max = max_val); +}; + +#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +// A definition is required even for integral static constants +template +const bool integer_traits_base::is_integral; + +template +const T integer_traits_base::const_min; + +template +const T integer_traits_base::const_max; +#endif + +} // namespace detail + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +template<> +class integer_traits + : public std::numeric_limits, + // Don't trust WCHAR_MIN and WCHAR_MAX with Mac OS X's native + // library: they are wrong! +#if defined(WCHAR_MIN) && defined(WCHAR_MAX) && !defined(__APPLE__) + public detail::integer_traits_base +#elif defined(__BORLANDC__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__BEOS__) && defined(__GNUC__)) + // No WCHAR_MIN and WCHAR_MAX, whar_t is short and unsigned: + public detail::integer_traits_base +#elif (defined(__sgi) && (!defined(__SGI_STL_PORT) || __SGI_STL_PORT < 0x400))\ + || (defined __APPLE__)\ + || (defined(__OpenBSD__) && defined(__GNUC__))\ + || (defined(__NetBSD__) && defined(__GNUC__))\ + || (defined(__FreeBSD__) && defined(__GNUC__))\ + || (defined(__DragonFly__) && defined(__GNUC__))\ + || (defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 3) && !defined(__SGI_STL_PORT)) + // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as int. + // - SGI MIPSpro with native library + // - gcc 3.x on HP-UX + // - Mac OS X with native library + // - gcc on FreeBSD, OpenBSD and NetBSD + public detail::integer_traits_base +#elif defined(__hpux) && defined(__GNUC__) && (__GNUC__ == 2) && !defined(__SGI_STL_PORT) + // No WCHAR_MIN and WCHAR_MAX, wchar_t has the same range as unsigned int. + // - gcc 2.95.x on HP-UX + // (also, std::numeric_limits appears to return the wrong values). + public detail::integer_traits_base +#else +#error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler. +#endif +{ }; +#endif // BOOST_NO_INTRINSIC_WCHAR_T + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +template<> +class integer_traits + : public std::numeric_limits, + public detail::integer_traits_base +{ }; + +#if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) +#if defined(ULLONG_MAX) && defined(BOOST_HAS_LONG_LONG) + +template<> +class integer_traits< ::boost::long_long_type> + : public std::numeric_limits< ::boost::long_long_type>, + public detail::integer_traits_base< ::boost::long_long_type, LLONG_MIN, LLONG_MAX> +{ }; + +template<> +class integer_traits< ::boost::ulong_long_type> + : public std::numeric_limits< ::boost::ulong_long_type>, + public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULLONG_MAX> +{ }; + +#elif defined(ULONG_LONG_MAX) && defined(BOOST_HAS_LONG_LONG) + +template<> +class integer_traits< ::boost::long_long_type> : public std::numeric_limits< ::boost::long_long_type>, public detail::integer_traits_base< ::boost::long_long_type, LONG_LONG_MIN, LONG_LONG_MAX>{ }; +template<> +class integer_traits< ::boost::ulong_long_type> + : public std::numeric_limits< ::boost::ulong_long_type>, + public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONG_LONG_MAX> +{ }; + +#elif defined(ULONGLONG_MAX) && defined(BOOST_HAS_LONG_LONG) + +template<> +class integer_traits< ::boost::long_long_type> + : public std::numeric_limits< ::boost::long_long_type>, + public detail::integer_traits_base< ::boost::long_long_type, LONGLONG_MIN, LONGLONG_MAX> +{ }; + +template<> +class integer_traits< ::boost::ulong_long_type> + : public std::numeric_limits< ::boost::ulong_long_type>, + public detail::integer_traits_base< ::boost::ulong_long_type, 0, ULONGLONG_MAX> +{ }; + +#elif defined(_LLONG_MAX) && defined(_C2) && defined(BOOST_HAS_LONG_LONG) + +template<> +class integer_traits< ::boost::long_long_type> + : public std::numeric_limits< ::boost::long_long_type>, + public detail::integer_traits_base< ::boost::long_long_type, -_LLONG_MAX - _C2, _LLONG_MAX> +{ }; + +template<> +class integer_traits< ::boost::ulong_long_type> + : public std::numeric_limits< ::boost::ulong_long_type>, + public detail::integer_traits_base< ::boost::ulong_long_type, 0, _ULLONG_MAX> +{ }; + +#elif defined(BOOST_HAS_LONG_LONG) +// +// we have long long but no constants, this happens for example with gcc in -ansi mode, +// we'll just have to work out the values for ourselves (assumes 2's compliment representation): +// +template<> +class integer_traits< ::boost::long_long_type> + : public std::numeric_limits< ::boost::long_long_type>, + public detail::integer_traits_base< ::boost::long_long_type, (1LL << (sizeof(::boost::long_long_type) - 1)), ~(1LL << (sizeof(::boost::long_long_type) - 1))> +{ }; + +template<> +class integer_traits< ::boost::ulong_long_type> + : public std::numeric_limits< ::boost::ulong_long_type>, + public detail::integer_traits_base< ::boost::ulong_long_type, 0, ~0uLL> +{ }; + +#elif defined(BOOST_HAS_MS_INT64) + +template<> +class integer_traits< __int64> + : public std::numeric_limits< __int64>, + public detail::integer_traits_base< __int64, _I64_MIN, _I64_MAX> +{ }; + +template<> +class integer_traits< unsigned __int64> + : public std::numeric_limits< unsigned __int64>, + public detail::integer_traits_base< unsigned __int64, 0, _UI64_MAX> +{ }; + +#endif +#endif + +} // namespace boost + +#endif /* BOOST_INTEGER_TRAITS_HPP */ + + + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator.hpp new file mode 100644 index 0000000..8d54784 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator.hpp @@ -0,0 +1,59 @@ +// interator.hpp workarounds for non-conforming standard libraries ---------// + +// (C) Copyright Beman Dawes 2000. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/utility for documentation. + +// Revision History +// 12 Jan 01 added for std::ptrdiff_t (Jens Maurer) +// 28 Jun 00 Workarounds to deal with known MSVC bugs (David Abrahams) +// 26 Jun 00 Initial version (Jeremy Siek) + +#ifndef BOOST_ITERATOR_HPP +#define BOOST_ITERATOR_HPP + +#include +#include // std::ptrdiff_t +#include + +namespace boost +{ +# if defined(BOOST_NO_STD_ITERATOR) && !defined(BOOST_MSVC_STD_ITERATOR) + template + struct iterator + { + typedef T value_type; + typedef Distance difference_type; + typedef Pointer pointer; + typedef Reference reference; + typedef Category iterator_category; + }; +# else + + // declare iterator_base in namespace detail to work around MSVC bugs which + // prevent derivation from an identically-named class in a different namespace. + namespace detail { + template +# if !defined(BOOST_MSVC_STD_ITERATOR) + struct iterator_base : std::iterator {}; +# else + struct iterator_base : std::iterator + { + typedef Reference reference; + typedef Pointer pointer; + typedef Distance difference_type; + }; +# endif + } + + template + struct iterator : boost::detail::iterator_base {}; +# endif +} // namespace boost + +#endif // BOOST_ITERATOR_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/counting_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/counting_iterator.hpp new file mode 100644 index 0000000..09fc5a7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/counting_iterator.hpp @@ -0,0 +1,215 @@ +// Copyright David Abrahams 2003. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef COUNTING_ITERATOR_DWA200348_HPP +# define COUNTING_ITERATOR_DWA200348_HPP + +# include +# include +# include +# include +# include +# include + +namespace boost { + +template < + class Incrementable + , class CategoryOrTraversal + , class Difference +> +class counting_iterator; + +namespace detail +{ + // Try to detect numeric types at compile time in ways compatible + // with the limitations of the compiler and library. + template + struct is_numeric_impl + { + // For a while, this wasn't true, but we rely on it below. This is a regression assert. + BOOST_STATIC_ASSERT(::boost::is_integral::value); + +# ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + + BOOST_STATIC_CONSTANT(bool, value = std::numeric_limits::is_specialized); + +# else + +# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) + BOOST_STATIC_CONSTANT( + bool, value = ( + boost::is_convertible::value + && boost::is_convertible::value + )); +# else + BOOST_STATIC_CONSTANT(bool, value = ::boost::is_arithmetic::value); +# endif + +# endif + }; + + template + struct is_numeric + : mpl::bool_<(::boost::detail::is_numeric_impl::value)> + {}; + +# if defined(BOOST_HAS_LONG_LONG) + template <> + struct is_numeric< ::boost::long_long_type> + : mpl::true_ {}; + + template <> + struct is_numeric< ::boost::ulong_long_type> + : mpl::true_ {}; +# endif + + // Some compilers fail to have a numeric_limits specialization + template <> + struct is_numeric + : mpl::true_ {}; + + template + struct numeric_difference + { + typedef typename boost::detail::numeric_traits::difference_type type; + }; + + BOOST_STATIC_ASSERT(is_numeric::value); + + template + struct counting_iterator_base + { + typedef typename detail::ia_dflt_help< + CategoryOrTraversal + , mpl::eval_if< + is_numeric + , mpl::identity + , iterator_traversal + > + >::type traversal; + + typedef typename detail::ia_dflt_help< + Difference + , mpl::eval_if< + is_numeric + , numeric_difference + , iterator_difference + > + >::type difference; + + typedef iterator_adaptor< + counting_iterator // self + , Incrementable // Base + , Incrementable // Value +# ifndef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY + const // MSVC won't strip this. Instead we enable Thomas' + // criterion (see boost/iterator/detail/facade_iterator_category.hpp) +# endif + , traversal + , Incrementable const& // reference + , difference + > type; + }; + + // Template class distance_policy_select -- choose a policy for computing the + // distance between counting_iterators at compile-time based on whether or not + // the iterator wraps an integer or an iterator, using "poor man's partial + // specialization". + + template struct distance_policy_select; + + // A policy for wrapped iterators + template + struct iterator_distance + { + static Difference distance(Incrementable1 x, Incrementable2 y) + { + return y - x; + } + }; + + // A policy for wrapped numbers + template + struct number_distance + { + static Difference distance(Incrementable1 x, Incrementable2 y) + { + return numeric_distance(x, y); + } + }; +} + +template < + class Incrementable + , class CategoryOrTraversal = use_default + , class Difference = use_default +> +class counting_iterator + : public detail::counting_iterator_base< + Incrementable, CategoryOrTraversal, Difference + >::type +{ + typedef typename detail::counting_iterator_base< + Incrementable, CategoryOrTraversal, Difference + >::type super_t; + + friend class iterator_core_access; + + public: + typedef typename super_t::difference_type difference_type; + + counting_iterator() { } + + counting_iterator(counting_iterator const& rhs) : super_t(rhs.base()) {} + + counting_iterator(Incrementable x) + : super_t(x) + { + } + +# if 0 + template + counting_iterator( + counting_iterator const& t + , typename enable_if_convertible::type* = 0 + ) + : super_t(t.base()) + {} +# endif + + private: + + typename super_t::reference dereference() const + { + return this->base_reference(); + } + + template + difference_type + distance_to(counting_iterator const& y) const + { + typedef typename mpl::if_< + detail::is_numeric + , detail::number_distance + , detail::iterator_distance + >::type d; + + return d::distance(this->base(), y.base()); + } +}; + +// Manufacture a counting iterator for an arbitrary incrementable type +template +inline counting_iterator +make_counting_iterator(Incrementable x) +{ + typedef counting_iterator result_t; + return result_t(x); +} + + +} // namespace boost::iterator + +#endif // COUNTING_ITERATOR_DWA200348_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/any_conversion_eater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/any_conversion_eater.hpp new file mode 100644 index 0000000..ce9e043 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/any_conversion_eater.hpp @@ -0,0 +1,19 @@ +// Copyright David Abrahams 2003. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef ANY_CONVERSION_EATER_DWA20031117_HPP +# define ANY_CONVERSION_EATER_DWA20031117_HPP + +namespace boost { namespace detail { + +// This type can be used in traits to "eat" up the one user-defined +// implicit conversion allowed. +struct any_conversion_eater +{ + template + any_conversion_eater(T const&); +}; + +}} // namespace boost::detail + +#endif // ANY_CONVERSION_EATER_DWA20031117_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_def.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_def.hpp new file mode 100644 index 0000000..e1ccf3f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_def.hpp @@ -0,0 +1,137 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// no include guard multiple inclusion intended + +// +// This is a temporary workaround until the bulk of this is +// available in boost config. +// 23/02/03 thw +// + +#include // for prior +#include + +#ifdef BOOST_ITERATOR_CONFIG_DEF +# error you have nested config_def #inclusion. +#else +# define BOOST_ITERATOR_CONFIG_DEF +#endif + +// We enable this always now. Otherwise, the simple case in +// libs/iterator/test/constant_iterator_arrow.cpp fails to compile +// because the operator-> return is improperly deduced as a non-const +// pointer. +#if 1 || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x531)) + +// Recall that in general, compilers without partial specialization +// can't strip constness. Consider counting_iterator, which normally +// passes a const Value to iterator_facade. As a result, any code +// which makes a std::vector of the iterator's value_type will fail +// when its allocator declares functions overloaded on reference and +// const_reference (the same type). +// +// Furthermore, Borland 5.5.1 drops constness in enough ways that we +// end up using a proxy for operator[] when we otherwise shouldn't. +// Using reference constness gives it an extra hint that it can +// return the value_type from operator[] directly, but is not +// strictly necessary. Not sure how best to resolve this one. + +# define BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY 1 + +#endif + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x5A0)) \ + || (BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700) && defined(_MSC_VER)) \ + || BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) + +# define BOOST_NO_LVALUE_RETURN_DETECTION + +# if 0 // test code + struct v {}; + + typedef char (&no)[3]; + + template + no foo(T const&, ...); + + template + char foo(T&, int); + + + struct value_iterator + { + v operator*() const; + }; + + template + struct lvalue_deref_helper + { + static T& x; + enum { value = (sizeof(foo(*x,0)) == 1) }; + }; + + int z2[(lvalue_deref_helper::value == 1) ? 1 : -1]; + int z[(lvalue_deref_helper::value) == 1 ? -1 : 1 ]; +# endif + +#endif + +#if BOOST_WORKAROUND(__MWERKS__, <=0x2407) +# define BOOST_NO_IS_CONVERTIBLE // "is_convertible doesn't work for simple types" +#endif + +#if BOOST_WORKAROUND(__GNUC__, == 2) \ + || BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, < 4) && !defined(__EDG_VERSION__) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) +# define BOOST_NO_IS_CONVERTIBLE_TEMPLATE // The following program fails to compile: + +# if 0 // test code + #include + template + struct foo + { + foo(T); + + template + foo(foo const& other) : p(other.p) { } + + T p; + }; + + bool x = boost::is_convertible, foo >::value; +# endif + +#endif + + +#if !defined(BOOST_MSVC) && (defined(BOOST_NO_SFINAE) || defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_IS_CONVERTIBLE_TEMPLATE)) +# define BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY +#endif + +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_ARG_DEPENDENT_TYPENAME typename +# else +# define BOOST_ARG_DEPENDENT_TYPENAME +# endif + +# if BOOST_WORKAROUND(__GNUC__, == 2) && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(95)) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) + +// GCC-2.95 eagerly instantiates templated constructors and conversion +// operators in convertibility checks, causing premature errors. +// +// Borland's problems are harder to diagnose due to lack of an +// instantiation stack backtrace. They may be due in part to the fact +// that it drops cv-qualification willy-nilly in templates. +# define BOOST_NO_ONE_WAY_ITERATOR_INTEROP +# endif + +// no include guard; multiple inclusion intended diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_undef.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_undef.hpp new file mode 100644 index 0000000..9b04775 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/config_undef.hpp @@ -0,0 +1,25 @@ +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// no include guard multiple inclusion intended + +// +// This is a temporary workaround until the bulk of this is +// available in boost config. +// 23/02/03 thw +// + +#undef BOOST_NO_IS_CONVERTIBLE +#undef BOOST_NO_IS_CONVERTIBLE_TEMPLATE +#undef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY +#undef BOOST_ARG_DEPENDENT_TYPENAME +#undef BOOST_NO_LVALUE_RETURN_DETECTION +#undef BOOST_NO_ONE_WAY_ITERATOR_INTEROP + +#ifdef BOOST_ITERATOR_CONFIG_DEF +# undef BOOST_ITERATOR_CONFIG_DEF +#else +# error missing or nested #include config_def +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/enable_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/enable_if.hpp new file mode 100644 index 0000000..2c261f8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/enable_if.hpp @@ -0,0 +1,86 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_ENABLE_IF_23022003THW_HPP +#define BOOST_ENABLE_IF_23022003THW_HPP + +#include +#include + +#include + +// +// Boost iterators uses its own enable_if cause we need +// special semantics for deficient compilers. +// 23/02/03 thw +// + +namespace boost +{ + + namespace iterators + { + // + // Base machinery for all kinds of enable if + // + template + struct enabled + { + template + struct base + { + typedef T type; + }; + }; + + // + // For compilers that don't support "Substitution Failure Is Not An Error" + // enable_if falls back to always enabled. See comments + // on operator implementation for consequences. + // + template<> + struct enabled + { + template + struct base + { +#ifdef BOOST_NO_SFINAE + + typedef T type; + + // This way to do it would give a nice error message containing + // invalid overload, but has the big disadvantage that + // there is no reference to user code in the error message. + // + // struct invalid_overload; + // typedef invalid_overload type; + // +#endif + }; + }; + + + template + struct enable_if +# if !defined(BOOST_NO_SFINAE) && !defined(BOOST_NO_IS_CONVERTIBLE) + : enabled<(Cond::value)>::template base +# else + : mpl::identity +# endif + { +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + typedef Return type; +# endif + }; + + } // namespace iterators + +} // namespace boost + +#include + +#endif // BOOST_ENABLE_IF_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/facade_iterator_category.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/facade_iterator_category.hpp new file mode 100644 index 0000000..2c528d8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/facade_iterator_category.hpp @@ -0,0 +1,200 @@ +// Copyright David Abrahams 2003. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef FACADE_ITERATOR_CATEGORY_DWA20031118_HPP +# define FACADE_ITERATOR_CATEGORY_DWA20031118_HPP + +# include + +# include // used in iterator_tag inheritance logic +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +# include + +# include // try to keep this last + +# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY +# include +# endif + +// +// iterator_category deduction for iterator_facade +// + +// forward declaration +namespace boost { struct use_default; } + +namespace boost { namespace detail { + +struct input_output_iterator_tag + : std::input_iterator_tag +{ + // Using inheritance for only input_iterator_tag helps to avoid + // ambiguities when a stdlib implementation dispatches on a + // function which is overloaded on both input_iterator_tag and + // output_iterator_tag, as STLPort does, in its __valid_range + // function. I claim it's better to avoid the ambiguity in these + // cases. + operator std::output_iterator_tag() const + { + return std::output_iterator_tag(); + } +}; + +// +// True iff the user has explicitly disabled writability of this +// iterator. Pass the iterator_facade's Value parameter and its +// nested ::reference type. +// +template +struct iterator_writability_disabled +# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY // Adding Thomas' logic? + : mpl::or_< + is_const + , boost::detail::indirect_traits::is_reference_to_const + , is_const + > +# else + : is_const +# endif +{}; + + +// +// Convert an iterator_facade's traversal category, Value parameter, +// and ::reference type to an appropriate old-style category. +// +// If writability has been disabled per the above metafunction, the +// result will not be convertible to output_iterator_tag. +// +// Otherwise, if Traversal == single_pass_traversal_tag, the following +// conditions will result in a tag that is convertible both to +// input_iterator_tag and output_iterator_tag: +// +// 1. Reference is a reference to non-const +// 2. Reference is not a reference and is convertible to Value +// +template +struct iterator_facade_default_category + : mpl::eval_if< + mpl::and_< + is_reference + , is_convertible + > + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::if_< + is_convertible + , std::bidirectional_iterator_tag + , std::forward_iterator_tag + > + > + , typename mpl::eval_if< + mpl::and_< + is_convertible + + // check for readability + , is_convertible + > + , mpl::identity + , mpl::identity + > + > +{ +}; + +// True iff T is convertible to an old-style iterator category. +template +struct is_iterator_category + : mpl::or_< + is_convertible + , is_convertible + > +{ +}; + +template +struct is_iterator_traversal + : is_convertible +{}; + +// +// A composite iterator_category tag convertible to Category (a pure +// old-style category) and Traversal (a pure traversal tag). +// Traversal must be a strict increase of the traversal power given by +// Category. +// +template +struct iterator_category_with_traversal + : Category, Traversal +{ +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + // Make sure this isn't used to build any categories where + // convertibility to Traversal is redundant. Should just use the + // Category element in that case. + BOOST_MPL_ASSERT_NOT(( + is_convertible< + typename iterator_category_to_traversal::type + , Traversal + >)); + + BOOST_MPL_ASSERT((is_iterator_category)); + BOOST_MPL_ASSERT_NOT((is_iterator_category)); + BOOST_MPL_ASSERT_NOT((is_iterator_traversal)); +# if !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) + BOOST_MPL_ASSERT((is_iterator_traversal)); +# endif +# endif +}; + +// Computes an iterator_category tag whose traversal is Traversal and +// which is appropriate for an iterator +template +struct facade_iterator_category_impl +{ +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + BOOST_MPL_ASSERT_NOT((is_iterator_category)); +# endif + + typedef typename iterator_facade_default_category< + Traversal,ValueParam,Reference + >::type category; + + typedef typename mpl::if_< + is_same< + Traversal + , typename iterator_category_to_traversal::type + > + , category + , iterator_category_with_traversal + >::type type; +}; + +// +// Compute an iterator_category for iterator_facade +// +template +struct facade_iterator_category + : mpl::eval_if< + is_iterator_category + , mpl::identity // old-style categories are fine as-is + , facade_iterator_category_impl + > +{ +}; + +}} // namespace boost::detail + +# include + +#endif // FACADE_ITERATOR_CATEGORY_DWA20031118_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/minimum_category.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/minimum_category.hpp new file mode 100644 index 0000000..804f918 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/detail/minimum_category.hpp @@ -0,0 +1,116 @@ +// Copyright David Abrahams 2003. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef MINIMUM_CATEGORY_DWA20031119_HPP +# define MINIMUM_CATEGORY_DWA20031119_HPP + +# include +# include + +# include + +namespace boost { namespace detail { +// +// Returns the minimum category type or error_type +// if T1 and T2 are unrelated. +// +// For compilers not supporting is_convertible this only +// works with the new boost return and traversal category +// types. The exact boost _types_ are required. No derived types +// will work. +// +// +template +struct minimum_category_impl +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +{ + template struct apply + { + typedef T2 type; + }; + typedef void type; +} +# endif +; + +template +struct error_not_related_by_convertibility; + +template <> +struct minimum_category_impl +{ + template struct apply + { + typedef T2 type; + }; +}; + +template <> +struct minimum_category_impl +{ + template struct apply + { + typedef T1 type; + }; +}; + +template <> +struct minimum_category_impl +{ + template struct apply + { + BOOST_STATIC_ASSERT((is_same::value)); + typedef T1 type; + }; +}; + +template <> +struct minimum_category_impl +{ + template struct apply + : error_not_related_by_convertibility + { + }; +}; + +template +struct minimum_category +{ + typedef minimum_category_impl< +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround + is_same::value || +# endif + ::boost::is_convertible::value + , ::boost::is_convertible::value +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround + || is_same::value +# endif + > outer; + + typedef typename outer::template apply inner; + typedef typename inner::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,minimum_category,(T1,T2)) +}; + +template <> +struct minimum_category +{ + template + struct apply : minimum_category + {}; + + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2,minimum_category,(mpl::_1,mpl::_2)) +}; + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround +template <> +struct minimum_category +{ + typedef int type; +}; +# endif + +}} // namespace boost::detail + +#endif // MINIMUM_CATEGORY_DWA20031119_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/filter_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/filter_iterator.hpp new file mode 100644 index 0000000..84bd054 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/filter_iterator.hpp @@ -0,0 +1,135 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_FILTER_ITERATOR_23022003THW_HPP +#define BOOST_FILTER_ITERATOR_23022003THW_HPP + +#include +#include +#include + +#include +#include + +namespace boost +{ + template + class filter_iterator; + + namespace detail + { + template + struct filter_iterator_base + { + typedef iterator_adaptor< + filter_iterator + , Iterator + , use_default + , typename mpl::if_< + is_convertible< + typename iterator_traversal::type + , random_access_traversal_tag + > + , bidirectional_traversal_tag + , use_default + >::type + > type; + }; + } + + template + class filter_iterator + : public detail::filter_iterator_base::type + { + typedef typename detail::filter_iterator_base< + Predicate, Iterator + >::type super_t; + + friend class iterator_core_access; + + public: + filter_iterator() { } + + filter_iterator(Predicate f, Iterator x, Iterator end_ = Iterator()) + : super_t(x), m_predicate(f), m_end(end_) + { + satisfy_predicate(); + } + + filter_iterator(Iterator x, Iterator end_ = Iterator()) + : super_t(x), m_predicate(), m_end(end_) + { + // Pro8 is a little too aggressive about instantiating the + // body of this function. +#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) + // Don't allow use of this constructor if Predicate is a + // function pointer type, since it will be 0. + BOOST_STATIC_ASSERT(is_class::value); +#endif + satisfy_predicate(); + } + + template + filter_iterator( + filter_iterator const& t + , typename enable_if_convertible::type* = 0 + ) + : super_t(t.base()), m_predicate(t.predicate()), m_end(t.end()) {} + + Predicate predicate() const { return m_predicate; } + + Iterator end() const { return m_end; } + + private: + void increment() + { + ++(this->base_reference()); + satisfy_predicate(); + } + + void decrement() + { + while(!this->m_predicate(*--(this->base_reference()))){}; + } + + void satisfy_predicate() + { + while (this->base() != this->m_end && !this->m_predicate(*this->base())) + ++(this->base_reference()); + } + + // Probably should be the initial base class so it can be + // optimized away via EBO if it is an empty class. + Predicate m_predicate; + Iterator m_end; + }; + + template + filter_iterator + make_filter_iterator(Predicate f, Iterator x, Iterator end = Iterator()) + { + return filter_iterator(f,x,end); + } + + template + filter_iterator + make_filter_iterator( + typename iterators::enable_if< + is_class + , Iterator + >::type x + , Iterator end = Iterator() +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + , Predicate* = 0 +#endif + ) + { + return filter_iterator(x,end); + } + +} // namespace boost + +#endif // BOOST_FILTER_ITERATOR_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/indirect_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/indirect_iterator.hpp new file mode 100644 index 0000000..64dde30 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/indirect_iterator.hpp @@ -0,0 +1,139 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_INDIRECT_ITERATOR_23022003THW_HPP +#define BOOST_INDIRECT_ITERATOR_23022003THW_HPP + +#include +#include + +#include +#include +#include + +#include + +#include +#include + +#include +#include +#include +#include +#include + +#ifdef BOOST_MPL_CFG_NO_HAS_XXX +# include +# include +# include +# include +#endif + +#include // must be last #include + +namespace boost +{ + template + class indirect_iterator; + + namespace detail + { + template + struct indirect_base + { + typedef typename iterator_traits::value_type dereferenceable; + + typedef iterator_adaptor< + indirect_iterator + , Iter + , typename ia_dflt_help< + Value, pointee + >::type + , Category + , typename ia_dflt_help< + Reference + , mpl::eval_if< + is_same + , indirect_reference + , add_reference + > + >::type + , Difference + > type; + }; + + template <> + struct indirect_base {}; + } // namespace detail + + + template < + class Iterator + , class Value = use_default + , class Category = use_default + , class Reference = use_default + , class Difference = use_default + > + class indirect_iterator + : public detail::indirect_base< + Iterator, Value, Category, Reference, Difference + >::type + { + typedef typename detail::indirect_base< + Iterator, Value, Category, Reference, Difference + >::type super_t; + + friend class iterator_core_access; + + public: + indirect_iterator() {} + + indirect_iterator(Iterator iter) + : super_t(iter) {} + + template < + class Iterator2, class Value2, class Category2 + , class Reference2, class Difference2 + > + indirect_iterator( + indirect_iterator< + Iterator2, Value2, Category2, Reference2, Difference2 + > const& y + , typename enable_if_convertible::type* = 0 + ) + : super_t(y.base()) + {} + + private: + typename super_t::reference dereference() const + { +# if BOOST_WORKAROUND(__BORLANDC__, < 0x5A0 ) + return const_cast(**this->base()); +# else + return **this->base(); +# endif + } + }; + + template + inline + indirect_iterator make_indirect_iterator(Iter x) + { + return indirect_iterator(x); + } + + template + inline + indirect_iterator make_indirect_iterator(Iter x, Traits* = 0) + { + return indirect_iterator(x); + } + +} // namespace boost + +#include + +#endif // BOOST_INDIRECT_ITERATOR_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/interoperable.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/interoperable.hpp new file mode 100644 index 0000000..08b29c3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/interoperable.hpp @@ -0,0 +1,50 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_INTEROPERABLE_23022003THW_HPP +# define BOOST_INTEROPERABLE_23022003THW_HPP + +# include +# include + +# include + +# include // must appear last + +namespace boost +{ + + // + // Meta function that determines whether two + // iterator types are considered interoperable. + // + // Two iterator types A,B are considered interoperable if either + // A is convertible to B or vice versa. + // This interoperability definition is in sync with the + // standards requirements on constant/mutable container + // iterators (23.1 [lib.container.requirements]). + // + // For compilers that don't support is_convertible + // is_interoperable gives false positives. See comments + // on operator implementation for consequences. + // + template + struct is_interoperable +# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY + : mpl::true_ +# else + : mpl::or_< + is_convertible< A, B > + , is_convertible< B, A > > +# endif + { + }; + +} // namespace boost + +# include + +#endif // BOOST_INTEROPERABLE_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_lvalue_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_lvalue_iterator.hpp new file mode 100644 index 0000000..1db6ee4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_lvalue_iterator.hpp @@ -0,0 +1,150 @@ +// Copyright David Abrahams 2003. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef IS_LVALUE_ITERATOR_DWA2003112_HPP +# define IS_LVALUE_ITERATOR_DWA2003112_HPP + +#include + +#include +#include + +#include + +// should be the last #includes +#include +#include + +#ifndef BOOST_NO_IS_CONVERTIBLE + +namespace boost { + +namespace detail +{ +#ifndef BOOST_NO_LVALUE_RETURN_DETECTION + // Calling lvalue_preserver( , 0 ) returns a reference + // to the expression's result if is an lvalue, or + // not_an_lvalue() otherwise. + struct not_an_lvalue {}; + + template + T& lvalue_preserver(T&, int); + + template + not_an_lvalue lvalue_preserver(U const&, ...); + +# define BOOST_LVALUE_PRESERVER(expr) detail::lvalue_preserver(expr,0) + +#else + +# define BOOST_LVALUE_PRESERVER(expr) expr + +#endif + + // Guts of is_lvalue_iterator. Value is the iterator's value_type + // and the result is computed in the nested rebind template. + template + struct is_lvalue_iterator_impl + { + // Eat implicit conversions so we don't report true for things + // convertible to Value const& + struct conversion_eater + { + conversion_eater(Value&); + }; + + static char tester(conversion_eater, int); + static char (& tester(any_conversion_eater, ...) )[2]; + + template + struct rebind + { + static It& x; + + BOOST_STATIC_CONSTANT( + bool + , value = ( + sizeof( + is_lvalue_iterator_impl::tester( + BOOST_LVALUE_PRESERVER(*x), 0 + ) + ) == 1 + ) + ); + }; + }; + +#undef BOOST_LVALUE_PRESERVER + + // + // void specializations to handle std input and output iterators + // + template <> + struct is_lvalue_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; + +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS + template <> + struct is_lvalue_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; + + template <> + struct is_lvalue_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; + + template <> + struct is_lvalue_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; +#endif + + // + // This level of dispatching is required for Borland. We might save + // an instantiation by removing it for others. + // + template + struct is_readable_lvalue_iterator_impl + : is_lvalue_iterator_impl< + BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type const + >::template rebind + {}; + + template + struct is_non_const_lvalue_iterator_impl + : is_lvalue_iterator_impl< + BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type + >::template rebind + {}; +} // namespace detail + +// Define the trait with full mpl lambda capability and various broken +// compiler workarounds +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_lvalue_iterator,T,::boost::detail::is_readable_lvalue_iterator_impl::value) + +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_non_const_lvalue_iterator,T,::boost::detail::is_non_const_lvalue_iterator_impl::value) + +} // namespace boost + +#endif + +#include +#include + +#endif // IS_LVALUE_ITERATOR_DWA2003112_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_readable_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_readable_iterator.hpp new file mode 100644 index 0000000..036585e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/is_readable_iterator.hpp @@ -0,0 +1,108 @@ +// Copyright David Abrahams 2003. Use, modification and distribution is +// subject to the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +#ifndef IS_READABLE_ITERATOR_DWA2003112_HPP +# define IS_READABLE_ITERATOR_DWA2003112_HPP + +#include +#include + +#include +#include + +// should be the last #include +#include + +#ifndef BOOST_NO_IS_CONVERTIBLE + +namespace boost { + +namespace detail +{ + // Guts of is_readable_iterator. Value is the iterator's value_type + // and the result is computed in the nested rebind template. + template + struct is_readable_iterator_impl + { + static char tester(Value&, int); + static char (& tester(any_conversion_eater, ...) )[2]; + + template + struct rebind + { + static It& x; + + BOOST_STATIC_CONSTANT( + bool + , value = ( + sizeof( + is_readable_iterator_impl::tester(*x, 1) + ) == 1 + ) + ); + }; + }; + +#undef BOOST_READABLE_PRESERVER + + // + // void specializations to handle std input and output iterators + // + template <> + struct is_readable_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; + +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS + template <> + struct is_readable_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; + + template <> + struct is_readable_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; + + template <> + struct is_readable_iterator_impl + { + template + struct rebind : boost::mpl::false_ + {}; + }; +#endif + + // + // This level of dispatching is required for Borland. We might save + // an instantiation by removing it for others. + // + template + struct is_readable_iterator_impl2 + : is_readable_iterator_impl< + BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type const + >::template rebind + {}; +} // namespace detail + +// Define the trait with full mpl lambda capability and various broken +// compiler workarounds +BOOST_TT_AUX_BOOL_TRAIT_DEF1( + is_readable_iterator,T,::boost::detail::is_readable_iterator_impl2::value) + +} // namespace boost + +#endif + +#include + +#endif // IS_READABLE_ITERATOR_DWA2003112_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_adaptor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_adaptor.hpp new file mode 100644 index 0000000..66b6907 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_adaptor.hpp @@ -0,0 +1,371 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_ITERATOR_ADAPTOR_23022003THW_HPP +#define BOOST_ITERATOR_ADAPTOR_23022003THW_HPP + +#include +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include +#include + +#ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY +# include + +# if BOOST_WORKAROUND(__CODEGEARC__, BOOST_TESTED_AT(0x610)) +# include +# endif + +#else +# include +#endif + +#include + +#include + +namespace boost +{ + // Used as a default template argument internally, merely to + // indicate "use the default", this can also be passed by users + // explicitly in order to specify that the default should be used. + struct use_default; + +# ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + // the incompleteness of use_default causes massive problems for + // is_convertible (naturally). This workaround is fortunately not + // needed for vc6/vc7. + template + struct is_convertible + : mpl::false_ {}; +# endif + + namespace detail + { + + // + // Result type used in enable_if_convertible meta function. + // This can be an incomplete type, as only pointers to + // enable_if_convertible< ... >::type are used. + // We could have used void for this, but conversion to + // void* is just to easy. + // + struct enable_type; + } + + + // + // enable_if for use in adapted iterators constructors. + // + // In order to provide interoperability between adapted constant and + // mutable iterators, adapted iterators will usually provide templated + // conversion constructors of the following form + // + // template + // class adapted_iterator : + // public iterator_adaptor< adapted_iterator, Iterator > + // { + // public: + // + // ... + // + // template + // adapted_iterator( + // OtherIterator const& it + // , typename enable_if_convertible::type* = 0); + // + // ... + // }; + // + // enable_if_convertible is used to remove those overloads from the overload + // set that cannot be instantiated. For all practical purposes only overloads + // for constant/mutable interaction will remain. This has the advantage that + // meta functions like boost::is_convertible do not return false positives, + // as they can only look at the signature of the conversion constructor + // and not at the actual instantiation. + // + // enable_if_interoperable can be safely used in user code. It falls back to + // always enabled for compilers that don't support enable_if or is_convertible. + // There is no need for compiler specific workarounds in user code. + // + // The operators implementation relies on boost::is_convertible not returning + // false positives for user/library defined iterator types. See comments + // on operator implementation for consequences. + // +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + + template + struct enable_if_convertible + { + typedef typename mpl::if_< + mpl::or_< + is_same + , is_convertible + > + , boost::detail::enable_type + , int& + >::type type; + }; + +# elif defined(BOOST_NO_IS_CONVERTIBLE) || defined(BOOST_NO_SFINAE) + + template + struct enable_if_convertible + { + typedef boost::detail::enable_type type; + }; + +# elif BOOST_WORKAROUND(_MSC_FULL_VER, BOOST_TESTED_AT(13102292)) && BOOST_MSVC > 1300 + + // For some reason vc7.1 needs us to "cut off" instantiation + // of is_convertible in a few cases. + template + struct enable_if_convertible + : iterators::enable_if< + mpl::or_< + is_same + , is_convertible + > + , boost::detail::enable_type + > + {}; + +# else + + template + struct enable_if_convertible + : iterators::enable_if< + is_convertible + , boost::detail::enable_type + > + {}; + +# endif + + // + // Default template argument handling for iterator_adaptor + // + namespace detail + { + // If T is use_default, return the result of invoking + // DefaultNullaryFn, otherwise return T. + template + struct ia_dflt_help + : mpl::eval_if< + is_same + , DefaultNullaryFn + , mpl::identity + > + { + }; + + // A metafunction which computes an iterator_adaptor's base class, + // a specialization of iterator_facade. + template < + class Derived + , class Base + , class Value + , class Traversal + , class Reference + , class Difference + > + struct iterator_adaptor_base + { + typedef iterator_facade< + Derived + +# ifdef BOOST_ITERATOR_REF_CONSTNESS_KILLS_WRITABILITY + , typename boost::detail::ia_dflt_help< + Value + , mpl::eval_if< + is_same + , iterator_value + , remove_reference + > + >::type +# else + , typename boost::detail::ia_dflt_help< + Value, iterator_value + >::type +# endif + + , typename boost::detail::ia_dflt_help< + Traversal + , iterator_traversal + >::type + + , typename boost::detail::ia_dflt_help< + Reference + , mpl::eval_if< + is_same + , iterator_reference + , add_reference + > + >::type + + , typename boost::detail::ia_dflt_help< + Difference, iterator_difference + >::type + > + type; + }; + + // workaround for aC++ CR JAGaf33512 + template + inline void iterator_adaptor_assert_traversal () + { + BOOST_STATIC_ASSERT((is_convertible::value)); + } + } + + // + // Iterator Adaptor + // + // The parameter ordering changed slightly with respect to former + // versions of iterator_adaptor The idea is that when the user needs + // to fiddle with the reference type it is highly likely that the + // iterator category has to be adjusted as well. Any of the + // following four template arguments may be ommitted or explicitly + // replaced by use_default. + // + // Value - if supplied, the value_type of the resulting iterator, unless + // const. If const, a conforming compiler strips constness for the + // value_type. If not supplied, iterator_traits::value_type is used + // + // Category - the traversal category of the resulting iterator. If not + // supplied, iterator_traversal::type is used. + // + // Reference - the reference type of the resulting iterator, and in + // particular, the result type of operator*(). If not supplied but + // Value is supplied, Value& is used. Otherwise + // iterator_traits::reference is used. + // + // Difference - the difference_type of the resulting iterator. If not + // supplied, iterator_traits::difference_type is used. + // + template < + class Derived + , class Base + , class Value = use_default + , class Traversal = use_default + , class Reference = use_default + , class Difference = use_default + > + class iterator_adaptor + : public boost::detail::iterator_adaptor_base< + Derived, Base, Value, Traversal, Reference, Difference + >::type + { + friend class iterator_core_access; + + protected: + typedef typename boost::detail::iterator_adaptor_base< + Derived, Base, Value, Traversal, Reference, Difference + >::type super_t; + public: + iterator_adaptor() {} + + explicit iterator_adaptor(Base const &iter) + : m_iterator(iter) + { + } + + typedef Base base_type; + + Base const& base() const + { return m_iterator; } + + protected: + // for convenience in derived classes + typedef iterator_adaptor iterator_adaptor_; + + // + // lvalue access to the Base object for Derived + // + Base const& base_reference() const + { return m_iterator; } + + Base& base_reference() + { return m_iterator; } + + private: + // + // Core iterator interface for iterator_facade. This is private + // to prevent temptation for Derived classes to use it, which + // will often result in an error. Derived classes should use + // base_reference(), above, to get direct access to m_iterator. + // + typename super_t::reference dereference() const + { return *m_iterator; } + + template < + class OtherDerived, class OtherIterator, class V, class C, class R, class D + > + bool equal(iterator_adaptor const& x) const + { + // Maybe readd with same_distance + // BOOST_STATIC_ASSERT( + // (detail::same_category_and_difference::value) + // ); + return m_iterator == x.base(); + } + + typedef typename iterator_category_to_traversal< + typename super_t::iterator_category + >::type my_traversal; + +# define BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(cat) \ + boost::detail::iterator_adaptor_assert_traversal(); + + void advance(typename super_t::difference_type n) + { + BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag) + m_iterator += n; + } + + void increment() { ++m_iterator; } + + void decrement() + { + BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(bidirectional_traversal_tag) + --m_iterator; + } + + template < + class OtherDerived, class OtherIterator, class V, class C, class R, class D + > + typename super_t::difference_type distance_to( + iterator_adaptor const& y) const + { + BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL(random_access_traversal_tag) + // Maybe readd with same_distance + // BOOST_STATIC_ASSERT( + // (detail::same_category_and_difference::value) + // ); + return y.base() - m_iterator; + } + +# undef BOOST_ITERATOR_ADAPTOR_ASSERT_TRAVERSAL + + private: // data members + Base m_iterator; + }; + +} // namespace boost + +#include + +#endif // BOOST_ITERATOR_ADAPTOR_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_archetypes.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_archetypes.hpp new file mode 100644 index 0000000..74b250b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_archetypes.hpp @@ -0,0 +1,515 @@ +// (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_ARCHETYPES_HPP +#define BOOST_ITERATOR_ARCHETYPES_HPP + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { + +template +struct access_archetype; + +template +struct traversal_archetype; + +namespace iterator_archetypes +{ + enum { + readable_iterator_bit = 1 + , writable_iterator_bit = 2 + , swappable_iterator_bit = 4 + , lvalue_iterator_bit = 8 + }; + + // Not quite tags, since dispatching wouldn't work. + typedef mpl::int_::type readable_iterator_t; + typedef mpl::int_::type writable_iterator_t; + + typedef mpl::int_< + (readable_iterator_bit|writable_iterator_bit) + >::type readable_writable_iterator_t; + + typedef mpl::int_< + (readable_iterator_bit|lvalue_iterator_bit) + >::type readable_lvalue_iterator_t; + + typedef mpl::int_< + (lvalue_iterator_bit|writable_iterator_bit) + >::type writable_lvalue_iterator_t; + + typedef mpl::int_::type swappable_iterator_t; + typedef mpl::int_::type lvalue_iterator_t; + + template + struct has_access + : mpl::equal_to< + mpl::bitand_ + , Base + > + {}; +} + +namespace detail +{ + template + struct assign_proxy + { + assign_proxy& operator=(T) { return *this; } + }; + + template + struct read_proxy + { + operator T() { return static_object::get(); } + }; + + template + struct read_write_proxy + : read_proxy // Use to inherit from assign_proxy, but that doesn't work. -JGS + { + read_write_proxy& operator=(T) { return *this; } + }; + + template + struct arrow_proxy + { + T const* operator->() const { return 0; } + }; + + struct no_operator_brackets {}; + + template + struct readable_operator_brackets + { + read_proxy operator[](std::ptrdiff_t n) const { return read_proxy(); } + }; + + template + struct writable_operator_brackets + { + read_write_proxy operator[](std::ptrdiff_t n) const { return read_write_proxy(); } + }; + + template + struct operator_brackets + : mpl::aux::msvc_eti_base< + typename mpl::eval_if< + is_convertible + , mpl::eval_if< + iterator_archetypes::has_access< + AccessCategory + , iterator_archetypes::writable_iterator_t + > + , mpl::identity > + , mpl::if_< + iterator_archetypes::has_access< + AccessCategory + , iterator_archetypes::readable_iterator_t + > + , readable_operator_brackets + , no_operator_brackets + > + > + , mpl::identity + >::type + >::type + {}; + + template + struct traversal_archetype_impl + { + template struct archetype; + }; + + // Constructor argument for those iterators that + // are not default constructible + struct ctor_arg {}; + + template + struct traversal_archetype_ + : mpl::aux::msvc_eti_base< + typename traversal_archetype_impl::template archetype + >::type + { + typedef typename + traversal_archetype_impl::template archetype + base; + + traversal_archetype_() {} + + traversal_archetype_(ctor_arg arg) + : base(arg) + {} + }; + + template <> + struct traversal_archetype_impl + { + template + struct archetype + { + explicit archetype(ctor_arg) {} + + struct bogus { }; // This use to be void, but that causes trouble for iterator_facade. Need more research. -JGS + typedef bogus difference_type; + + Derived& operator++() { return (Derived&)static_object::get(); } + Derived operator++(int) const { return (Derived&)static_object::get(); } + }; + }; + + template <> + struct traversal_archetype_impl + { + template + struct archetype + : public equality_comparable< traversal_archetype_ >, + public traversal_archetype_ + { + explicit archetype(ctor_arg arg) + : traversal_archetype_(arg) + {} + + typedef std::ptrdiff_t difference_type; + }; + }; + + template + bool operator==(traversal_archetype_ const&, + traversal_archetype_ const&) { return true; } + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + // doesn't seem to pick up != from equality_comparable + template + bool operator!=(traversal_archetype_ const&, + traversal_archetype_ const&) { return true; } +#endif + template <> + struct traversal_archetype_impl + { + template + struct archetype + : public traversal_archetype_ + { + archetype() + : traversal_archetype_(ctor_arg()) + {} + }; + }; + + template <> + struct traversal_archetype_impl + { + template + struct archetype + : public traversal_archetype_ + { + Derived& operator--() { return static_object::get(); } + Derived operator--(int) const { return static_object::get(); } + }; + }; + + template <> + struct traversal_archetype_impl + { + template + struct archetype + : public traversal_archetype_ + { + Derived& operator+=(std::ptrdiff_t) { return static_object::get(); } + Derived& operator-=(std::ptrdiff_t) { return static_object::get(); } + }; + }; + + template + Derived& operator+(traversal_archetype_ const&, + std::ptrdiff_t) { return static_object::get(); } + + template + Derived& operator+(std::ptrdiff_t, + traversal_archetype_ const&) + { return static_object::get(); } + + template + Derived& operator-(traversal_archetype_ const&, + std::ptrdiff_t) + { return static_object::get(); } + + template + std::ptrdiff_t operator-(traversal_archetype_ const&, + traversal_archetype_ const&) + { return 0; } + + template + bool operator<(traversal_archetype_ const&, + traversal_archetype_ const&) + { return true; } + + template + bool operator>(traversal_archetype_ const&, + traversal_archetype_ const&) + { return true; } + + template + bool operator<=(traversal_archetype_ const&, + traversal_archetype_ const&) + { return true; } + + template + bool operator>=(traversal_archetype_ const&, + traversal_archetype_ const&) + { return true; } + + struct bogus_type; + + template + struct convertible_type + : mpl::if_< is_const, + typename remove_const::type, + bogus_type > + {}; + +} // namespace detail + + +template struct undefined; + +template +struct iterator_access_archetype_impl +{ + template struct archetype; +}; + +template +struct iterator_access_archetype + : mpl::aux::msvc_eti_base< + typename iterator_access_archetype_impl< + AccessCategory + >::template archetype + >::type +{ +}; + +template <> +struct iterator_access_archetype_impl< + iterator_archetypes::readable_iterator_t +> +{ + template + struct archetype + { + typedef typename remove_cv::type value_type; + typedef Value reference; + typedef Value* pointer; + + value_type operator*() const { return static_object::get(); } + + detail::arrow_proxy operator->() const { return detail::arrow_proxy(); } + }; +}; + +template <> +struct iterator_access_archetype_impl< + iterator_archetypes::writable_iterator_t +> +{ + template + struct archetype + { +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + BOOST_STATIC_ASSERT(!is_const::value); +# endif + typedef void value_type; + typedef void reference; + typedef void pointer; + + detail::assign_proxy operator*() const { return detail::assign_proxy(); } + }; +}; + +template <> +struct iterator_access_archetype_impl< + iterator_archetypes::readable_writable_iterator_t +> +{ + template + struct archetype + : public virtual iterator_access_archetype< + Value, iterator_archetypes::readable_iterator_t + > + { + typedef detail::read_write_proxy reference; + + detail::read_write_proxy operator*() const { return detail::read_write_proxy(); } + }; +}; + +template <> +struct iterator_access_archetype_impl +{ + template + struct archetype + : public virtual iterator_access_archetype< + Value, iterator_archetypes::readable_iterator_t + > + { + typedef Value& reference; + + Value& operator*() const { return static_object::get(); } + Value* operator->() const { return 0; } + }; +}; + +template <> +struct iterator_access_archetype_impl +{ + template + struct archetype + : public virtual iterator_access_archetype< + Value, iterator_archetypes::readable_lvalue_iterator_t + > + { +# if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + BOOST_STATIC_ASSERT((!is_const::value)); +# endif + }; +}; + + +template +struct iterator_archetype; + +template +struct traversal_archetype_base + : detail::operator_brackets< + typename remove_cv::type + , AccessCategory + , TraversalCategory + > + , detail::traversal_archetype_< + iterator_archetype + , Value + , TraversalCategory + > +{ +}; + +namespace detail +{ + template + struct iterator_archetype_base + : iterator_access_archetype + , traversal_archetype_base + { + typedef iterator_access_archetype access; + + typedef typename detail::facade_iterator_category< + TraversalCategory + , typename mpl::eval_if< + iterator_archetypes::has_access< + AccessCategory, iterator_archetypes::writable_iterator_t + > + , remove_const + , add_const + >::type + , typename access::reference + >::type iterator_category; + + // Needed for some broken libraries (see below) + typedef boost::iterator< + iterator_category + , Value + , typename traversal_archetype_base< + Value, AccessCategory, TraversalCategory + >::difference_type + , typename access::pointer + , typename access::reference + > workaround_iterator_base; + }; +} + +template +struct iterator_archetype + : public detail::iterator_archetype_base + + // These broken libraries require derivation from std::iterator + // (or related magic) in order to handle iter_swap and other + // iterator operations +# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310) \ + || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101)) + , public detail::iterator_archetype_base< + Value, AccessCategory, TraversalCategory + >::workaround_iterator_base +# endif +{ + // Derivation from std::iterator above caused references to nested + // types to be ambiguous, so now we have to redeclare them all + // here. +# if BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, < 310) \ + || BOOST_WORKAROUND(_RWSTD_VER, BOOST_TESTED_AT(0x20101)) + + typedef detail::iterator_archetype_base< + Value,AccessCategory,TraversalCategory + > base; + + typedef typename base::value_type value_type; + typedef typename base::reference reference; + typedef typename base::pointer pointer; + typedef typename base::difference_type difference_type; + typedef typename base::iterator_category iterator_category; +# endif + + iterator_archetype() { } + iterator_archetype(iterator_archetype const& x) + : detail::iterator_archetype_base< + Value + , AccessCategory + , TraversalCategory + >(x) + {} + + iterator_archetype& operator=(iterator_archetype const&) + { return *this; } + +# if 0 + // Optional conversion from mutable + iterator_archetype( + iterator_archetype< + typename detail::convertible_type::type + , AccessCategory + , TraversalCategory> const& + ); +# endif +}; + +} // namespace boost + + +#endif // BOOST_ITERATOR_ARCHETYPES_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_categories.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_categories.hpp new file mode 100644 index 0000000..9a0be36 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_categories.hpp @@ -0,0 +1,188 @@ +// (C) Copyright Jeremy Siek 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ITERATOR_CATEGORIES_HPP +# define BOOST_ITERATOR_CATEGORIES_HPP + +# include +# include +# include + +# include + +# include +# include +# include +# include + +# include + +# include + +namespace boost { + +// +// Traversal Categories +// + +struct no_traversal_tag {}; + +struct incrementable_traversal_tag + : no_traversal_tag +{ +// incrementable_traversal_tag() {} +// incrementable_traversal_tag(std::output_iterator_tag const&) {}; +}; + +struct single_pass_traversal_tag + : incrementable_traversal_tag +{ +// single_pass_traversal_tag() {} +// single_pass_traversal_tag(std::input_iterator_tag const&) {}; +}; + +struct forward_traversal_tag + : single_pass_traversal_tag +{ +// forward_traversal_tag() {} +// forward_traversal_tag(std::forward_iterator_tag const&) {}; +}; + +struct bidirectional_traversal_tag + : forward_traversal_tag +{ +// bidirectional_traversal_tag() {}; +// bidirectional_traversal_tag(std::bidirectional_iterator_tag const&) {}; +}; + +struct random_access_traversal_tag + : bidirectional_traversal_tag +{ +// random_access_traversal_tag() {}; +// random_access_traversal_tag(std::random_access_iterator_tag const&) {}; +}; + +namespace detail +{ + // + // Convert a "strictly old-style" iterator category to a traversal + // tag. This is broken out into a separate metafunction to reduce + // the cost of instantiating iterator_category_to_traversal, below, + // for new-style types. + // + template + struct old_category_to_traversal + : mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , void + > + > + > + > + > + {}; + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + template <> + struct old_category_to_traversal + { + typedef int type; + }; +# endif + + template + struct pure_traversal_tag + : mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , mpl::eval_if< + is_convertible + , mpl::identity + , void + > + > + > + > + > + { + }; + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + template <> + struct pure_traversal_tag + { + typedef int type; + }; +# endif + +} // namespace detail + + +// +// Convert an iterator category into a traversal tag +// +template +struct iterator_category_to_traversal + : mpl::eval_if< // if already convertible to a traversal tag, we're done. + is_convertible + , mpl::identity + , boost::detail::old_category_to_traversal + > +{}; + +// Trait to get an iterator's traversal category +template +struct iterator_traversal + : iterator_category_to_traversal< + typename boost::detail::iterator_traits::iterator_category + > +{}; + +# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT +// Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work +// out well. Instantiating the nested apply template also +// requires instantiating iterator_traits on the +// placeholder. Instead we just specialize it as a metafunction +// class. +template <> +struct iterator_traversal +{ + template + struct apply : iterator_traversal + {}; +}; +template <> +struct iterator_traversal + : iterator_traversal +{}; +# endif + +} // namespace boost + +#include + +#endif // BOOST_ITERATOR_CATEGORIES_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_concepts.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_concepts.hpp new file mode 100644 index 0000000..732ad88 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_concepts.hpp @@ -0,0 +1,284 @@ +// (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 + +// Use boost::detail::iterator_traits to work around some MSVC/Dinkumware problems. +#include + +#include +#include + +#include +#include +#include +#include + +#include + +// Use boost/limits to work around missing limits headers on some compilers +#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 boost::detail::iterator_traits::value_type value_type; + typedef BOOST_DEDUCED_TYPENAME boost::detail::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 boost::detail::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 boost::detail::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 boost::detail::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 boost::detail::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 boost::detail::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::detail::pure_traversal_tag< + typename boost::iterator_traversal< + Iterator + >::type + >::type traversal_category; + + typedef typename boost::detail::pure_traversal_tag< + typename boost::iterator_traversal< + ConstIterator + >::type + >::type const_traversal_category; + + public: + BOOST_CONCEPT_ASSERT((SinglePassIterator)); + 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/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_facade.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_facade.hpp new file mode 100644 index 0000000..917f05f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_facade.hpp @@ -0,0 +1,878 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_ITERATOR_FACADE_23022003THW_HPP +#define BOOST_ITERATOR_FACADE_23022003THW_HPP + +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include // this goes last + +namespace boost +{ + // This forward declaration is required for the friend declaration + // in iterator_core_access + template class iterator_facade; + + namespace detail + { + // A binary metafunction class that always returns bool. VC6 + // ICEs on mpl::always, probably because of the default + // parameters. + struct always_bool2 + { + template + struct apply + { + typedef bool type; + }; + }; + + // + // enable if for use in operator implementation. + // + template < + class Facade1 + , class Facade2 + , class Return + > + struct enable_if_interoperable +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + { + typedef typename mpl::if_< + mpl::or_< + is_convertible + , is_convertible + > + , Return + , int[3] + >::type type; + }; +#else + : ::boost::iterators::enable_if< + mpl::or_< + is_convertible + , is_convertible + > + , Return + > + {}; +#endif + + // + // Generates associated types for an iterator_facade with the + // given parameters. + // + template < + class ValueParam + , class CategoryOrTraversal + , class Reference + , class Difference + > + struct iterator_facade_types + { + typedef typename facade_iterator_category< + CategoryOrTraversal, ValueParam, Reference + >::type iterator_category; + + typedef typename remove_const::type value_type; + + typedef typename mpl::eval_if< + boost::detail::iterator_writability_disabled + , add_pointer + , add_pointer + >::type pointer; + +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && (BOOST_WORKAROUND(_STLPORT_VERSION, BOOST_TESTED_AT(0x452)) \ + || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, BOOST_TESTED_AT(310))) \ + || BOOST_WORKAROUND(BOOST_RWSTD_VER, BOOST_TESTED_AT(0x20101)) \ + || BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 310) + + // To interoperate with some broken library/compiler + // combinations, user-defined iterators must be derived from + // std::iterator. It is possible to implement a standard + // library for broken compilers without this limitation. +# define BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE 1 + + typedef + iterator + base; +# endif + }; + + // iterators whose dereference operators reference the same value + // for all iterators into the same sequence (like many input + // iterators) need help with their postfix ++: the referenced + // value must be read and stored away before the increment occurs + // so that *a++ yields the originally referenced element and not + // the next one. + template + class postfix_increment_proxy + { + typedef typename iterator_value::type value_type; + public: + explicit postfix_increment_proxy(Iterator const& x) + : stored_value(*x) + {} + + // Returning a mutable reference allows nonsense like + // (*r++).mutate(), but it imposes fewer assumptions about the + // behavior of the value_type. In particular, recall taht + // (*r).mutate() is legal if operator* returns by value. + value_type& + operator*() const + { + return this->stored_value; + } + private: + mutable value_type stored_value; + }; + + // + // In general, we can't determine that such an iterator isn't + // writable -- we also need to store a copy of the old iterator so + // that it can be written into. + template + class writable_postfix_increment_proxy + { + typedef typename iterator_value::type value_type; + public: + explicit writable_postfix_increment_proxy(Iterator const& x) + : stored_value(*x) + , stored_iterator(x) + {} + + // Dereferencing must return a proxy so that both *r++ = o and + // value_type(*r++) can work. In this case, *r is the same as + // *r++, and the conversion operator below is used to ensure + // readability. + writable_postfix_increment_proxy const& + operator*() const + { + return *this; + } + + // Provides readability of *r++ + operator value_type&() const + { + return stored_value; + } + + // Provides writability of *r++ + template + T const& operator=(T const& x) const + { + *this->stored_iterator = x; + return x; + } + + // This overload just in case only non-const objects are writable + template + T& operator=(T& x) const + { + *this->stored_iterator = x; + return x; + } + + // Provides X(r++) + operator Iterator const&() const + { + return stored_iterator; + } + + private: + mutable value_type stored_value; + Iterator stored_iterator; + }; + +# ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + template + struct is_non_proxy_reference_impl + { + static Reference r; + + template + static typename mpl::if_< + is_convertible< + R const volatile* + , Value const volatile* + > + , char[1] + , char[2] + >::type& helper(R const&); + + BOOST_STATIC_CONSTANT(bool, value = sizeof(helper(r)) == 1); + }; + + template + struct is_non_proxy_reference + : mpl::bool_< + is_non_proxy_reference_impl::value + > + {}; +# else + template + struct is_non_proxy_reference + : is_convertible< + typename remove_reference::type + const volatile* + , Value const volatile* + > + {}; +# endif + + // A metafunction to choose the result type of postfix ++ + // + // Because the C++98 input iterator requirements say that *r++ has + // type T (value_type), implementations of some standard + // algorithms like lexicographical_compare may use constructions + // like: + // + // *r++ < *s++ + // + // If *r++ returns a proxy (as required if r is writable but not + // multipass), this sort of expression will fail unless the proxy + // supports the operator<. Since there are any number of such + // operations, we're not going to try to support them. Therefore, + // even if r++ returns a proxy, *r++ will only return a proxy if + // *r also returns a proxy. + template + struct postfix_increment_result + : mpl::eval_if< + mpl::and_< + // A proxy is only needed for readable iterators + is_convertible + + // No multipass iterator can have values that disappear + // before positions can be re-visited + , mpl::not_< + is_convertible< + typename iterator_category_to_traversal::type + , forward_traversal_tag + > + > + > + , mpl::if_< + is_non_proxy_reference + , postfix_increment_proxy + , writable_postfix_increment_proxy + > + , mpl::identity + > + {}; + + // operator->() needs special support for input iterators to strictly meet the + // standard's requirements. If *i is not a reference type, we must still + // produce a lvalue to which a pointer can be formed. We do that by + // returning an instantiation of this special proxy class template. + template + struct operator_arrow_proxy + { + operator_arrow_proxy(T const* px) : m_value(*px) {} + T* operator->() const { return &m_value; } + // This function is needed for MWCW and BCC, which won't call operator-> + // again automatically per 13.3.1.2 para 8 + operator T*() const { return &m_value; } + mutable T m_value; + }; + + // A metafunction that gets the result type for operator->. Also + // has a static function make() which builds the result from a + // Reference + template + struct operator_arrow_result + { + // CWPro8.3 won't accept "operator_arrow_result::type", and we + // need that type below, so metafunction forwarding would be a + // losing proposition here. + typedef typename mpl::if_< + is_reference + , Pointer + , operator_arrow_proxy + >::type type; + + static type make(Reference x) + { + return implicit_cast(&x); + } + }; + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + // Deal with ETI + template<> + struct operator_arrow_result + { + typedef int type; + }; +# endif + + // A proxy return type for operator[], needed to deal with + // iterators that may invalidate referents upon destruction. + // Consider the temporary iterator in *(a + n) + template + class operator_brackets_proxy + { + // Iterator is actually an iterator_facade, so we do not have to + // go through iterator_traits to access the traits. + typedef typename Iterator::reference reference; + typedef typename Iterator::value_type value_type; + + public: + operator_brackets_proxy(Iterator const& iter) + : m_iter(iter) + {} + + operator reference() const + { + return *m_iter; + } + + operator_brackets_proxy& operator=(value_type const& val) + { + *m_iter = val; + return *this; + } + + private: + Iterator m_iter; + }; + + // A metafunction that determines whether operator[] must return a + // proxy, or whether it can simply return a copy of the value_type. + template + struct use_operator_brackets_proxy + : mpl::not_< + mpl::and_< + // Really we want an is_copy_constructible trait here, + // but is_POD will have to suffice in the meantime. + boost::is_POD + , iterator_writability_disabled + > + > + {}; + + template + struct operator_brackets_result + { + typedef typename mpl::if_< + use_operator_brackets_proxy + , operator_brackets_proxy + , Value + >::type type; + }; + + template + operator_brackets_proxy make_operator_brackets_result(Iterator const& iter, mpl::true_) + { + return operator_brackets_proxy(iter); + } + + template + typename Iterator::value_type make_operator_brackets_result(Iterator const& iter, mpl::false_) + { + return *iter; + } + + struct choose_difference_type + { + template + struct apply + : +# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP + iterator_difference +# elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) + mpl::if_< + is_convertible + , typename I1::difference_type + , typename I2::difference_type + > +# else + mpl::eval_if< + is_convertible + , iterator_difference + , iterator_difference + > +# endif + {}; + + }; + } // namespace detail + + + // Macros which describe the declarations of binary operators +# ifdef BOOST_NO_STRICT_ITERATOR_INTEROPERABILITY +# define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type) \ + template < \ + class Derived1, class V1, class TC1, class Reference1, class Difference1 \ + , class Derived2, class V2, class TC2, class Reference2, class Difference2 \ + > \ + prefix typename mpl::apply2::type \ + operator op( \ + iterator_facade const& lhs \ + , iterator_facade const& rhs) +# else +# define BOOST_ITERATOR_FACADE_INTEROP_HEAD(prefix, op, result_type) \ + template < \ + class Derived1, class V1, class TC1, class Reference1, class Difference1 \ + , class Derived2, class V2, class TC2, class Reference2, class Difference2 \ + > \ + prefix typename boost::detail::enable_if_interoperable< \ + Derived1, Derived2 \ + , typename mpl::apply2::type \ + >::type \ + operator op( \ + iterator_facade const& lhs \ + , iterator_facade const& rhs) +# endif + +# define BOOST_ITERATOR_FACADE_PLUS_HEAD(prefix,args) \ + template \ + prefix Derived operator+ args + + // + // Helper class for granting access to the iterator core interface. + // + // The simple core interface is used by iterator_facade. The core + // interface of a user/library defined iterator type should not be made public + // so that it does not clutter the public interface. Instead iterator_core_access + // should be made friend so that iterator_facade can access the core + // interface through iterator_core_access. + // + class iterator_core_access + { +# if defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS) + // Tasteless as this may seem, making all members public allows member templates + // to work in the absence of member template friends. + public: +# else + + template friend class iterator_facade; + +# define BOOST_ITERATOR_FACADE_RELATION(op) \ + BOOST_ITERATOR_FACADE_INTEROP_HEAD(friend,op, boost::detail::always_bool2); + + BOOST_ITERATOR_FACADE_RELATION(==) + BOOST_ITERATOR_FACADE_RELATION(!=) + + BOOST_ITERATOR_FACADE_RELATION(<) + BOOST_ITERATOR_FACADE_RELATION(>) + BOOST_ITERATOR_FACADE_RELATION(<=) + BOOST_ITERATOR_FACADE_RELATION(>=) +# undef BOOST_ITERATOR_FACADE_RELATION + + BOOST_ITERATOR_FACADE_INTEROP_HEAD( + friend, -, boost::detail::choose_difference_type) + ; + + BOOST_ITERATOR_FACADE_PLUS_HEAD( + friend inline + , (iterator_facade const& + , typename Derived::difference_type) + ) + ; + + BOOST_ITERATOR_FACADE_PLUS_HEAD( + friend inline + , (typename Derived::difference_type + , iterator_facade const&) + ) + ; + +# endif + + template + static typename Facade::reference dereference(Facade const& f) + { + return f.dereference(); + } + + template + static void increment(Facade& f) + { + f.increment(); + } + + template + static void decrement(Facade& f) + { + f.decrement(); + } + + template + static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::true_) + { + return f1.equal(f2); + } + + template + static bool equal(Facade1 const& f1, Facade2 const& f2, mpl::false_) + { + return f2.equal(f1); + } + + template + static void advance(Facade& f, typename Facade::difference_type n) + { + f.advance(n); + } + + template + static typename Facade1::difference_type distance_from( + Facade1 const& f1, Facade2 const& f2, mpl::true_) + { + return -f1.distance_to(f2); + } + + template + static typename Facade2::difference_type distance_from( + Facade1 const& f1, Facade2 const& f2, mpl::false_) + { + return f2.distance_to(f1); + } + + // + // Curiously Recurring Template interface. + // + template + static I& derived(iterator_facade& facade) + { + return *static_cast(&facade); + } + + template + static I const& derived(iterator_facade const& facade) + { + return *static_cast(&facade); + } + + private: + // objects of this class are useless + iterator_core_access(); //undefined + }; + + // + // iterator_facade - use as a public base class for defining new + // standard-conforming iterators. + // + template < + class Derived // The derived iterator type being constructed + , class Value + , class CategoryOrTraversal + , class Reference = Value& + , class Difference = std::ptrdiff_t + > + class iterator_facade +# ifdef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE + : public boost::detail::iterator_facade_types< + Value, CategoryOrTraversal, Reference, Difference + >::base +# undef BOOST_ITERATOR_FACADE_NEEDS_ITERATOR_BASE +# endif + { + private: + // + // Curiously Recurring Template interface. + // + Derived& derived() + { + return *static_cast(this); + } + + Derived const& derived() const + { + return *static_cast(this); + } + + typedef boost::detail::iterator_facade_types< + Value, CategoryOrTraversal, Reference, Difference + > associated_types; + + protected: + // For use by derived classes + typedef iterator_facade iterator_facade_; + + public: + + typedef typename associated_types::value_type value_type; + typedef Reference reference; + typedef Difference difference_type; + typedef typename associated_types::pointer pointer; + typedef typename associated_types::iterator_category iterator_category; + + reference operator*() const + { + return iterator_core_access::dereference(this->derived()); + } + + typename boost::detail::operator_arrow_result< + value_type + , reference + , pointer + >::type + operator->() const + { + return boost::detail::operator_arrow_result< + value_type + , reference + , pointer + >::make(*this->derived()); + } + + typename boost::detail::operator_brackets_result::type + operator[](difference_type n) const + { + typedef boost::detail::use_operator_brackets_proxy use_proxy; + + return boost::detail::make_operator_brackets_result( + this->derived() + n + , use_proxy() + ); + } + + Derived& operator++() + { + iterator_core_access::increment(this->derived()); + return this->derived(); + } + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + typename boost::detail::postfix_increment_result::type + operator++(int) + { + typename boost::detail::postfix_increment_result::type + tmp(this->derived()); + ++*this; + return tmp; + } +# endif + + Derived& operator--() + { + iterator_core_access::decrement(this->derived()); + return this->derived(); + } + + Derived operator--(int) + { + Derived tmp(this->derived()); + --*this; + return tmp; + } + + Derived& operator+=(difference_type n) + { + iterator_core_access::advance(this->derived(), n); + return this->derived(); + } + + Derived& operator-=(difference_type n) + { + iterator_core_access::advance(this->derived(), -n); + return this->derived(); + } + + Derived operator-(difference_type x) const + { + Derived result(this->derived()); + return result -= x; + } + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + // There appears to be a bug which trashes the data of classes + // derived from iterator_facade when they are assigned unless we + // define this assignment operator. This bug is only revealed + // (so far) in STLPort debug mode, but it's clearly a codegen + // problem so we apply the workaround for all MSVC6. + iterator_facade& operator=(iterator_facade const&) + { + return *this; + } +# endif + }; + +# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) + template + inline typename boost::detail::postfix_increment_result::type + operator++( + iterator_facade& i + , int + ) + { + typename boost::detail::postfix_increment_result::type + tmp(*static_cast(&i)); + + ++i; + + return tmp; + } +# endif + + + // + // Comparison operator implementation. The library supplied operators + // enables the user to provide fully interoperable constant/mutable + // iterator types. I.e. the library provides all operators + // for all mutable/constant iterator combinations. + // + // Note though that this kind of interoperability for constant/mutable + // iterators is not required by the standard for container iterators. + // All the standard asks for is a conversion mutable -> constant. + // Most standard library implementations nowadays provide fully interoperable + // iterator implementations, but there are still heavily used implementations + // that do not provide them. (Actually it's even worse, they do not provide + // them for only a few iterators.) + // + // ?? Maybe a BOOST_ITERATOR_NO_FULL_INTEROPERABILITY macro should + // enable the user to turn off mixed type operators + // + // The library takes care to provide only the right operator overloads. + // I.e. + // + // bool operator==(Iterator, Iterator); + // bool operator==(ConstIterator, Iterator); + // bool operator==(Iterator, ConstIterator); + // bool operator==(ConstIterator, ConstIterator); + // + // ... + // + // In order to do so it uses c++ idioms that are not yet widely supported + // by current compiler releases. The library is designed to degrade gracefully + // in the face of compiler deficiencies. In general compiler + // deficiencies result in less strict error checking and more obscure + // error messages, functionality is not affected. + // + // For full operation compiler support for "Substitution Failure Is Not An Error" + // (aka. enable_if) and boost::is_convertible is required. + // + // The following problems occur if support is lacking. + // + // Pseudo code + // + // --------------- + // AdaptorA a1; + // AdaptorA a2; + // + // // This will result in a no such overload error in full operation + // // If enable_if or is_convertible is not supported + // // The instantiation will fail with an error hopefully indicating that + // // there is no operator== for Iterator1, Iterator2 + // // The same will happen if no enable_if is used to remove + // // false overloads from the templated conversion constructor + // // of AdaptorA. + // + // a1 == a2; + // ---------------- + // + // AdaptorA a; + // AdaptorB b; + // + // // This will result in a no such overload error in full operation + // // If enable_if is not supported the static assert used + // // in the operator implementation will fail. + // // This will accidently work if is_convertible is not supported. + // + // a == b; + // ---------------- + // + +# ifdef BOOST_NO_ONE_WAY_ITERATOR_INTEROP +# define BOOST_ITERATOR_CONVERTIBLE(a,b) mpl::true_() +# else +# define BOOST_ITERATOR_CONVERTIBLE(a,b) is_convertible() +# endif + +# define BOOST_ITERATOR_FACADE_INTEROP(op, result_type, return_prefix, base_op) \ + BOOST_ITERATOR_FACADE_INTEROP_HEAD(inline, op, result_type) \ + { \ + /* For those compilers that do not support enable_if */ \ + BOOST_STATIC_ASSERT(( \ + is_interoperable< Derived1, Derived2 >::value \ + )); \ + return_prefix iterator_core_access::base_op( \ + *static_cast(&lhs) \ + , *static_cast(&rhs) \ + , BOOST_ITERATOR_CONVERTIBLE(Derived2,Derived1) \ + ); \ + } + +# define BOOST_ITERATOR_FACADE_RELATION(op, return_prefix, base_op) \ + BOOST_ITERATOR_FACADE_INTEROP( \ + op \ + , boost::detail::always_bool2 \ + , return_prefix \ + , base_op \ + ) + + BOOST_ITERATOR_FACADE_RELATION(==, return, equal) + BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal) + + BOOST_ITERATOR_FACADE_RELATION(<, return 0 >, distance_from) + BOOST_ITERATOR_FACADE_RELATION(>, return 0 <, distance_from) + BOOST_ITERATOR_FACADE_RELATION(<=, return 0 >=, distance_from) + BOOST_ITERATOR_FACADE_RELATION(>=, return 0 <=, distance_from) +# undef BOOST_ITERATOR_FACADE_RELATION + + // operator- requires an additional part in the static assertion + BOOST_ITERATOR_FACADE_INTEROP( + - + , boost::detail::choose_difference_type + , return + , distance_from + ) +# undef BOOST_ITERATOR_FACADE_INTEROP +# undef BOOST_ITERATOR_FACADE_INTEROP_HEAD + +# define BOOST_ITERATOR_FACADE_PLUS(args) \ + BOOST_ITERATOR_FACADE_PLUS_HEAD(inline, args) \ + { \ + Derived tmp(static_cast(i)); \ + return tmp += n; \ + } + +BOOST_ITERATOR_FACADE_PLUS(( + iterator_facade const& i + , typename Derived::difference_type n +)) + +BOOST_ITERATOR_FACADE_PLUS(( + typename Derived::difference_type n + , iterator_facade const& i +)) +# undef BOOST_ITERATOR_FACADE_PLUS +# undef BOOST_ITERATOR_FACADE_PLUS_HEAD + +} // namespace boost + +#include + +#endif // BOOST_ITERATOR_FACADE_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_traits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_traits.hpp new file mode 100644 index 0000000..986b08f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/iterator_traits.hpp @@ -0,0 +1,92 @@ +// Copyright David Abrahams 2003. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef ITERATOR_TRAITS_DWA200347_HPP +# define ITERATOR_TRAITS_DWA200347_HPP + +# include +# include + +namespace boost { + +// Unfortunately, g++ 2.95.x chokes when we define a class template +// iterator_category which has the same name as its +// std::iterator_category() function, probably due in part to the +// "std:: is visible globally" hack it uses. Use +// BOOST_ITERATOR_CATEGORY to write code that's portable to older +// GCCs. + +# if BOOST_WORKAROUND(__GNUC__, <= 2) +# define BOOST_ITERATOR_CATEGORY iterator_category_ +# else +# define BOOST_ITERATOR_CATEGORY iterator_category +# endif + + +template +struct iterator_value +{ + typedef typename boost::detail::iterator_traits::value_type type; +}; + +template +struct iterator_reference +{ + typedef typename boost::detail::iterator_traits::reference type; +}; + + +template +struct iterator_pointer +{ + typedef typename boost::detail::iterator_traits::pointer type; +}; + +template +struct iterator_difference +{ + typedef typename boost::detail::iterator_traits::difference_type type; +}; + +template +struct BOOST_ITERATOR_CATEGORY +{ + typedef typename boost::detail::iterator_traits::iterator_category type; +}; + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +template <> +struct iterator_value +{ + typedef void type; +}; + +template <> +struct iterator_reference +{ + typedef void type; +}; + +template <> +struct iterator_pointer +{ + typedef void type; +}; + +template <> +struct iterator_difference +{ + typedef void type; +}; + +template <> +struct BOOST_ITERATOR_CATEGORY +{ + typedef void type; +}; +# endif + +} // namespace boost::iterator + +#endif // ITERATOR_TRAITS_DWA200347_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/new_iterator_tests.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/new_iterator_tests.hpp new file mode 100644 index 0000000..a6a95eb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/new_iterator_tests.hpp @@ -0,0 +1,264 @@ +#ifndef BOOST_NEW_ITERATOR_TESTS_HPP +# define BOOST_NEW_ITERATOR_TESTS_HPP + +// +// Copyright (c) David Abrahams 2001. +// Copyright (c) Jeremy Siek 2001-2003. +// Copyright (c) Thomas Witt 2002. +// +// Use, modification and distribution is subject to the +// Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// This is meant to be the beginnings of a comprehensive, generic +// test suite for STL concepts such as iterators and containers. +// +// Revision History: +// 28 Oct 2002 Started update for new iterator categories +// (Jeremy Siek) +// 28 Apr 2002 Fixed input iterator requirements. +// For a == b a++ == b++ is no longer required. +// See 24.1.1/3 for details. +// (Thomas Witt) +// 08 Feb 2001 Fixed bidirectional iterator test so that +// --i is no longer a precondition. +// (Jeremy Siek) +// 04 Feb 2001 Added lvalue test, corrected preconditions +// (David Abrahams) + +# include +# include +# include +# include // for detail::dummy_constructor +# include +# include +# include +# include + +# include +# include +# include + +namespace boost { + + +// Do separate tests for *i++ so we can treat, e.g., smart pointers, +// as readable and/or writable iterators. +template +void readable_iterator_traversal_test(Iterator i1, T v, mpl::true_) +{ + T v2(*i1++); + BOOST_TEST(v == v2); +} + +template +void readable_iterator_traversal_test(const Iterator i1, T v, mpl::false_) +{} + +template +void writable_iterator_traversal_test(Iterator i1, T v, mpl::true_) +{ + ++i1; // we just wrote into that position + *i1++ = v; + Iterator x(i1++); + (void)x; +} + +template +void writable_iterator_traversal_test(const Iterator i1, T v, mpl::false_) +{} + + +// Preconditions: *i == v +template +void readable_iterator_test(const Iterator i1, T v) +{ + Iterator i2(i1); // Copy Constructible + typedef typename detail::iterator_traits::reference ref_t; + ref_t r1 = *i1; + ref_t r2 = *i2; + T v1 = r1; + T v2 = r2; + BOOST_TEST(v1 == v); + BOOST_TEST(v2 == v); + +# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407) + readable_iterator_traversal_test(i1, v, detail::is_postfix_incrementable()); + + // I think we don't really need this as it checks the same things as + // the above code. + BOOST_STATIC_ASSERT(is_readable_iterator::value); +# endif +} + +template +void writable_iterator_test(Iterator i, T v, T v2) +{ + Iterator i2(i); // Copy Constructible + *i2 = v; + +# if !BOOST_WORKAROUND(__MWERKS__, <= 0x2407) + writable_iterator_traversal_test( + i, v2, mpl::and_< + detail::is_incrementable + , detail::is_postfix_incrementable + >()); +# endif +} + +template +void swappable_iterator_test(Iterator i, Iterator j) +{ + Iterator i2(i), j2(j); + typename detail::iterator_traits::value_type bi = *i, bj = *j; + iter_swap(i2, j2); + typename detail::iterator_traits::value_type ai = *i, aj = *j; + BOOST_TEST(bi == aj && bj == ai); +} + +template +void constant_lvalue_iterator_test(Iterator i, T v1) +{ + Iterator i2(i); + typedef typename detail::iterator_traits::value_type value_type; + typedef typename detail::iterator_traits::reference reference; + BOOST_STATIC_ASSERT((is_same::value)); + const T& v2 = *i2; + BOOST_TEST(v1 == v2); +# ifndef BOOST_NO_LVALUE_RETURN_DETECTION + BOOST_STATIC_ASSERT(is_lvalue_iterator::value); + BOOST_STATIC_ASSERT(!is_non_const_lvalue_iterator::value); +# endif +} + +template +void non_const_lvalue_iterator_test(Iterator i, T v1, T v2) +{ + Iterator i2(i); + typedef typename detail::iterator_traits::value_type value_type; + typedef typename detail::iterator_traits::reference reference; + BOOST_STATIC_ASSERT((is_same::value)); + T& v3 = *i2; + BOOST_TEST(v1 == v3); + + // A non-const lvalue iterator is not neccessarily writable, but we + // are assuming the value_type is assignable here + *i = v2; + + T& v4 = *i2; + BOOST_TEST(v2 == v4); +# ifndef BOOST_NO_LVALUE_RETURN_DETECTION + BOOST_STATIC_ASSERT(is_lvalue_iterator::value); + BOOST_STATIC_ASSERT(is_non_const_lvalue_iterator::value); +# endif +} + +template +void forward_readable_iterator_test(Iterator i, Iterator j, T val1, T val2) +{ + Iterator i2; + Iterator i3(i); + i2 = i; + BOOST_TEST(i2 == i3); + BOOST_TEST(i != j); + BOOST_TEST(i2 != j); + readable_iterator_test(i, val1); + readable_iterator_test(i2, val1); + readable_iterator_test(i3, val1); + + BOOST_TEST(i == i2++); + BOOST_TEST(i != ++i3); + + readable_iterator_test(i2, val2); + readable_iterator_test(i3, val2); + + readable_iterator_test(i, val1); +} + +template +void forward_swappable_iterator_test(Iterator i, Iterator j, T val1, T val2) +{ + forward_readable_iterator_test(i, j, val1, val2); + Iterator i2 = i; + ++i2; + swappable_iterator_test(i, i2); +} + +// bidirectional +// Preconditions: *i == v1, *++i == v2 +template +void bidirectional_readable_iterator_test(Iterator i, T v1, T v2) +{ + Iterator j(i); + ++j; + forward_readable_iterator_test(i, j, v1, v2); + ++i; + + Iterator i1 = i, i2 = i; + + BOOST_TEST(i == i1--); + BOOST_TEST(i != --i2); + + readable_iterator_test(i, v2); + readable_iterator_test(i1, v1); + readable_iterator_test(i2, v1); + + --i; + BOOST_TEST(i == i1); + BOOST_TEST(i == i2); + ++i1; + ++i2; + + readable_iterator_test(i, v1); + readable_iterator_test(i1, v2); + readable_iterator_test(i2, v2); +} + +// random access +// Preconditions: [i,i+N) is a valid range +template +void random_access_readable_iterator_test(Iterator i, int N, TrueVals vals) +{ + bidirectional_readable_iterator_test(i, vals[0], vals[1]); + const Iterator j = i; + int c; + + for (c = 0; c < N-1; ++c) + { + BOOST_TEST(i == j + c); + BOOST_TEST(*i == vals[c]); + typename detail::iterator_traits::value_type x = j[c]; + BOOST_TEST(*i == x); + BOOST_TEST(*i == *(j + c)); + BOOST_TEST(*i == *(c + j)); + ++i; + BOOST_TEST(i > j); + BOOST_TEST(i >= j); + BOOST_TEST(j <= i); + BOOST_TEST(j < i); + } + + Iterator k = j + N - 1; + for (c = 0; c < N-1; ++c) + { + BOOST_TEST(i == k - c); + BOOST_TEST(*i == vals[N - 1 - c]); + typename detail::iterator_traits::value_type x = j[N - 1 - c]; + BOOST_TEST(*i == x); + Iterator q = k - c; + BOOST_TEST(*i == *q); + BOOST_TEST(i > j); + BOOST_TEST(i >= j); + BOOST_TEST(j <= i); + BOOST_TEST(j < i); + --i; + } +} + +} // namespace boost + +# include + +#endif // BOOST_NEW_ITERATOR_TESTS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/permutation_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/permutation_iterator.hpp new file mode 100644 index 0000000..05c740d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/permutation_iterator.hpp @@ -0,0 +1,72 @@ +// (C) Copyright Toon Knapen 2001. +// (C) Copyright David Abrahams 2003. +// (C) Copyright Roland Richter 2003. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PERMUTATION_ITERATOR_HPP +#define BOOST_PERMUTATION_ITERATOR_HPP + +#include + +#include + + +namespace boost +{ + +template< class ElementIterator + , class IndexIterator> +class permutation_iterator + : public iterator_adaptor< + permutation_iterator + , IndexIterator, typename detail::iterator_traits::value_type + , use_default, typename detail::iterator_traits::reference> +{ + typedef iterator_adaptor< + permutation_iterator + , IndexIterator, typename detail::iterator_traits::value_type + , use_default, typename detail::iterator_traits::reference> super_t; + + friend class iterator_core_access; + +public: + permutation_iterator() : m_elt_iter() {} + + explicit permutation_iterator(ElementIterator x, IndexIterator y) + : super_t(y), m_elt_iter(x) {} + + template + permutation_iterator( + permutation_iterator const& r + , typename enable_if_convertible::type* = 0 + , typename enable_if_convertible::type* = 0 + ) + : super_t(r.base()), m_elt_iter(r.m_elt_iter) + {} + +private: + typename super_t::reference dereference() const + { return *(m_elt_iter + *this->base()); } + +#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS + template friend class permutation_iterator; +#else + public: +#endif + ElementIterator m_elt_iter; +}; + + +template +permutation_iterator +make_permutation_iterator( ElementIterator e, IndexIterator i ) +{ + return permutation_iterator( e, i ); +} + + +} // namespace boost + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/reverse_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/reverse_iterator.hpp new file mode 100644 index 0000000..59bbbc0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/reverse_iterator.hpp @@ -0,0 +1,69 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_REVERSE_ITERATOR_23022003THW_HPP +#define BOOST_REVERSE_ITERATOR_23022003THW_HPP + +#include +#include +#include + +namespace boost +{ + + // + // + // + template + class reverse_iterator + : public iterator_adaptor< reverse_iterator, Iterator > + { + typedef iterator_adaptor< reverse_iterator, Iterator > super_t; + + friend class iterator_core_access; + + public: + reverse_iterator() {} + + explicit reverse_iterator(Iterator x) + : super_t(x) {} + + template + reverse_iterator( + reverse_iterator const& r + , typename enable_if_convertible::type* = 0 + ) + : super_t(r.base()) + {} + + private: + typename super_t::reference dereference() const { return *boost::prior(this->base()); } + + void increment() { --this->base_reference(); } + void decrement() { ++this->base_reference(); } + + void advance(typename super_t::difference_type n) + { + this->base_reference() += -n; + } + + template + typename super_t::difference_type + distance_to(reverse_iterator const& y) const + { + return this->base_reference() - y.base(); + } + }; + + template + reverse_iterator make_reverse_iterator(BidirectionalIterator x) + { + return reverse_iterator(x); + } + +} // namespace boost + +#endif // BOOST_REVERSE_ITERATOR_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/transform_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/transform_iterator.hpp new file mode 100644 index 0000000..ce168cd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/transform_iterator.hpp @@ -0,0 +1,188 @@ +// (C) Copyright David Abrahams 2002. +// (C) Copyright Jeremy Siek 2002. +// (C) Copyright Thomas Witt 2002. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +#ifndef BOOST_TRANSFORM_ITERATOR_23022003THW_HPP +#define BOOST_TRANSFORM_ITERATOR_23022003THW_HPP + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) +# include + +#endif +#include + + +namespace boost +{ + template + class transform_iterator; + + namespace detail + { + + template + struct function_object_result + { + typedef typename UnaryFunc::result_type type; + }; + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template + struct function_object_result + { + typedef Return type; + }; +#endif + + // Compute the iterator_adaptor instantiation to be used for transform_iterator + template + struct transform_iterator_base + { + private: + // By default, dereferencing the iterator yields the same as + // the function. Do we need to adjust the way + // function_object_result is computed for the standard + // proposal (e.g. using Doug's result_of)? + typedef typename ia_dflt_help< + Reference + , function_object_result + >::type reference; + + // To get the default for Value: remove any reference on the + // result type, but retain any constness to signal + // non-writability. Note that if we adopt Thomas' suggestion + // to key non-writability *only* on the Reference argument, + // we'd need to strip constness here as well. + typedef typename ia_dflt_help< + Value + , remove_reference + >::type cv_value_type; + + public: + typedef iterator_adaptor< + transform_iterator + , Iterator + , cv_value_type + , use_default // Leave the traversal category alone + , reference + > type; + }; + } + + template + class transform_iterator + : public boost::detail::transform_iterator_base::type + { + typedef typename + boost::detail::transform_iterator_base::type + super_t; + + friend class iterator_core_access; + + public: + transform_iterator() { } + + transform_iterator(Iterator const& x, UnaryFunc f) + : super_t(x), m_f(f) { } + + explicit transform_iterator(Iterator const& x) + : super_t(x) + { + // Pro8 is a little too aggressive about instantiating the + // body of this function. +#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) + // don't provide this constructor if UnaryFunc is a + // function pointer type, since it will be 0. Too dangerous. + BOOST_STATIC_ASSERT(is_class::value); +#endif + } + + template< + class OtherUnaryFunction + , class OtherIterator + , class OtherReference + , class OtherValue> + transform_iterator( + transform_iterator const& t + , typename enable_if_convertible::type* = 0 +#if !BOOST_WORKAROUND(BOOST_MSVC, == 1310) + , typename enable_if_convertible::type* = 0 +#endif + ) + : super_t(t.base()), m_f(t.functor()) + {} + + UnaryFunc functor() const + { return m_f; } + + private: + typename super_t::reference dereference() const + { return m_f(*this->base()); } + + // Probably should be the initial base class so it can be + // optimized away via EBO if it is an empty class. + UnaryFunc m_f; + }; + + template + transform_iterator + make_transform_iterator(Iterator it, UnaryFunc fun) + { + return transform_iterator(it, fun); + } + + // Version which allows explicit specification of the UnaryFunc + // type. + // + // This generator is not provided if UnaryFunc is a function + // pointer type, because it's too dangerous: the default-constructed + // function pointer in the iterator be 0, leading to a runtime + // crash. + template +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + typename mpl::if_< +#else + typename iterators::enable_if< +#endif + is_class // We should probably find a cheaper test than is_class<> + , transform_iterator +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + , int[3] +#endif + >::type + make_transform_iterator(Iterator it) + { + return transform_iterator(it, UnaryFunc()); + } + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ) && !defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) + template + transform_iterator< Return (*)(Argument), Iterator, Return> + make_transform_iterator(Iterator it, Return (*fun)(Argument)) + { + return transform_iterator(it, fun); + } +#endif + +} // namespace boost + +#include + +#endif // BOOST_TRANSFORM_ITERATOR_23022003THW_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/zip_iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/zip_iterator.hpp new file mode 100644 index 0000000..edc7e09 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/iterator/zip_iterator.hpp @@ -0,0 +1,585 @@ +// Copyright David Abrahams and Thomas Becker 2000-2006. Distributed +// under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_ +# define BOOST_ZIP_ITERATOR_TMB_07_13_2003_HPP_ + +#include +#include +#include +#include +#include // for enable_if_convertible +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { + + // Zip iterator forward declaration for zip_iterator_base + template + class zip_iterator; + + // One important design goal of the zip_iterator is to isolate all + // functionality whose implementation relies on the current tuple + // implementation. This goal has been achieved as follows: Inside + // the namespace detail there is a namespace tuple_impl_specific. + // This namespace encapsulates all functionality that is specific + // to the current Boost tuple implementation. More precisely, the + // namespace tuple_impl_specific provides the following tuple + // algorithms and meta-algorithms for the current Boost tuple + // implementation: + // + // tuple_meta_transform + // tuple_meta_accumulate + // tuple_transform + // tuple_for_each + // + // If the tuple implementation changes, all that needs to be + // replaced is the implementation of these four (meta-)algorithms. + + namespace detail + { + + // Functors to be used with tuple algorithms + // + template + class advance_iterator + { + public: + advance_iterator(DiffType step) : m_step(step) {} + + template + void operator()(Iterator& it) const + { it += m_step; } + + private: + DiffType m_step; + }; + // + struct increment_iterator + { + template + void operator()(Iterator& it) + { ++it; } + }; + // + struct decrement_iterator + { + template + void operator()(Iterator& it) + { --it; } + }; + // + struct dereference_iterator + { + template + struct apply + { + typedef typename + iterator_traits::reference + type; + }; + + template + typename apply::type operator()(Iterator const& it) + { return *it; } + }; + + + // The namespace tuple_impl_specific provides two meta- + // algorithms and two algorithms for tuples. + // + namespace tuple_impl_specific + { + // Meta-transform algorithm for tuples + // + template + struct tuple_meta_transform; + + template + struct tuple_meta_transform_impl + { + typedef tuples::cons< + typename mpl::apply1< + typename mpl::lambda::type + , typename Tuple::head_type + >::type + , typename tuple_meta_transform< + typename Tuple::tail_type + , UnaryMetaFun + >::type + > type; + }; + + template + struct tuple_meta_transform + : mpl::eval_if< + boost::is_same + , mpl::identity + , tuple_meta_transform_impl + > + { + }; + + // Meta-accumulate algorithm for tuples. Note: The template + // parameter StartType corresponds to the initial value in + // ordinary accumulation. + // + template + struct tuple_meta_accumulate; + + template< + typename Tuple + , class BinaryMetaFun + , typename StartType + > + struct tuple_meta_accumulate_impl + { + typedef typename mpl::apply2< + typename mpl::lambda::type + , typename Tuple::head_type + , typename tuple_meta_accumulate< + typename Tuple::tail_type + , BinaryMetaFun + , StartType + >::type + >::type type; + }; + + template< + typename Tuple + , class BinaryMetaFun + , typename StartType + > + struct tuple_meta_accumulate + : mpl::eval_if< +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + mpl::or_< +#endif + boost::is_same +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + , boost::is_same + > +#endif + , mpl::identity + , tuple_meta_accumulate_impl< + Tuple + , BinaryMetaFun + , StartType + > + > + { + }; + +#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING) \ + || ( \ + BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, != 0) && defined(_MSC_VER) \ + ) +// Not sure why intel's partial ordering fails in this case, but I'm +// assuming int's an MSVC bug-compatibility feature. + +# define BOOST_TUPLE_ALGO_DISPATCH +# define BOOST_TUPLE_ALGO(algo) algo##_impl +# define BOOST_TUPLE_ALGO_TERMINATOR , int +# define BOOST_TUPLE_ALGO_RECURSE , ... +#else +# define BOOST_TUPLE_ALGO(algo) algo +# define BOOST_TUPLE_ALGO_TERMINATOR +# define BOOST_TUPLE_ALGO_RECURSE +#endif + + // transform algorithm for tuples. The template parameter Fun + // must be a unary functor which is also a unary metafunction + // class that computes its return type based on its argument + // type. For example: + // + // struct to_ptr + // { + // template + // struct apply + // { + // typedef Arg* type; + // } + // + // template + // Arg* operator()(Arg x); + // }; + template + tuples::null_type BOOST_TUPLE_ALGO(tuple_transform) + (tuples::null_type const&, Fun BOOST_TUPLE_ALGO_TERMINATOR) + { return tuples::null_type(); } + + template + typename tuple_meta_transform< + Tuple + , Fun + >::type + + BOOST_TUPLE_ALGO(tuple_transform)( + const Tuple& t, + Fun f + BOOST_TUPLE_ALGO_RECURSE + ) + { + typedef typename tuple_meta_transform< + BOOST_DEDUCED_TYPENAME Tuple::tail_type + , Fun + >::type transformed_tail_type; + + return tuples::cons< + BOOST_DEDUCED_TYPENAME mpl::apply1< + Fun, BOOST_DEDUCED_TYPENAME Tuple::head_type + >::type + , transformed_tail_type + >( + f(boost::tuples::get<0>(t)), tuple_transform(t.get_tail(), f) + ); + } + +#ifdef BOOST_TUPLE_ALGO_DISPATCH + template + typename tuple_meta_transform< + Tuple + , Fun + >::type + + tuple_transform( + const Tuple& t, + Fun f + ) + { + return tuple_transform_impl(t, f, 1); + } +#endif + + // for_each algorithm for tuples. + // + template + Fun BOOST_TUPLE_ALGO(tuple_for_each)( + tuples::null_type + , Fun f BOOST_TUPLE_ALGO_TERMINATOR + ) + { return f; } + + + template + Fun BOOST_TUPLE_ALGO(tuple_for_each)( + Tuple& t + , Fun f BOOST_TUPLE_ALGO_RECURSE) + { + f( t.get_head() ); + return tuple_for_each(t.get_tail(), f); + } + +#ifdef BOOST_TUPLE_ALGO_DISPATCH + template + Fun + tuple_for_each( + Tuple& t, + Fun f + ) + { + return tuple_for_each_impl(t, f, 1); + } +#endif + + // Equality of tuples. NOTE: "==" for tuples currently (7/2003) + // has problems under some compilers, so I just do my own. + // No point in bringing in a bunch of #ifdefs here. This is + // going to go away with the next tuple implementation anyway. + // + inline bool tuple_equal(tuples::null_type, tuples::null_type) + { return true; } + + template + bool tuple_equal( + Tuple1 const& t1, + Tuple2 const& t2 + ) + { + return t1.get_head() == t2.get_head() && + tuple_equal(t1.get_tail(), t2.get_tail()); + } + } + // + // end namespace tuple_impl_specific + + template + struct iterator_reference + { + typedef typename iterator_traits::reference type; + }; + +#ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work + // out well. Instantiating the nested apply template also + // requires instantiating iterator_traits on the + // placeholder. Instead we just specialize it as a metafunction + // class. + template<> + struct iterator_reference + { + template + struct apply : iterator_reference {}; + }; +#endif + + // Metafunction to obtain the type of the tuple whose element types + // are the reference types of an iterator tuple. + // + template + struct tuple_of_references + : tuple_impl_specific::tuple_meta_transform< + IteratorTuple, + iterator_reference + > + { + }; + + // Metafunction to obtain the minimal traversal tag in a tuple + // of iterators. + // + template + struct minimum_traversal_category_in_iterator_tuple + { + typedef typename tuple_impl_specific::tuple_meta_transform< + IteratorTuple + , iterator_traversal<> + >::type tuple_of_traversal_tags; + + typedef typename tuple_impl_specific::tuple_meta_accumulate< + tuple_of_traversal_tags + , minimum_category<> + , random_access_traversal_tag + >::type type; + }; + +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) // ETI workaround + template <> + struct minimum_traversal_category_in_iterator_tuple + { + typedef int type; + }; +#endif + + // We need to call tuple_meta_accumulate with mpl::and_ as the + // accumulating functor. To this end, we need to wrap it into + // a struct that has exactly two arguments (that is, template + // parameters) and not five, like mpl::and_ does. + // + template + struct and_with_two_args + : mpl::and_ + { + }; + +# ifdef BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + // Hack because BOOST_MPL_AUX_LAMBDA_SUPPORT doesn't seem to work + // out well. In this case I think it's an MPL bug + template<> + struct and_with_two_args + { + template + struct apply : mpl::and_ + {}; + }; +# endif + + /////////////////////////////////////////////////////////////////// + // + // Class zip_iterator_base + // + // Builds and exposes the iterator facade type from which the zip + // iterator will be derived. + // + template + struct zip_iterator_base + { + private: + // Reference type is the type of the tuple obtained from the + // iterators' reference types. + typedef typename + detail::tuple_of_references::type reference; + + // Value type is the same as reference type. + typedef reference value_type; + + // Difference type is the first iterator's difference type + typedef typename iterator_traits< + typename tuples::element<0, IteratorTuple>::type + >::difference_type difference_type; + + // Traversal catetgory is the minimum traversal category in the + // iterator tuple. + typedef typename + detail::minimum_traversal_category_in_iterator_tuple< + IteratorTuple + >::type traversal_category; + public: + + // The iterator facade type from which the zip iterator will + // be derived. + typedef iterator_facade< + zip_iterator, + value_type, + traversal_category, + reference, + difference_type + > type; + }; + + template <> + struct zip_iterator_base + { + typedef int type; + }; + } + + ///////////////////////////////////////////////////////////////////// + // + // zip_iterator class definition + // + template + class zip_iterator : + public detail::zip_iterator_base::type + { + + // Typedef super_t as our base class. + typedef typename + detail::zip_iterator_base::type super_t; + + // iterator_core_access is the iterator's best friend. + friend class iterator_core_access; + + public: + + // Construction + // ============ + + // Default constructor + zip_iterator() { } + + // Constructor from iterator tuple + zip_iterator(IteratorTuple iterator_tuple) + : m_iterator_tuple(iterator_tuple) + { } + + // Copy constructor + template + zip_iterator( + const zip_iterator& other, + typename enable_if_convertible< + OtherIteratorTuple, + IteratorTuple + >::type* = 0 + ) : m_iterator_tuple(other.get_iterator_tuple()) + {} + + // Get method for the iterator tuple. + const IteratorTuple& get_iterator_tuple() const + { return m_iterator_tuple; } + + private: + + // Implementation of Iterator Operations + // ===================================== + + // Dereferencing returns a tuple built from the dereferenced + // iterators in the iterator tuple. + typename super_t::reference dereference() const + { + return detail::tuple_impl_specific::tuple_transform( + get_iterator_tuple(), + detail::dereference_iterator() + ); + } + + // Two zip iterators are equal if all iterators in the iterator + // tuple are equal. NOTE: It should be possible to implement this + // as + // + // return get_iterator_tuple() == other.get_iterator_tuple(); + // + // but equality of tuples currently (7/2003) does not compile + // under several compilers. No point in bringing in a bunch + // of #ifdefs here. + // + template + bool equal(const zip_iterator& other) const + { + return detail::tuple_impl_specific::tuple_equal( + get_iterator_tuple(), + other.get_iterator_tuple() + ); + } + + // Advancing a zip iterator means to advance all iterators in the + // iterator tuple. + void advance(typename super_t::difference_type n) + { + detail::tuple_impl_specific::tuple_for_each( + m_iterator_tuple, + detail::advance_iterator(n) + ); + } + // Incrementing a zip iterator means to increment all iterators in + // the iterator tuple. + void increment() + { + detail::tuple_impl_specific::tuple_for_each( + m_iterator_tuple, + detail::increment_iterator() + ); + } + + // Decrementing a zip iterator means to decrement all iterators in + // the iterator tuple. + void decrement() + { + detail::tuple_impl_specific::tuple_for_each( + m_iterator_tuple, + detail::decrement_iterator() + ); + } + + // Distance is calculated using the first iterator in the tuple. + template + typename super_t::difference_type distance_to( + const zip_iterator& other + ) const + { + return boost::tuples::get<0>(other.get_iterator_tuple()) - + boost::tuples::get<0>(this->get_iterator_tuple()); + } + + // Data Members + // ============ + + // The iterator tuple. + IteratorTuple m_iterator_tuple; + + }; + + // Make function for zip iterator + // + template + zip_iterator + make_zip_iterator(IteratorTuple t) + { return zip_iterator(t); } + +} + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/lexical_cast.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/lexical_cast.hpp new file mode 100644 index 0000000..bf41894 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/lexical_cast.hpp @@ -0,0 +1,1213 @@ +#ifndef BOOST_LEXICAL_CAST_INCLUDED +#define BOOST_LEXICAL_CAST_INCLUDED + +// Boost lexical_cast.hpp header -------------------------------------------// +// +// See http://www.boost.org/libs/conversion for documentation. +// See end of this header for rights and permissions. +// +// what: lexical_cast custom keyword cast +// who: contributed by Kevlin Henney, +// enhanced with contributions from Terje Slettebo, +// with additional fixes and suggestions from Gennaro Prota, +// Beman Dawes, Dave Abrahams, Daryle Walker, Peter Dimov, +// Alexander Nasonov and other Boosters +// when: November 2000, March 2003, June 2005, June 2006 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef BOOST_NO_STD_LOCALE +#include +#endif + +#ifdef BOOST_NO_STRINGSTREAM +#include +#else +#include +#endif + +#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_WSTRING) +#define BOOST_LCAST_NO_WCHAR_T +#endif + +#ifdef BOOST_NO_TYPEID +#define BOOST_LCAST_THROW_BAD_CAST(S, T) throw_exception(bad_lexical_cast()) +#else +#define BOOST_LCAST_THROW_BAD_CAST(Source, Target) \ + throw_exception(bad_lexical_cast(typeid(Source), typeid(Target))) +#endif + +namespace boost +{ + // exception used to indicate runtime lexical_cast failure + class bad_lexical_cast : public std::bad_cast + +#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() : +#ifndef BOOST_NO_TYPEID + source(&typeid(void)), target(&typeid(void)) +#else + source(0), target(0) // this breaks getters +#endif + { + } + + bad_lexical_cast( + const std::type_info &source_type_arg, + const std::type_info &target_type_arg) : + source(&source_type_arg), target(&target_type_arg) + { + } + + const std::type_info &source_type() const + { + return *source; + } + const std::type_info &target_type() const + { + return *target; + } + + virtual const char *what() const throw() + { + return "bad lexical cast: " + "source type value could not be interpreted as target"; + } + virtual ~bad_lexical_cast() throw() + { + } + private: + const std::type_info *source; + const std::type_info *target; + }; + + namespace detail // selectors for choosing stream character type + { + template + struct stream_char + { + typedef char type; + }; + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template + struct stream_char< std::basic_string > + { + typedef CharT type; + }; +#endif + +#ifndef BOOST_LCAST_NO_WCHAR_T +#ifndef BOOST_NO_INTRINSIC_WCHAR_T + template<> + struct stream_char + { + typedef wchar_t type; + }; +#endif + + template<> + struct stream_char + { + typedef wchar_t type; + }; + + template<> + struct stream_char + { + typedef wchar_t type; + }; + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template<> + struct stream_char + { + typedef wchar_t type; + }; +#endif +#endif + + template + struct widest_char + { + typedef TargetChar type; + }; + + template<> + struct widest_char + { + typedef wchar_t type; + }; + } + + namespace detail // deduce_char_traits template + { +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template + struct deduce_char_traits + { + typedef std::char_traits type; + }; + + template + struct deduce_char_traits< CharT + , std::basic_string + , Source + > + { + typedef Traits type; + }; + + template + struct deduce_char_traits< CharT + , Target + , std::basic_string + > + { + typedef Traits type; + }; + + template + struct deduce_char_traits< CharT + , std::basic_string + , std::basic_string + > + { + typedef Traits type; + }; +#endif + } + + namespace detail // lcast_src_length + { + // Return max. length of string representation of Source; + // 0 if unlimited (with exceptions for some types, see below). + // Values with limited string representation are placed to + // the buffer locally defined in lexical_cast function. + // 1 is returned for few types such as CharT const* or + // std::basic_string that already have an internal + // buffer ready to be reused by lexical_stream_limited_src. + // Each specialization should have a correspondent operator<< + // defined in lexical_stream_limited_src. + template< class CharT // A result of widest_char transformation. + , class Source // Source type of lexical_cast. + > + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 0); + // To check coverage, build the test with + // bjam --v2 profile optimization=off + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + + // No specializations for: + // lcast_src_length + // lcast_src_length + // lcast_src_length + // lcast_src_length + // lcast_src_length + // lcast_src_length + +#ifndef BOOST_LCAST_NO_WCHAR_T + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + +#ifndef BOOST_NO_INTRINSIC_WCHAR_T + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; +#endif +#endif + + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + +#ifndef BOOST_LCAST_NO_WCHAR_T + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; +#endif + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template + struct lcast_src_length< CharT, std::basic_string > + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; +#else + template<> + struct lcast_src_length< char, std::basic_string > + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; + +#ifndef BOOST_LCAST_NO_WCHAR_T + template<> + struct lcast_src_length< wchar_t, std::basic_string > + { + BOOST_STATIC_CONSTANT(std::size_t, value = 1); + static void check_coverage() {} + }; +#endif +#endif + + // 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_integral + { +#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 + }; + +#define BOOST_LCAST_DEF1(CharT, T) \ + template<> struct lcast_src_length \ + : lcast_src_length_integral \ + { static void check_coverage() {} }; + +#ifdef BOOST_LCAST_NO_WCHAR_T +#define BOOST_LCAST_DEF(T) BOOST_LCAST_DEF1(char, T) +#else +#define BOOST_LCAST_DEF(T) \ + BOOST_LCAST_DEF1(char, T) \ + BOOST_LCAST_DEF1(wchar_t, T) +#endif + + BOOST_LCAST_DEF(short) + BOOST_LCAST_DEF(unsigned short) + BOOST_LCAST_DEF(int) + BOOST_LCAST_DEF(unsigned int) + BOOST_LCAST_DEF(long) + BOOST_LCAST_DEF(unsigned long) +#if defined(BOOST_HAS_LONG_LONG) + BOOST_LCAST_DEF(boost::ulong_long_type) + BOOST_LCAST_DEF(boost::long_long_type ) +#elif defined(BOOST_HAS_MS_INT64) + BOOST_LCAST_DEF(unsigned __int64) + BOOST_LCAST_DEF( __int64) +#endif + +#undef BOOST_LCAST_DEF +#undef BOOST_LCAST_DEF1 + +#ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION + // Helper for floating point types. + // -1.23456789e-123456 + // ^ sign + // ^ leading digit + // ^ decimal point + // ^^^^^^^^ lcast_precision::value + // ^ "e" + // ^ exponent sign + // ^^^^^^ exponent (assumed 6 or less digits) + // sign + leading digit + decimal point + "e" + exponent sign == 5 + template + struct lcast_src_length_floating + { + 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 + ); + }; + + template<> + struct lcast_src_length + : lcast_src_length_floating + { + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + : lcast_src_length_floating + { + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + : lcast_src_length_floating + { + static void check_coverage() {} + }; + +#ifndef BOOST_LCAST_NO_WCHAR_T + template<> + struct lcast_src_length + : lcast_src_length_floating + { + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + : lcast_src_length_floating + { + static void check_coverage() {} + }; + + template<> + struct lcast_src_length + : lcast_src_length_floating + { + static void check_coverage() {} + }; + +#endif // #ifndef BOOST_LCAST_NO_WCHAR_T +#endif // #ifndef BOOST_LCAST_NO_COMPILE_TIME_PRECISION + } + + namespace detail // '0' and '-' constants + { + template struct lcast_char_constants; + + template<> + struct lcast_char_constants + { + BOOST_STATIC_CONSTANT(char, zero = '0'); + BOOST_STATIC_CONSTANT(char, minus = '-'); + }; + +#ifndef BOOST_LCAST_NO_WCHAR_T + template<> + struct lcast_char_constants + { + BOOST_STATIC_CONSTANT(wchar_t, zero = L'0'); + BOOST_STATIC_CONSTANT(wchar_t, minus = L'-'); + }; +#endif + } + + namespace detail // lexical_streambuf_fake + { + struct lexical_streambuf_fake + { + }; + } + + namespace detail // lcast_to_unsigned + { +#if (defined _MSC_VER) +# pragma warning( push ) +// C4146: unary minus operator applied to unsigned type, result still unsigned +# pragma warning( disable : 4146 ) +#elif defined( __BORLANDC__ ) +# pragma option push -w-8041 +#endif + template + inline + BOOST_DEDUCED_TYPENAME make_unsigned::type lcast_to_unsigned(T value) + { + typedef BOOST_DEDUCED_TYPENAME make_unsigned::type result_type; + result_type uvalue = static_cast(value); + return value < 0 ? -uvalue : uvalue; + } +#if (defined _MSC_VER) +# pragma warning( pop ) +#elif defined( __BORLANDC__ ) +# pragma option pop +#endif + } + + namespace detail // lcast_put_unsigned + { + template + CharT* lcast_put_unsigned(T n, CharT* finish) + { +#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); +#endif + +#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE + // TODO: use BOOST_NO_STD_LOCALE + std::locale loc; + 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(); + CharT thousands_sep = grouping_size ? np.thousands_sep() : 0; + std::string::size_type group = 0; // current group number + char last_grp_size = grouping[0] <= 0 ? CHAR_MAX : grouping[0]; + // a) Since grouping is const, grouping[grouping.size()] returns 0. + // b) It's safe to assume here and below that CHAR_MAX + // is equivalent to unlimited grouping: +#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS + BOOST_STATIC_ASSERT(std::numeric_limits::digits10 < CHAR_MAX); +#endif + + char left = last_grp_size; +#endif + + typedef typename Traits::int_type int_type; + CharT const czero = lcast_char_constants::zero; + int_type const zero = Traits::to_int_type(czero); + + do + { +#ifndef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE + if(left == 0) + { + ++group; + if(group < grouping_size) + { + char const grp_size = grouping[group]; + last_grp_size = grp_size <= 0 ? CHAR_MAX : grp_size; + } + + left = last_grp_size; + --finish; + Traits::assign(*finish, thousands_sep); + } + + --left; +#endif + + --finish; + int_type const digit = static_cast(n % 10U); + Traits::assign(*finish, Traits::to_char_type(zero + digit)); + n /= 10; + } while(n); + + return finish; + } + } + + namespace detail // stream wrapper for handling lexical conversions + { + template + class lexical_stream + { + private: + typedef typename widest_char< + typename stream_char::type, + typename stream_char::type>::type char_type; + + typedef Traits traits_type; + + public: + lexical_stream(char_type* = 0, char_type* = 0) + { + stream.unsetf(std::ios::skipws); + lcast_set_precision(stream, static_cast(0), static_cast(0) ); + } + ~lexical_stream() + { + #if defined(BOOST_NO_STRINGSTREAM) + stream.freeze(false); + #endif + } + bool operator<<(const Source &input) + { + return !(stream << input).fail(); + } + template + bool operator>>(InputStreamable &output) + { + return !is_pointer::value && + stream >> output && + stream.get() == +#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING) +// GCC 2.9x lacks std::char_traits<>::eof(). +// We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3 +// configurations, which do provide std::char_traits<>::eof(). + + EOF; +#else + traits_type::eof(); +#endif + } + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + bool operator>>(std::string &output) + { + #if defined(BOOST_NO_STRINGSTREAM) + stream << '\0'; + #endif + stream.str().swap(output); + return true; + } + #ifndef BOOST_LCAST_NO_WCHAR_T + bool operator>>(std::wstring &output) + { + stream.str().swap(output); + return true; + } + #endif + +#else + bool operator>>(std::basic_string& output) + { + stream.str().swap(output); + return true; + } + + template + bool operator>>(std::basic_string& out) + { + std::basic_string str(stream.str()); + out.assign(str.begin(), str.end()); + return true; + } +#endif + private: + #if defined(BOOST_NO_STRINGSTREAM) + std::strstream stream; + #elif defined(BOOST_NO_STD_LOCALE) + std::stringstream stream; + #else + std::basic_stringstream stream; + #endif + }; + } + + namespace detail // optimized stream wrapper + { + // String representation of Source has an upper limit. + template< class CharT // a result of widest_char transformation + , class Base // lexical_streambuf_fake or basic_streambuf + , class Traits // usually char_traits + > + class lexical_stream_limited_src : public Base + { + // A string representation of Source is written to [start, finish). + // Currently, it is assumed that [start, finish) is big enough + // to hold a string representation of any Source value. + CharT* start; + CharT* finish; + + private: + + static void widen_and_assign(char*p, char ch) + { + Traits::assign(*p, ch); + } + +#ifndef BOOST_LCAST_NO_WCHAR_T + static void widen_and_assign(wchar_t* p, char ch) + { + // TODO: use BOOST_NO_STD_LOCALE + std::locale loc; + wchar_t w = BOOST_USE_FACET(std::ctype, loc).widen(ch); + Traits::assign(*p, w); + } + + static void widen_and_assign(wchar_t* p, wchar_t ch) + { + Traits::assign(*p, ch); + } + + static void widen_and_assign(char*, wchar_t ch); // undefined +#endif + + template + bool lcast_put(const OutputStreamable& input) + { + this->setp(start, finish); + std::basic_ostream stream(static_cast(this)); + lcast_set_precision(stream, static_cast(0)); + bool const result = !(stream << input).fail(); + finish = this->pptr(); + return result; + } + + // Undefined: + lexical_stream_limited_src(lexical_stream_limited_src const&); + void operator=(lexical_stream_limited_src const&); + + public: + + lexical_stream_limited_src(CharT* sta, CharT* fin) + : start(sta) + , finish(fin) + {} + + public: // output + + template + bool operator<<(std::basic_string const& str) + { + start = const_cast(str.data()); + finish = start + str.length(); + return true; + } + + bool operator<<(bool); + bool operator<<(char); +#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) + bool operator<<(wchar_t); +#endif + bool operator<<(CharT const*); + bool operator<<(short); + bool operator<<(int); + bool operator<<(long); + bool operator<<(unsigned short); + bool operator<<(unsigned int); + bool operator<<(unsigned long); +#if defined(BOOST_HAS_LONG_LONG) + bool operator<<(boost::ulong_long_type); + bool operator<<(boost::long_long_type ); +#elif defined(BOOST_HAS_MS_INT64) + bool operator<<(unsigned __int64); + bool operator<<( __int64); +#endif + // These three operators use ostream and streambuf. + // lcast_streambuf_for_source::value is true. + bool operator<<(float); + bool operator<<(double); + bool operator<<(long double); + + public: // input + + // Generic istream-based algorithm. + // lcast_streambuf_for_target::value is true. + template + bool operator>>(InputStreamable& output) + { +#if (defined _MSC_VER) +# pragma warning( push ) + // conditional expression is constant +# pragma warning( disable : 4127 ) +#endif + if(is_pointer::value) + return false; + + this->setg(start, start, finish); + std::basic_istream stream(static_cast(this)); + stream.unsetf(std::ios::skipws); + lcast_set_precision(stream, static_cast(0)); +#if (defined _MSC_VER) +# pragma warning( pop ) +#endif + return stream >> output && + stream.get() == +#if defined(__GNUC__) && (__GNUC__<3) && defined(BOOST_NO_STD_WSTRING) + // GCC 2.9x lacks std::char_traits<>::eof(). + // We use BOOST_NO_STD_WSTRING to filter out STLport and libstdc++-v3 + // configurations, which do provide std::char_traits<>::eof(). + + EOF; +#else + Traits::eof(); +#endif + } + + bool operator>>(CharT&); + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +// This #if is in sync with lcast_streambuf_for_target + + bool operator>>(std::string&); + +#ifndef BOOST_LCAST_NO_WCHAR_T + bool operator>>(std::wstring&); +#endif + +#else + template + bool operator>>(std::basic_string& str) + { + str.assign(start, finish); + return true; + } +#endif + }; + + template + inline bool lexical_stream_limited_src::operator<<( + bool value) + { + typedef typename Traits::int_type int_type; + CharT const czero = lcast_char_constants::zero; + int_type const zero = Traits::to_int_type(czero); + Traits::assign(*start, Traits::to_char_type(zero + value)); + finish = start + 1; + return true; + } + + template + inline bool lexical_stream_limited_src::operator<<( + char ch) + { + widen_and_assign(start, ch); + finish = start + 1; + return true; + } + +#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) + template + inline bool lexical_stream_limited_src::operator<<( + wchar_t ch) + { + widen_and_assign(start, ch); + finish = start + 1; + return true; + } +#endif + + template + inline bool lexical_stream_limited_src::operator<<( + short n) + { + start = lcast_put_unsigned(lcast_to_unsigned(n), finish); + if(n < 0) + { + --start; + CharT const minus = lcast_char_constants::minus; + Traits::assign(*start, minus); + } + return true; + } + + template + inline bool lexical_stream_limited_src::operator<<( + int n) + { + start = lcast_put_unsigned(lcast_to_unsigned(n), finish); + if(n < 0) + { + --start; + CharT const minus = lcast_char_constants::minus; + Traits::assign(*start, minus); + } + return true; + } + + template + inline bool lexical_stream_limited_src::operator<<( + long n) + { + start = lcast_put_unsigned(lcast_to_unsigned(n), finish); + if(n < 0) + { + --start; + CharT const minus = lcast_char_constants::minus; + Traits::assign(*start, minus); + } + return true; + } + +#if defined(BOOST_HAS_LONG_LONG) + template + inline bool lexical_stream_limited_src::operator<<( + boost::long_long_type n) + { + start = lcast_put_unsigned(lcast_to_unsigned(n), finish); + if(n < 0) + { + --start; + CharT const minus = lcast_char_constants::minus; + Traits::assign(*start, minus); + } + return true; + } +#elif defined(BOOST_HAS_MS_INT64) + template + inline bool lexical_stream_limited_src::operator<<( + __int64 n) + { + start = lcast_put_unsigned(lcast_to_unsigned(n), finish); + if(n < 0) + { + --start; + CharT const minus = lcast_char_constants::minus; + Traits::assign(*start, minus); + } + return true; + } +#endif + + template + inline bool lexical_stream_limited_src::operator<<( + unsigned short n) + { + start = lcast_put_unsigned(n, finish); + return true; + } + + template + inline bool lexical_stream_limited_src::operator<<( + unsigned int n) + { + start = lcast_put_unsigned(n, finish); + return true; + } + + template + inline bool lexical_stream_limited_src::operator<<( + unsigned long n) + { + start = lcast_put_unsigned(n, finish); + return true; + } + +#if defined(BOOST_HAS_LONG_LONG) + template + inline bool lexical_stream_limited_src::operator<<( + boost::ulong_long_type n) + { + start = lcast_put_unsigned(n, finish); + return true; + } +#elif defined(BOOST_HAS_MS_INT64) + template + inline bool lexical_stream_limited_src::operator<<( + unsigned __int64 n) + { + start = lcast_put_unsigned(n, finish); + return true; + } +#endif + + template + inline bool lexical_stream_limited_src::operator<<( + float val) + { + return this->lcast_put(val); + } + + template + inline bool lexical_stream_limited_src::operator<<( + double val) + { + return this->lcast_put(val); + } + + template + inline bool lexical_stream_limited_src::operator<<( + long double val) + { + return this->lcast_put(val); + } + + template + inline bool lexical_stream_limited_src::operator<<( + CharT const* str) + { + start = const_cast(str); + finish = start + Traits::length(str); + return true; + } + + template + inline bool lexical_stream_limited_src::operator>>( + CharT& output) + { + bool const ok = (finish - start == 1); + if(ok) + Traits::assign(output, *start); + return ok; + } + +#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template + inline bool lexical_stream_limited_src::operator>>( + std::string& str) + { + str.assign(start, finish); + return true; + } + +#ifndef BOOST_LCAST_NO_WCHAR_T + template + inline bool lexical_stream_limited_src::operator>>( + std::wstring& str) + { + str.assign(start, finish); + return true; + } +#endif +#endif + } + + namespace detail // lcast_streambuf_for_source + { + // Returns true if optimized stream wrapper needs ostream for writing. + template + struct lcast_streambuf_for_source + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; + + template<> + struct lcast_streambuf_for_source + { + BOOST_STATIC_CONSTANT(bool, value = true); + }; + + template<> + struct lcast_streambuf_for_source + { + BOOST_STATIC_CONSTANT(bool, value = true); + }; + + template<> + struct lcast_streambuf_for_source + { + BOOST_STATIC_CONSTANT(bool, value = true); + }; + } + + namespace detail // lcast_streambuf_for_target + { + // Returns true if optimized stream wrapper needs istream for reading. + template + struct lcast_streambuf_for_target + { + BOOST_STATIC_CONSTANT(bool, value = true); + }; + + template<> + struct lcast_streambuf_for_target + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; + +#if !defined(BOOST_LCAST_NO_WCHAR_T) && !defined(BOOST_NO_INTRINSIC_WCHAR_T) + template<> + struct lcast_streambuf_for_target + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +#endif + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + template + struct lcast_streambuf_for_target< + std::basic_string > + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; + +#ifndef BOOST_LCAST_NO_WCHAR_T + template + struct lcast_streambuf_for_target< + std::basic_string > + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +#endif +#else + template<> + struct lcast_streambuf_for_target + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; + +#ifndef BOOST_LCAST_NO_WCHAR_T + template<> + struct lcast_streambuf_for_target + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +#endif +#endif + } + + #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + // call-by-const reference version + + namespace detail + { + template + struct array_to_pointer_decay + { + typedef T type; + }; + + template + struct array_to_pointer_decay + { + typedef const T * type; + }; + +#if (defined _MSC_VER) +# pragma warning( push ) +# pragma warning( disable : 4701 ) // possible use of ... before initialization +# pragma warning( disable : 4702 ) // unreachable code +#endif + + template< typename Target + , typename Source + , bool Unlimited // string representation of Source is unlimited + , typename CharT + > + Target lexical_cast( + BOOST_DEDUCED_TYPENAME boost::call_traits::param_type arg, + CharT* buf, std::size_t src_len) + { + typedef BOOST_DEDUCED_TYPENAME + deduce_char_traits::type traits; + + typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< + lcast_streambuf_for_target::value || + lcast_streambuf_for_source::value + , std::basic_streambuf + , lexical_streambuf_fake + >::type base; + + BOOST_DEDUCED_TYPENAME boost::mpl::if_c< + Unlimited + , detail::lexical_stream + , detail::lexical_stream_limited_src + >::type interpreter(buf, buf + src_len); + + Target result; + if(!(interpreter << arg && interpreter >> result)) + BOOST_LCAST_THROW_BAD_CAST(Source, Target); + return result; + } +#if (defined _MSC_VER) +# pragma warning( pop ) +#endif + } + + template + inline Target lexical_cast(const Source &arg) + { + typedef typename detail::array_to_pointer_decay::type src; + + typedef typename detail::widest_char< + typename detail::stream_char::type + , typename detail::stream_char::type + >::type char_type; + + typedef detail::lcast_src_length lcast_src_length; + std::size_t const src_len = lcast_src_length::value; + char_type buf[src_len + 1]; + lcast_src_length::check_coverage(); + return detail::lexical_cast(arg, buf, src_len); + } + + #else + + // call-by-value fallback version (deprecated) + + template + Target lexical_cast(Source arg) + { + typedef typename detail::widest_char< + BOOST_DEDUCED_TYPENAME detail::stream_char::type + , BOOST_DEDUCED_TYPENAME detail::stream_char::type + >::type char_type; + + typedef std::char_traits traits; + detail::lexical_stream interpreter; + Target result; + + if(!(interpreter << arg && interpreter >> result)) +#ifndef BOOST_NO_TYPEID + throw_exception(bad_lexical_cast(typeid(Source), typeid(Target))); +#else + throw_exception(bad_lexical_cast()); +#endif + return result; + } + + #endif +} + +// Copyright Kevlin Henney, 2000-2005. +// Copyright Alexander Nasonov, 2006-2007. +// +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#undef BOOST_LCAST_NO_WCHAR_T +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/limits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/limits.hpp new file mode 100644 index 0000000..37f7217 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/limits.hpp @@ -0,0 +1,146 @@ + +// (C) Copyright John maddock 1999. +// (C) David Abrahams 2002. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// use this header as a workaround for missing + +// See http://www.boost.org/libs/compatibility/index.html for documentation. + +#ifndef BOOST_LIMITS +#define BOOST_LIMITS + +#include + +#ifdef BOOST_NO_LIMITS +# include +#else +# include +#endif + +#if (defined(BOOST_HAS_LONG_LONG) && defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)) \ + || (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)) +// Add missing specializations for numeric_limits: +#ifdef BOOST_HAS_MS_INT64 +# define BOOST_LLT __int64 +# define BOOST_ULLT unsigned __int64 +#else +# define BOOST_LLT ::boost::long_long_type +# define BOOST_ULLT ::boost::ulong_long_type +#endif + +#include // for CHAR_BIT + +namespace std +{ + template<> + class numeric_limits + { + public: + + BOOST_STATIC_CONSTANT(bool, is_specialized = true); +#ifdef BOOST_HAS_MS_INT64 + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x8000000000000000i64; } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0x7FFFFFFFFFFFFFFFi64; } +#elif defined(LLONG_MAX) + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MIN; } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LLONG_MAX; } +#elif defined(LONGLONG_MAX) + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MIN; } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return LONGLONG_MAX; } +#else + static BOOST_LLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 1LL << (sizeof(BOOST_LLT) * CHAR_BIT - 1); } + static BOOST_LLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~(min)(); } +#endif + BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT -1); + BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT) - 1) * 301L / 1000); + BOOST_STATIC_CONSTANT(bool, is_signed = true); + BOOST_STATIC_CONSTANT(bool, is_integer = true); + BOOST_STATIC_CONSTANT(bool, is_exact = true); + BOOST_STATIC_CONSTANT(int, radix = 2); + static BOOST_LLT epsilon() throw() { return 0; }; + static BOOST_LLT round_error() throw() { return 0; }; + + BOOST_STATIC_CONSTANT(int, min_exponent = 0); + BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); + BOOST_STATIC_CONSTANT(int, max_exponent = 0); + BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); + + BOOST_STATIC_CONSTANT(bool, has_infinity = false); + BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_denorm = false); + BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); + static BOOST_LLT infinity() throw() { return 0; }; + static BOOST_LLT quiet_NaN() throw() { return 0; }; + static BOOST_LLT signaling_NaN() throw() { return 0; }; + static BOOST_LLT denorm_min() throw() { return 0; }; + + BOOST_STATIC_CONSTANT(bool, is_iec559 = false); + BOOST_STATIC_CONSTANT(bool, is_bounded = true); + BOOST_STATIC_CONSTANT(bool, is_modulo = true); + + BOOST_STATIC_CONSTANT(bool, traps = false); + BOOST_STATIC_CONSTANT(bool, tinyness_before = false); + BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); + + }; + + template<> + class numeric_limits + { + public: + + BOOST_STATIC_CONSTANT(bool, is_specialized = true); +#ifdef BOOST_HAS_MS_INT64 + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0ui64; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0xFFFFFFFFFFFFFFFFui64; } +#elif defined(ULLONG_MAX) && defined(ULLONG_MIN) + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MIN; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULLONG_MAX; } +#elif defined(ULONGLONG_MAX) && defined(ULONGLONG_MIN) + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MIN; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ULONGLONG_MAX; } +#else + static BOOST_ULLT min BOOST_PREVENT_MACRO_SUBSTITUTION (){ return 0uLL; } + static BOOST_ULLT max BOOST_PREVENT_MACRO_SUBSTITUTION (){ return ~0uLL; } +#endif + BOOST_STATIC_CONSTANT(int, digits = sizeof(BOOST_LLT) * CHAR_BIT); + BOOST_STATIC_CONSTANT(int, digits10 = (CHAR_BIT * sizeof (BOOST_LLT)) * 301L / 1000); + BOOST_STATIC_CONSTANT(bool, is_signed = false); + BOOST_STATIC_CONSTANT(bool, is_integer = true); + BOOST_STATIC_CONSTANT(bool, is_exact = true); + BOOST_STATIC_CONSTANT(int, radix = 2); + static BOOST_ULLT epsilon() throw() { return 0; }; + static BOOST_ULLT round_error() throw() { return 0; }; + + BOOST_STATIC_CONSTANT(int, min_exponent = 0); + BOOST_STATIC_CONSTANT(int, min_exponent10 = 0); + BOOST_STATIC_CONSTANT(int, max_exponent = 0); + BOOST_STATIC_CONSTANT(int, max_exponent10 = 0); + + BOOST_STATIC_CONSTANT(bool, has_infinity = false); + BOOST_STATIC_CONSTANT(bool, has_quiet_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false); + BOOST_STATIC_CONSTANT(bool, has_denorm = false); + BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false); + static BOOST_ULLT infinity() throw() { return 0; }; + static BOOST_ULLT quiet_NaN() throw() { return 0; }; + static BOOST_ULLT signaling_NaN() throw() { return 0; }; + static BOOST_ULLT denorm_min() throw() { return 0; }; + + BOOST_STATIC_CONSTANT(bool, is_iec559 = false); + BOOST_STATIC_CONSTANT(bool, is_bounded = true); + BOOST_STATIC_CONSTANT(bool, is_modulo = true); + + BOOST_STATIC_CONSTANT(bool, traps = false); + BOOST_STATIC_CONSTANT(bool, tinyness_before = false); + BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); + + }; +} +#endif + +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mem_fn.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mem_fn.hpp new file mode 100644 index 0000000..7f307c7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mem_fn.hpp @@ -0,0 +1,24 @@ +#ifndef BOOST_MEM_FN_HPP_INCLUDED +#define BOOST_MEM_FN_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// +// mem_fn.hpp - a generalization of std::mem_fun[_ref] +// +// Copyright (c) 2009 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt +// +// See http://www.boost.org/libs/bind/mem_fn.html for documentation. +// + +#include + +#endif // #ifndef BOOST_MEM_FN_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/memory_order.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/memory_order.hpp new file mode 100644 index 0000000..1c8bdc6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/memory_order.hpp @@ -0,0 +1,53 @@ +#ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED +#define BOOST_MEMORY_ORDER_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + +// boost/memory_order.hpp +// +// Defines enum boost::memory_order per the C++0x working draft +// +// Copyright (c) 2008, 2009 Peter Dimov +// +// Distributed under the Boost Software License, Version 1.0. +// See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + + +namespace boost +{ + +// +// Enum values are chosen so that code that needs to insert +// a trailing fence for acquire semantics can use a single +// test such as: +// +// if( mo & memory_order_acquire ) { ...fence... } +// +// For leading fences one can use: +// +// if( mo & memory_order_release ) { ...fence... } +// +// Architectures such as Alpha that need a fence on consume +// can use: +// +// if( mo & ( memory_order_acquire | memory_order_consume ) ) { ...fence... } +// + +enum memory_order +{ + memory_order_relaxed = 0, + memory_order_acquire = 1, + memory_order_release = 2, + memory_order_acq_rel = 3, // acquire | release + memory_order_seq_cst = 7, // acq_rel | 4 + memory_order_consume = 8 +}; + +} // namespace boost + +#endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size.hpp new file mode 100644 index 0000000..42731c5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_O1_SIZE_HPP_INCLUDED +#define BOOST_MPL_O1_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// returns sequence size if it's an O(1) operation; otherwise returns -1 +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct O1_size + : O1_size_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, O1_size, (Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, O1_size) + +}} + +#endif // BOOST_MPL_O1_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size_fwd.hpp new file mode 100644 index 0000000..c6ae231 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/O1_size_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED +#define BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: O1_size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct O1_size_impl; +template< typename Sequence > struct O1_size; + +}} + +#endif // BOOST_MPL_O1_SIZE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/accumulate.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/accumulate.hpp new file mode 100644 index 0000000..1841b52 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/accumulate.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_ACCUMULATE_HPP_INCLUDED +#define BOOST_MPL_ACCUMULATE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: accumulate.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp) + > +struct accumulate + : fold +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,accumulate,(Sequence,State,ForwardOp)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, accumulate) + +}} + +#endif // BOOST_MPL_ACCUMULATE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance.hpp new file mode 100644 index 0000000..8d9913d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance.hpp @@ -0,0 +1,76 @@ + +#ifndef BOOST_MPL_ADVANCE_HPP_INCLUDED +#define BOOST_MPL_ADVANCE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: advance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation for forward/bidirectional iterators +template< typename Tag > +struct advance_impl +{ + template< typename Iterator, typename N > struct apply + { + typedef typename less< N,long_<0> >::type backward_; + typedef typename if_< backward_, negate, N >::type offset_; + + typedef typename if_< + backward_ + , aux::advance_backward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value > + , aux::advance_forward< BOOST_MPL_AUX_VALUE_WKND(offset_)::value > + >::type f_; + + typedef typename apply_wrap1::type type; + }; +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Iterator) + , typename BOOST_MPL_AUX_NA_PARAM(N) + > +struct advance + : advance_impl< typename tag::type > + ::template apply +{ +}; + +template< + typename Iterator + , BOOST_MPL_AUX_NTTP_DECL(long, N) + > +struct advance_c + : advance_impl< typename tag::type > + ::template apply > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(2, advance) + +}} + +#endif // BOOST_MPL_ADVANCE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance_fwd.hpp new file mode 100644 index 0000000..10b3e0c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/advance_fwd.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED +#define BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: advance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_COMMON_NAME_WKND(advance) + +template< typename Tag > struct advance_impl; +template< typename Iterator, typename N > struct advance; + +}} + +#endif // BOOST_MPL_ADVANCE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/alias.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/alias.hpp new file mode 100644 index 0000000..e801eaa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/alias.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_ALIAS_HPP_INCLUDED +#define BOOST_MPL_ALIAS_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: alias.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace { +namespace mpl = boost::mpl; +} + +#endif // BOOST_MPL_ALIAS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/always.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/always.hpp new file mode 100644 index 0000000..21432e9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/always.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_ALWAYS_HPP_INCLUDED +#define BOOST_MPL_ALWAYS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: always.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename Value > struct always +{ + template< + typename T + BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(1, typename T, na) + > + struct apply + { + typedef Value type; + }; +}; + +BOOST_MPL_AUX_ARITY_SPEC(1, always) + +}} + +#endif // BOOST_MPL_ALWAYS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/and.hpp new file mode 100644 index 0000000..bda8b63 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/and.hpp @@ -0,0 +1,60 @@ + +#ifndef BOOST_MPL_AND_HPP_INCLUDED +#define BOOST_MPL_AND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: and.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# include +# include +# include +# include + +// agurt, 19/may/04: workaround a conflict with header's +// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)' +// has to be checked in a separate condition, otherwise GCC complains +// about 'and' being an alternative token +#if defined(_MSC_VER) +#ifndef __GCCXML__ +#if defined(and) +# pragma push_macro("and") +# undef and +# define and(x) +#endif +#endif +#endif + +# define BOOST_MPL_PREPROCESSED_HEADER and.hpp +# include + +#if defined(_MSC_VER) +#ifndef __GCCXML__ +#if defined(and) +# pragma pop_macro("and") +#endif +#endif +#endif + +#else + +# define AUX778076_OP_NAME and_ +# define AUX778076_OP_VALUE1 false +# define AUX778076_OP_VALUE2 true +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply.hpp new file mode 100644 index 0000000..600bdd7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply.hpp @@ -0,0 +1,229 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_APPLY_HPP_INCLUDED +#define BOOST_MPL_APPLY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER apply.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header +# define AUX778076_APPLY_PARAMS(param) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + ) \ + /**/ + +# define AUX778076_APPLY_DEF_PARAMS(param, value) \ + BOOST_MPL_PP_DEFAULT_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + , value \ + ) \ + /**/ + +# define AUX778076_APPLY_N_PARAMS(n, param) \ + BOOST_MPL_PP_PARAMS(n, param) \ + /**/ + +# define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_MPL_PP_PARAMS(n, param) \ + /**/ + +# define AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(n, param, def) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \ + /**/ + +# define AUX778076_APPLY_N_SPEC_PARAMS(n, param) \ + BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \ + /**/ + + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +# if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) +// real C++ version is already taken care of +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +namespace aux { +// apply_count_args +#define AUX778076_COUNT_ARGS_PREFIX apply +#define AUX778076_COUNT_ARGS_DEFAULT na +#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY +#include +} + + +template< + typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na) + > +struct apply + : aux::apply_chooser< + aux::apply_count_args< AUX778076_APPLY_PARAMS(T) >::value + >::template result_< F, AUX778076_APPLY_PARAMS(T) >::type +{ +}; + +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE + +# undef AUX778076_APPLY_N_SPEC_PARAMS +# undef AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS +# undef AUX778076_APPLY_N_COMMA_PARAMS +# undef AUX778076_APPLY_N_PARAMS +# undef AUX778076_APPLY_DEF_PARAMS +# undef AUX778076_APPLY_PARAMS + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_APPLY_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 + +# define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply,i_) +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) + : BOOST_PP_CAT(apply_wrap,i_)< + typename lambda::type + AUX778076_APPLY_N_COMMA_PARAMS(i_, T) + > +{ +#else +{ + typedef typename BOOST_PP_CAT(apply_wrap,i_)< + typename lambda::type + AUX778076_APPLY_N_COMMA_PARAMS(i_, T) + >::type type; +#endif + BOOST_MPL_AUX_LAMBDA_SUPPORT( + BOOST_PP_INC(i_) + , BOOST_PP_CAT(apply,i_) + , (F AUX778076_APPLY_N_COMMA_PARAMS(i_,T)) + ) +}; + + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +/// workaround for ETI bug +template<> +struct BOOST_PP_CAT(apply,i_) +{ + typedef int type; +}; +#endif + +# if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY +/// primary template (not a specialization!) +template< + typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) + > +struct apply + : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) > +{ +}; +#else +template< + typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) + > +struct apply< F AUX778076_APPLY_N_PARTIAL_SPEC_PARAMS(i_, T, na) > + : BOOST_PP_CAT(apply,i_)< F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) > +{ +}; +#endif + +# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +#if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) +namespace aux { + +template<> +struct apply_chooser +{ + template< + typename F, AUX778076_APPLY_PARAMS(typename T) + > + struct result_ + { + typedef BOOST_PP_CAT(apply,i_)< + F AUX778076_APPLY_N_COMMA_PARAMS(i_, T) + > type; + }; +}; + +} // namespace aux +#endif + +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE + +# undef i_ + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_fwd.hpp new file mode 100644 index 0000000..4b30c9a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_fwd.hpp @@ -0,0 +1,107 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED +#define BOOST_MPL_APPLY_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: apply_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 apply_fwd.hpp +# include + +#else + +# include +# include +# include +# include +# include + +# include +# include +# include + +// agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC +// (for known reasons) +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# define BOOST_MPL_CFG_NO_APPLY_TEMPLATE +#endif + +namespace boost { namespace mpl { + +// local macro, #undef-ined at the end of the header +# define AUX778076_APPLY_DEF_PARAMS(param, value) \ + BOOST_MPL_PP_DEFAULT_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + , value \ + ) \ + /**/ + +# define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_MPL_PP_PARAMS(n, param) \ + /**/ + +# if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE) + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +// forward declaration +template< + typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na) + > +struct apply; +#else +namespace aux { +template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser; +} +#endif + +# endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + + +# undef AUX778076_APPLY_N_COMMA_PARAMS +# undef AUX778076_APPLY_DEF_PARAMS + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply,i_); + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_wrap.hpp new file mode 100644 index 0000000..6afd6cd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/apply_wrap.hpp @@ -0,0 +1,234 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_APPLY_WRAP_HPP_INCLUDED +#define BOOST_MPL_APPLY_WRAP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: apply_wrap.hpp 49272 2008-10-11 06:50:46Z agurtovoy $ +// $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49272 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER apply_wrap.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header +# define AUX778076_APPLY_WRAP_PARAMS(n, param) \ + BOOST_MPL_PP_PARAMS(n, param) \ + /**/ + +# define AUX778076_APPLY_WRAP_SPEC_PARAMS(n, param) \ + BOOST_MPL_PP_ENUM(BOOST_PP_INC(n), param) \ + /**/ + + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + + +# undef AUX778076_APPLY_WRAP_SPEC_PARAMS +# undef AUX778076_APPLY_WRAP_PARAMS + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_APPLY_WRAP_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 + +# define i_ BOOST_PP_FRAME_ITERATION(1) + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +// MSVC version + +#define AUX778076_MSVC_DTW_NAME BOOST_PP_CAT(msvc_apply,i_) +#define AUX778076_MSVC_DTW_ORIGINAL_NAME apply +#define AUX778076_MSVC_DTW_ARITY i_ +#include + +template< + typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply_wrap,i_) +{ + // Metafunction forwarding confuses vc6 + typedef typename BOOST_PP_CAT(msvc_apply,i_)::template result_< + AUX778076_APPLY_WRAP_PARAMS(i_, T) + >::type type; +}; + +# elif defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +// MWCW/Borland version + +template< + int N, typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply_wrap_impl,i_); + +#define BOOST_PP_ITERATION_PARAMS_2 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY - i_, )) +#include BOOST_PP_ITERATE() + +template< + typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply_wrap,i_) + : BOOST_PP_CAT(apply_wrap_impl,i_)< + ::boost::mpl::aux::arity::value + , F + BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) + >::type +{ +}; + +# else +// ISO98 C++, with minor concession to vc7 + +template< + typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) +#if i_ == 0 + , typename has_apply_ = typename aux::has_apply::type +#endif + > +struct BOOST_PP_CAT(apply_wrap,i_) +// metafunction forwarding confuses MSVC 7.0 +#if !BOOST_WORKAROUND(BOOST_MSVC, == 1300) + : F::template apply< AUX778076_APPLY_WRAP_PARAMS(i_, T) > +{ +#else +{ + typedef typename F::template apply< + AUX778076_APPLY_WRAP_PARAMS(i_, T) + >::type type; +#endif +}; + +#if i_ == 0 && !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +template< typename F > +struct BOOST_PP_CAT(apply_wrap,i_) + : F::apply +{ +}; +#endif + +# endif // workarounds + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +/// workaround for ETI bug +template<> +struct BOOST_PP_CAT(apply_wrap,i_) +{ + typedef int type; +}; +#endif + +# undef i_ + +///// iteration, depth == 2 + +#elif BOOST_PP_ITERATION_DEPTH() == 2 + +# define j_ BOOST_PP_FRAME_ITERATION(2) + +#if i_ == 0 && j_ == 0 \ + && defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \ + && !defined(BOOST_MPL_CFG_NO_HAS_APPLY) + +template< typename F, bool F_has_apply > +struct apply_wrap_impl0_bcb { + typedef typename F::template apply< na > type; +}; + +template< typename F > +struct apply_wrap_impl0_bcb< F, true > { + typedef typename F::apply type; +}; + +template< + typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply_wrap_impl,i_)< + BOOST_MPL_PP_ADD(i_, j_) + , F + BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) + > +{ + typedef apply_wrap_impl0_bcb< F, aux::has_apply< F >::value >::type type; +}; +#else + +template< + typename F BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(apply_wrap_impl,i_)< + BOOST_MPL_PP_ADD(i_, j_) + , F + BOOST_PP_COMMA_IF(i_) AUX778076_APPLY_WRAP_PARAMS(i_, T) + > +{ + typedef typename F::template apply< + AUX778076_APPLY_WRAP_PARAMS(i_, T) +#if i_ == 0 && j_ == 0 +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na +#else + BOOST_PP_COMMA_IF(BOOST_PP_AND(i_, j_)) BOOST_MPL_PP_ENUM(j_, na) +#endif + > type; +}; + +#endif + +# undef j_ + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg.hpp new file mode 100644 index 0000000..79b8a43 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg.hpp @@ -0,0 +1,131 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_ARG_HPP_INCLUDED +#define BOOST_MPL_ARG_HPP_INCLUDED + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +#endif + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER arg.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include + +# include +# include +# include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +// local macro, #undef-ined at the end of the header +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \ + BOOST_MPL_PP_DEFAULT_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + , value \ + ) \ + /**/ +#else +# define AUX778076_ARG_N_DEFAULT_PARAMS(param,value) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + ) \ + /**/ +#endif + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + + +# undef AUX778076_ARG_N_DEFAULT_PARAMS + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int,arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_ARG_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +#if i_ > 0 + +template<> struct arg +{ + BOOST_STATIC_CONSTANT(int, value = i_); + typedef arg next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na) + > + struct apply + { + typedef BOOST_PP_CAT(U,i_) type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +#else + +template<> struct arg<-1> +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + AUX778076_ARG_N_DEFAULT_PARAMS(typename U, na) + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +#endif // i_ > 0 + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg_fwd.hpp new file mode 100644 index 0000000..8fae048 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arg_fwd.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_ARG_FWD_HPP_INCLUDED +#define BOOST_MPL_ARG_FWD_HPP_INCLUDED + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arg_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arg; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(arg) + +#endif // BOOST_MPL_ARG_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arithmetic.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arithmetic.hpp new file mode 100644 index 0000000..835b6d8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/arithmetic.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_ARITHMETIC_HPP_INCLUDED +#define BOOST_MPL_ARITHMETIC_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: arithmetic.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include // deprecated + +#endif // BOOST_MPL_ARITHMETIC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/as_sequence.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/as_sequence.hpp new file mode 100644 index 0000000..04856a0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/as_sequence.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED +#define BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: as_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct as_sequence + : if_< is_sequence, T, single_view > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,as_sequence,(T)) +}; + +BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, as_sequence) + +}} + +#endif // BOOST_MPL_AS_SEQUENCE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/assert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/assert.hpp new file mode 100644 index 0000000..a20b232 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/assert.hpp @@ -0,0 +1,370 @@ + +#ifndef BOOST_MPL_ASSERT_HPP_INCLUDED +#define BOOST_MPL_ASSERT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include // make sure 'size_t' is placed into 'std' +#include + + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || (BOOST_MPL_CFG_GCC != 0) \ + || BOOST_WORKAROUND(__IBMCPP__, <= 600) +# define BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES +#endif + +#if BOOST_WORKAROUND(__MWERKS__, < 0x3202) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER +#endif + +// agurt, 10/nov/06: use enums for Borland (which cannot cope with static constants) +// and GCC (which issues "unused variable" warnings when static constants are used +// at a function scope) +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || (BOOST_MPL_CFG_GCC != 0) +# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr } +#else +# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) BOOST_STATIC_CONSTANT(T, expr) +#endif + + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +struct failed {}; + +// agurt, 24/aug/04: MSVC 7.1 workaround here and below: return/accept +// 'assert' by reference; can't apply it unconditionally -- apparently it +// degrades the quality of GCC diagnostics +#if BOOST_WORKAROUND(BOOST_MSVC, == 1310) +# define AUX778076_ASSERT_ARG(x) x& +#else +# define AUX778076_ASSERT_ARG(x) x +#endif + +template< bool C > struct assert { typedef void* type; }; +template<> struct assert { typedef AUX778076_ASSERT_ARG(assert) type; }; + +template< bool C > +int assertion_failed( typename assert::type ); + +template< bool C > +struct assertion +{ + static int failed( assert ); +}; + +template<> +struct assertion +{ + static int failed( void* ); +}; + +struct assert_ +{ +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) + template< typename T1, typename T2 = na, typename T3 = na, typename T4 = na > struct types {}; +#endif + static assert_ const arg; + enum relations { equal = 1, not_equal, greater, greater_equal, less, less_equal }; +}; + + +#if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) + +bool operator==( failed, failed ); +bool operator!=( failed, failed ); +bool operator>( failed, failed ); +bool operator>=( failed, failed ); +bool operator<( failed, failed ); +bool operator<=( failed, failed ); + +#if defined(__EDG_VERSION__) +template< bool (*)(failed, failed), long x, long y > struct assert_relation {}; +# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation +#else +template< BOOST_MPL_AUX_NTTP_DECL(long, x), BOOST_MPL_AUX_NTTP_DECL(long, y), bool (*)(failed, failed) > +struct assert_relation {}; +# define BOOST_MPL_AUX_ASSERT_RELATION(x, y, r) assert_relation +#endif + +#else // BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES + +boost::mpl::aux::weighted_tag<1>::type operator==( assert_, assert_ ); +boost::mpl::aux::weighted_tag<2>::type operator!=( assert_, assert_ ); +boost::mpl::aux::weighted_tag<3>::type operator>( assert_, assert_ ); +boost::mpl::aux::weighted_tag<4>::type operator>=( assert_, assert_ ); +boost::mpl::aux::weighted_tag<5>::type operator<( assert_, assert_ ); +boost::mpl::aux::weighted_tag<6>::type operator<=( assert_, assert_ ); + +template< assert_::relations r, long x, long y > struct assert_relation {}; + +#endif + + +#if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) + +template< bool > struct assert_arg_pred_impl { typedef int type; }; +template<> struct assert_arg_pred_impl { typedef void* type; }; + +template< typename P > struct assert_arg_pred +{ + typedef typename P::type p_type; + typedef typename assert_arg_pred_impl< p_type::value >::type type; +}; + +template< typename P > struct assert_arg_pred_not +{ + typedef typename P::type p_type; + BOOST_MPL_AUX_ASSERT_CONSTANT( bool, p = !p_type::value ); + typedef typename assert_arg_pred_impl

    ::type type; +}; + +template< typename Pred > +failed ************ (Pred::************ + assert_arg( void (*)(Pred), typename assert_arg_pred::type ) + ); + +template< typename Pred > +failed ************ (boost::mpl::not_::************ + assert_not_arg( void (*)(Pred), typename assert_arg_pred_not::type ) + ); + +template< typename Pred > +AUX778076_ASSERT_ARG(assert) +assert_arg( void (*)(Pred), typename assert_arg_pred_not::type ); + +template< typename Pred > +AUX778076_ASSERT_ARG(assert) +assert_not_arg( void (*)(Pred), typename assert_arg_pred::type ); + + +#else // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER + +template< bool c, typename Pred > struct assert_arg_type_impl +{ + typedef failed ************ Pred::* mwcw83_wknd; + typedef mwcw83_wknd ************* type; +}; + +template< typename Pred > struct assert_arg_type_impl +{ + typedef AUX778076_ASSERT_ARG(assert) type; +}; + +template< typename Pred > struct assert_arg_type + : assert_arg_type_impl< BOOST_MPL_AUX_VALUE_WKND(BOOST_MPL_AUX_NESTED_TYPE_WKND(Pred))::value, Pred > +{ +}; + +template< typename Pred > +typename assert_arg_type::type +assert_arg(void (*)(Pred), int); + +template< typename Pred > +typename assert_arg_type< boost::mpl::not_ >::type +assert_not_arg(void (*)(Pred), int); + +# if !defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) +template< long x, long y, bool (*r)(failed, failed) > +typename assert_arg_type_impl< false,BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) >::type +assert_rel_arg( BOOST_MPL_AUX_ASSERT_RELATION(x,y,r) ); +# else +template< assert_::relations r, long x, long y > +typename assert_arg_type_impl< false,assert_relation >::type +assert_rel_arg( assert_relation ); +# endif + +#endif // BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER + +#undef AUX778076_ASSERT_ARG + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + + +// BOOST_MPL_ASSERT((pred)) + +#define BOOST_MPL_ASSERT(pred) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::assert_arg( (void (*) pred)0, 1 ) \ + ) \ + ) \ + ) \ +/**/ + +// BOOST_MPL_ASSERT_NOT((pred)) + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_MPL_ASSERT_NOT(pred) \ +enum { \ + BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion::failed( \ + boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \ + ) \ + ) \ +}\ +/**/ +#else +# define BOOST_MPL_ASSERT_NOT(pred) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::assert_not_arg( (void (*) pred)0, 1 ) \ + ) \ + ) \ + ) \ +/**/ +#endif + +// BOOST_MPL_ASSERT_RELATION(x, ==|!=|<=|<|>=|>, y) + +#if defined(BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES) + +# if !defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) +// agurt, 9/nov/06: 'enum' below is a workaround for gcc 4.0.4/4.1.1 bugs #29522 and #29518 +# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \ +enum { BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) }; \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion_failed( \ + (boost::mpl::failed ************ ( boost::mpl::assert_relation< \ + boost::mpl::assert_::relations( sizeof( \ + boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ + ) ) \ + , x \ + , y \ + >::************)) 0 ) \ + ) \ + ) \ +/**/ +# else +# define BOOST_MPL_ASSERT_RELATION_IMPL(counter, x, rel, y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assert_rel,counter) = sizeof( \ + boost::mpl::assert_::arg rel boost::mpl::assert_::arg \ + ) \ + ); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( bool, BOOST_PP_CAT(mpl_assert_rel_value,counter) = (x rel y) ); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion_failed( \ + boost::mpl::assert_rel_arg( boost::mpl::assert_relation< \ + boost::mpl::assert_::relations(BOOST_PP_CAT(mpl_assert_rel,counter)) \ + , x \ + , y \ + >() ) \ + ) \ + ) \ + ) \ +/**/ +# endif + +# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ +BOOST_MPL_ASSERT_RELATION_IMPL(BOOST_MPL_AUX_PP_COUNTER(), x, rel, y) \ +/**/ + +#else // !BOOST_MPL_CFG_ASSERT_USE_RELATION_NAMES + +# if defined(BOOST_MPL_CFG_ASSERT_BROKEN_POINTER_TO_POINTER_TO_MEMBER) +# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed<(x rel y)>( boost::mpl::assert_rel_arg( \ + boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))() \ + ) ) \ + ) \ + ) \ +/**/ +# else +# define BOOST_MPL_ASSERT_RELATION(x, rel, y) \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,BOOST_MPL_AUX_PP_COUNTER()) = sizeof( \ + boost::mpl::assertion_failed<(x rel y)>( (boost::mpl::failed ************ ( \ + boost::mpl::BOOST_MPL_AUX_ASSERT_RELATION(x,y,(&boost::mpl::operator rel))::************))0 ) \ + ) \ + ) \ +/**/ +# endif + +#endif + + +// BOOST_MPL_ASSERT_MSG( (pred::value), USER_PROVIDED_MESSAGE, (types) ) + +#if BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) +# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \ +struct msg; \ +typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \ +{ \ + using boost::mpl::assert_::types; \ + static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ + { return 0; } \ +} BOOST_PP_CAT(mpl_assert_arg,counter); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion<(c)>::failed( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \ + ) \ + ) \ +/**/ +#else +# define BOOST_MPL_ASSERT_MSG_IMPL( counter, c, msg, types_ ) \ +struct msg; \ +typedef struct BOOST_PP_CAT(msg,counter) : boost::mpl::assert_ \ +{ \ + static boost::mpl::failed ************ (msg::************ assert_arg()) types_ \ + { return 0; } \ +} BOOST_PP_CAT(mpl_assert_arg,counter); \ +BOOST_MPL_AUX_ASSERT_CONSTANT( \ + std::size_t \ + , BOOST_PP_CAT(mpl_assertion_in_line_,counter) = sizeof( \ + boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \ + ) \ + ) \ +/**/ +#endif + +#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \ +BOOST_MPL_ASSERT_MSG_IMPL( BOOST_MPL_AUX_PP_COUNTER(), c, msg, types_ ) \ +/**/ + +#endif // BOOST_MPL_ASSERT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at.hpp new file mode 100644 index 0000000..a371439 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_AT_HPP_INCLUDED +#define BOOST_MPL_AT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at_fwd.hpp new file mode 100644 index 0000000..325293b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/at_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_AT_FWD_HPP_INCLUDED +#define BOOST_MPL_AT_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: at_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct at_impl; +template< typename Sequence, typename N > struct at; + +}} + +#endif // BOOST_MPL_AT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/O1_size_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/O1_size_impl.hpp new file mode 100644 index 0000000..28b5f66 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/O1_size_impl.hpp @@ -0,0 +1,87 @@ + +#ifndef BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED +#define BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: O1_size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation - returns 'Sequence::size' if sequence has a 'size' +// member, and -1 otherwise; conrete sequences might override it by +// specializing either the 'O1_size_impl' or the primary 'O1_size' template + +# if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) \ + && !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) + +namespace aux { +template< typename Sequence > struct O1_size_impl + : Sequence::size +{ +}; +} + +template< typename Tag > +struct O1_size_impl +{ + template< typename Sequence > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : if_< + aux::has_size + , aux::O1_size_impl + , long_<-1> + >::type + { +#else + { + typedef typename if_< + aux::has_size + , aux::O1_size_impl + , long_<-1> + >::type type; + + BOOST_STATIC_CONSTANT(long, value = + (if_< + aux::has_size + , aux::O1_size_impl + , long_<-1> + >::type::value) + ); +#endif + }; +}; + +# else // BOOST_MSVC + +template< typename Tag > +struct O1_size_impl +{ + template< typename Sequence > struct apply + : long_<-1> + { + }; +}; + +# endif + +}} + +#endif // BOOST_MPL_O1_SIZE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/adl_barrier.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/adl_barrier.hpp new file mode 100644 index 0000000..eaf32e6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/adl_barrier.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED +#define BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: adl_barrier.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) + +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE mpl_ +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace mpl_ { +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE } +# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) \ + namespace boost { namespace mpl { \ + using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ + } } \ +/**/ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE { namespace aux {} } +namespace boost { namespace mpl { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE; +namespace aux { using namespace BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux; } +}} +#endif + +#else // BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE + +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE boost::mpl +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN namespace boost { namespace mpl { +# define BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE }} +# define BOOST_MPL_AUX_ADL_BARRIER_DECL(type) /**/ + +#endif + +#endif // BOOST_MPL_AUX_ADL_BARRIER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_backward.hpp new file mode 100644 index 0000000..cebf5a7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_backward.hpp @@ -0,0 +1,128 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED +#define BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: advance_backward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 advance_backward.hpp +# include + +#else + +# include +# include +# include + +# include +# include +# include + +namespace boost { namespace mpl { namespace aux { + +// forward declaration +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_backward; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - BOOST_MPL_LIMIT_UNROLLING) < 0 + ? 0 + : N - BOOST_MPL_LIMIT_UNROLLING + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX778076_ADVANCE_BACKWARD_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template<> +struct advance_backward< BOOST_PP_FRAME_ITERATION(1) > +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + +#if i_ > 0 +# define BOOST_PP_ITERATION_PARAMS_2 \ + (3,(1, BOOST_PP_FRAME_ITERATION(1), )) +# include BOOST_PP_ITERATE() +#endif + + typedef BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(1)) type; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct apply + { + typedef int type; + }; +#endif +}; + +#undef i_ + +///// iteration, depth == 2 + +#elif BOOST_PP_ITERATION_DEPTH() == 2 + +# define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2))) +# define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2)) + + typedef typename prior::type AUX778076_ITER_1; + +# undef AUX778076_ITER_1 +# undef AUX778076_ITER_0 + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_forward.hpp new file mode 100644 index 0000000..58b2a76 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/advance_forward.hpp @@ -0,0 +1,127 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED +#define BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: advance_forward.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 advance_forward.hpp +# include + +#else + +# include +# include +# include + +# include +# include +# include + +namespace boost { namespace mpl { namespace aux { + +// forward declaration +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct advance_forward; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - BOOST_MPL_LIMIT_UNROLLING) < 0 + ? 0 + : N - BOOST_MPL_LIMIT_UNROLLING + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_ADVANCE_FORWARD_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template<> +struct advance_forward< BOOST_PP_FRAME_ITERATION(1) > +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + +#if i_ > 0 +# define BOOST_PP_ITERATION_PARAMS_2 \ + (3,(1, i_, )) +# include BOOST_PP_ITERATE() +#endif + typedef BOOST_PP_CAT(iter,i_) type; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct apply + { + typedef int type; + }; +#endif +}; + +#undef i_ + +///// iteration, depth == 2 + +#elif BOOST_PP_ITERATION_DEPTH() == 2 + +# define AUX778076_ITER_0 BOOST_PP_CAT(iter,BOOST_PP_DEC(BOOST_PP_FRAME_ITERATION(2))) +# define AUX778076_ITER_1 BOOST_PP_CAT(iter,BOOST_PP_FRAME_ITERATION(2)) + + typedef typename next::type AUX778076_ITER_1; + +# undef AUX778076_ITER_1 +# undef AUX778076_ITER_0 + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/apply_1st.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/apply_1st.hpp new file mode 100644 index 0000000..9aae2cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/apply_1st.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED +#define BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: apply_1st.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { + +struct apply_1st +{ + template< typename Pair, typename T > struct apply + : apply2< + typename Pair::first + , typename Pair::second + , T + > + { + }; +}; + +}}} + +#endif // BOOST_MPL_AUX_APPLY_1ST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arg_typedef.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arg_typedef.hpp new file mode 100644 index 0000000..cd460af --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arg_typedef.hpp @@ -0,0 +1,31 @@ + +#ifndef BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED +#define BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arg_typedef.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + +# define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) typedef T name; + +#else + +# define BOOST_MPL_AUX_ARG_TYPEDEF(T, name) /**/ + +#endif + +#endif // BOOST_MPL_AUX_ARG_TYPEDEF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arithmetic_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arithmetic_op.hpp new file mode 100644 index 0000000..b7cf52f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arithmetic_op.hpp @@ -0,0 +1,92 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arithmetic_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +#endif + +#if !defined(AUX778076_OP_PREFIX) +# define AUX778076_OP_PREFIX AUX778076_OP_NAME +#endif + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp +# include + +#else + +# include +# include + + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) +namespace aux { +template< typename T, T n1, T n2 > +struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd) +{ + BOOST_STATIC_CONSTANT(T, value = (n1 AUX778076_OP_TOKEN n2)); + typedef integral_c type; +}; +} +#endif + +template<> +struct AUX778076_OP_IMPL_NAME +{ + template< typename N1, typename N2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > +#else + : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type +#endif + { + }; +}; + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +#undef AUX778076_OP_TAG_NAME +#undef AUX778076_OP_IMPL_NAME +#undef AUX778076_OP_ARITY +#undef AUX778076_OP_PREFIX +#undef AUX778076_OP_NAME +#undef AUX778076_OP_TOKEN diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity.hpp new file mode 100644 index 0000000..5a284a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED +#define BOOST_MPL_AUX_ARITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) + +# include +# include + +namespace boost { namespace mpl { namespace aux { + +// agurt, 15/mar/02: it's possible to implement the template so that it will +// "just work" and do not require any specialization, but not on the compilers +// that require the arity workaround in the first place +template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct arity +{ + BOOST_STATIC_CONSTANT(int, value = N); +}; + +}}} + +#endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES + +#endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity_spec.hpp new file mode 100644 index 0000000..4853629 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/arity_spec.hpp @@ -0,0 +1,67 @@ + +#ifndef BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED +#define BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arity_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) \ +namespace aux { \ +template< BOOST_MPL_AUX_NTTP_DECL(int, N), BOOST_MPL_PP_PARAMS(i,type T) > \ +struct arity< \ + name< BOOST_MPL_PP_PARAMS(i,T) > \ + , N \ + > \ +{ \ + BOOST_STATIC_CONSTANT(int \ + , value = BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + ); \ +}; \ +} \ +/**/ +#else +# define BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,type,name) /**/ +#endif + +# define BOOST_MPL_AUX_ARITY_SPEC(i,name) \ + BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(i,typename,name) \ +/**/ + + +#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ + && !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) \ +namespace aux { \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +struct template_arity< name > \ + : int_ \ +{ \ +}; \ +} \ +/**/ +#else +# define BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/ +#endif + + +#endif // BOOST_MPL_AUX_ARITY_SPEC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/at_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/at_impl.hpp new file mode 100644 index 0000000..cf97107 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/at_impl.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_AT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/back_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/back_impl.hpp new file mode 100644 index 0000000..066d5dc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/back_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_BACK_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: back_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation, requires at least bi-directional iterators; +// conrete sequences might override it by specializing either the +// 'back_impl' or the primary 'back' template + +template< typename Tag > +struct back_impl +{ + template< typename Sequence > struct apply + { + typedef typename end::type end_; + typedef typename prior::type last_; + typedef typename deref::type type; + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, back_impl) + +}} + +#endif // BOOST_MPL_AUX_BACK_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/basic_bind.hpp new file mode 100644 index 0000000..44307ed --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/basic_bind.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED +#define BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: basic_bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT +#include + +#endif // BOOST_MPL_AUX_BASIC_BIND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/begin_end_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/begin_end_impl.hpp new file mode 100644 index 0000000..638312b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/begin_end_impl.hpp @@ -0,0 +1,101 @@ + +#ifndef BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + + +namespace aux { + +template< typename Sequence > +struct begin_type +{ + typedef typename Sequence::begin type; +}; +template< typename Sequence > +struct end_type +{ + typedef typename Sequence::end type; +}; + +} + +// default implementation; conrete sequences might override it by +// specializing either the 'begin_impl/end_impl' or the primary +// 'begin/end' templates + +template< typename Tag > +struct begin_impl +{ + template< typename Sequence > struct apply + { + typedef typename eval_if, + aux::begin_type, void_>::type type; + }; +}; + +template< typename Tag > +struct end_impl +{ + template< typename Sequence > struct apply + { + typedef typename eval_if, + aux::end_type, void_>::type type; + }; +}; + +// specialize 'begin_trait/end_trait' for two pre-defined tags + +# define AUX778076_IMPL_SPEC(name, tag, result) \ +template<> \ +struct name##_impl \ +{ \ + template< typename Sequence > struct apply \ + { \ + typedef result type; \ + }; \ +}; \ +/**/ + +// a sequence with nested 'begin/end' typedefs; just query them +AUX778076_IMPL_SPEC(begin, nested_begin_end_tag, typename Sequence::begin) +AUX778076_IMPL_SPEC(end, nested_begin_end_tag, typename Sequence::end) + +// if a type 'T' does not contain 'begin/end' or 'tag' members +// and doesn't specialize either 'begin/end' or 'begin_impl/end_impl' +// templates, then we end up here +AUX778076_IMPL_SPEC(begin, non_sequence_tag, void_) +AUX778076_IMPL_SPEC(end, non_sequence_tag, void_) +AUX778076_IMPL_SPEC(begin, na, void_) +AUX778076_IMPL_SPEC(end, na, void_) + +# undef AUX778076_IMPL_SPEC + + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,begin_impl) +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(1,end_impl) + +}} + +#endif // BOOST_MPL_AUX_BEGIN_END_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/clear_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/clear_impl.hpp new file mode 100644 index 0000000..e523d10 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/clear_impl.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +// no default implementation; the definition is needed to make MSVC happy + +template< typename Tag > +struct clear_impl +{ + template< typename Sequence > struct apply; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, clear_impl) + +}} + +#endif // BOOST_MPL_AUX_CLEAR_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/common_name_wknd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/common_name_wknd.hpp new file mode 100644 index 0000000..f19c4b8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/common_name_wknd.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED +#define BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: common_name_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if BOOST_WORKAROUND(__BORLANDC__, < 0x561) +// agurt, 12/nov/02: to suppress the bogus "Cannot have both a template class +// and function named 'xxx'" diagnostic +# define BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ +namespace name_##wknd { \ +template< typename > void name(); \ +} \ +/**/ + +#else + +# define BOOST_MPL_AUX_COMMON_NAME_WKND(name) /**/ + +#endif // __BORLANDC__ + +#endif // BOOST_MPL_AUX_COMMON_NAME_WKND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/comparison_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/comparison_op.hpp new file mode 100644 index 0000000..11c0684 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/comparison_op.hpp @@ -0,0 +1,83 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: comparison_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +#endif + +#if !defined(AUX778076_OP_PREFIX) +# define AUX778076_OP_PREFIX AUX778076_OP_NAME +#endif + +#define AUX778076_OP_ARITY 2 + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp +# include + +#else + +# include +# include + +namespace boost { namespace mpl { + +// MSVC workaround: implement less in terms of greater +#if 0 AUX778076_OP_TOKEN 1 && !(1 AUX778076_OP_TOKEN 0) && !(0 AUX778076_OP_TOKEN 0) +# define AUX778076_OP(N1, N2) \ + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) \ +/**/ +#else +# define AUX778076_OP(N1, N2) \ + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value \ + AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(N2)::value \ + ) \ +/**/ +#endif + +template<> +struct AUX778076_OP_IMPL_NAME +{ + template< typename N1, typename N2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) + : bool_< AUX778076_OP(N1, N2) > + { +#else + { + BOOST_STATIC_CONSTANT(bool, value = AUX778076_OP(N1, N2)); + typedef bool_ type; +#endif + }; +}; + +#undef AUX778076_OP + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +#undef AUX778076_OP_TAG_NAME +#undef AUX778076_OP_IMPL_NAME +#undef AUX778076_OP_ARITY +#undef AUX778076_OP_PREFIX +#undef AUX778076_OP_NAME +#undef AUX778076_OP_TOKEN diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/adl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/adl.hpp new file mode 100644 index 0000000..86631be --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/adl.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: adl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +// agurt, 25/apr/04: technically, the ADL workaround is only needed for GCC, +// but putting everything expect public, user-specializable metafunctions into +// a separate global namespace has a nice side effect of reducing the length +// of template instantiation symbols, so we apply the workaround on all +// platforms that can handle it + +#if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + || BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, BOOST_TESTED_AT(810)) \ + ) + +# define BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ADL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/arrays.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/arrays.hpp new file mode 100644 index 0000000..45ca4ea --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/arrays.hpp @@ -0,0 +1,30 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arrays.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + ) + +# define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bcc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bcc.hpp new file mode 100644 index 0000000..9f09902 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bcc.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bcc.hpp 49272 2008-10-11 06:50:46Z agurtovoy $ +// $Date: 2004-09-02 10:41:37 -0500 (Thu, 02 Sep 2004) $ +// $Revision: 24874 $ + +#include + +#if !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(__BORLANDC__, >= 0x590) \ + && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) + +# define BOOST_MPL_CFG_BCC590_WORKAROUNDS + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_BCC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bind.hpp new file mode 100644 index 0000000..6dbd595 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/bind.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED + +// Copyright David Abrahams 2002 +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + ) + +# define BOOST_MPL_CFG_NO_BIND_TEMPLATE + +#endif + +//#define BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT + +#endif // BOOST_MPL_AUX_CONFIG_BIND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/compiler.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/compiler.hpp new file mode 100644 index 0000000..7f55b1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/compiler.hpp @@ -0,0 +1,66 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: compiler.hpp 53189 2009-05-22 20:07:55Z hkaiser $ +// $Date: 2009-05-22 16:07:55 -0400 (Fri, 22 May 2009) $ +// $Revision: 53189 $ + +#if !defined(BOOST_MPL_CFG_COMPILER_DIR) + +# include +# include +# include +# include +# include +# include + +# if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# define BOOST_MPL_CFG_COMPILER_DIR msvc60 + +# elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) +# define BOOST_MPL_CFG_COMPILER_DIR msvc70 + +# elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) +# define BOOST_MPL_CFG_COMPILER_DIR gcc + +# elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) +# if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_CFG_COMPILER_DIR bcc551 +# elif BOOST_WORKAROUND(__BORLANDC__, >= 0x590) +# define BOOST_MPL_CFG_COMPILER_DIR bcc +# else +# define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590 +# endif + +# elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_MPL_CFG_COMPILER_DIR dmc + +# elif defined(__MWERKS__) +# if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_CFG_COMPILER_DIR mwcw +# else +# define BOOST_MPL_CFG_COMPILER_DIR plain +# endif + +# elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# define BOOST_MPL_CFG_COMPILER_DIR no_ctps + +# elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) +# define BOOST_MPL_CFG_COMPILER_DIR no_ttp + +# else +# define BOOST_MPL_CFG_COMPILER_DIR plain +# endif + +#endif // BOOST_MPL_CFG_COMPILER_DIR + +#endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ctps.hpp new file mode 100644 index 0000000..be7e680 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ctps.hpp @@ -0,0 +1,30 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(__BORLANDC__, < 0x582) + +# define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC + +#endif + +// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in + +#endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dependent_nttp.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dependent_nttp.hpp new file mode 100644 index 0000000..676ead1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dependent_nttp.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: dependent_nttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +// GCC and EDG-based compilers incorrectly reject the following code: +// template< typename T, T n > struct a; +// template< typename T > struct b; +// template< typename T, T n > struct b< a > {}; + +#if !defined(BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(300)) \ + || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ + ) + +# define BOOST_MPL_CFG_NO_DEPENDENT_NONTYPE_PARAMETER_IN_PARTIAL_SPEC + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_DEPENDENT_NTTP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp new file mode 100644 index 0000000..d24f70f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: dmc_ambiguous_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + +# define BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_DMC_AMBIGUOUS_CTPS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dtp.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dtp.hpp new file mode 100644 index 0000000..1fcd513 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/dtp.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: dtp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +// MWCW 7.x-8.0 "losts" default template parameters of nested class +// templates when their owner classes are passed as arguments to other +// templates; Borland 5.5.1 "forgets" them from the very beginning (if +// the owner class is a class template), and Borland 5.6 isn't even +// able to compile a definition of nested class template with DTP + +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(__BORLANDC__, >= 0x560) \ + && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) + +# define BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES + +#endif + + +#if !defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3001) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) \ + ) + +# define BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_DTP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/eti.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/eti.hpp new file mode 100644 index 0000000..4b20d14 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/eti.hpp @@ -0,0 +1,47 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: eti.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +// flags for MSVC 6.5's so-called "early template instantiation bug" +#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_MSVC, < 1300) + +# define BOOST_MPL_CFG_MSVC_60_ETI_BUG + +#endif + +#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_MSVC, == 1300) + +# define BOOST_MPL_CFG_MSVC_70_ETI_BUG + +#endif + +#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \ + || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \ + ) + +# define BOOST_MPL_CFG_MSVC_ETI_BUG + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/forwarding.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/forwarding.hpp new file mode 100644 index 0000000..c9b6242 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/forwarding.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: forwarding.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) + +# define BOOST_MPL_CFG_NO_NESTED_FORWARDING + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_FORWARDING_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/gcc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/gcc.hpp new file mode 100644 index 0000000..a564b2a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/gcc.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: gcc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if defined(__GNUC__) && !defined(__EDG_VERSION__) +# define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__) +#else +# define BOOST_MPL_CFG_GCC 0 +#endif + +#endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_apply.hpp new file mode 100644 index 0000000..7f8f526 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_apply.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) \ + && ( defined(BOOST_MPL_CFG_NO_HAS_XXX) \ + || BOOST_WORKAROUND(__EDG_VERSION__, < 300) \ + || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3202)) \ + ) + +# define BOOST_MPL_CFG_NO_HAS_APPLY + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_HAS_APPLY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_xxx.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_xxx.hpp new file mode 100644 index 0000000..4193b0e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/has_xxx.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// Copyright David Abrahams 2002-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_xxx.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +// agurt, 11/jan/03: signals a stub-only 'has_xxx' implementation + +#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) \ + && ( defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ + || BOOST_WORKAROUND(__GNUC__, <= 2) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) \ + ) + +# define BOOST_MPL_CFG_NO_HAS_XXX + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_HAS_XXX_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/integral.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/integral.hpp new file mode 100644 index 0000000..7b5fcfc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/integral.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: integral.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) + +# define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS + +#endif + +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \ + ) + +# define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/intel.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/intel.hpp new file mode 100644 index 0000000..62d4f2e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/intel.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: intel.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + + +// BOOST_INTEL_CXX_VERSION is defined here: +#include + +#endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/lambda.hpp new file mode 100644 index 0000000..97bd76b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/lambda.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +// agurt, 15/jan/02: full-fledged implementation requires both +// template template parameters _and_ partial specialization + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ + && ( defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ + || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + ) + +# define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc.hpp new file mode 100644 index 0000000..93cbe46 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + + +// BOOST_MSVC is defined here: +#include + +#endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc_typename.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc_typename.hpp new file mode 100644 index 0000000..37d38dc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/msvc_typename.hpp @@ -0,0 +1,26 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc_typename.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# define BOOST_MSVC_TYPENAME +#else +# define BOOST_MSVC_TYPENAME typename +#endif + +#endif // BOOST_MPL_AUX_CONFIG_MSVC_TYPENAME_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/nttp.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/nttp.hpp new file mode 100644 index 0000000..13d0c9d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/nttp.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: nttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +// MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp" +// for a workaround): +// +// namespace std { +// template< typename Char > struct string; +// } +// +// void foo(std::string); +// +// namespace boost { namespace mpl { +// template< int > struct arg; +// }} + +#if !defined(BOOST_MPL_CFG_NTTP_BUG) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && BOOST_WORKAROUND(BOOST_MSVC, < 1300) + +# define BOOST_MPL_CFG_NTTP_BUG + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/operators.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/operators.hpp new file mode 100644 index 0000000..08693b2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/operators.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_OPERATORS_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: operators.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) \ + && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \ + || BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, <= 0x0295) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) \ + ) + +# define BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_OPERATORS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/overload_resolution.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/overload_resolution.hpp new file mode 100644 index 0000000..1c58351 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/overload_resolution.hpp @@ -0,0 +1,29 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: overload_resolution.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(__BORLANDC__, < 0x590) \ + || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \ + ) + +# define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/pp_counter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/pp_counter.hpp new file mode 100644 index 0000000..7fe204d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/pp_counter.hpp @@ -0,0 +1,26 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pp_counter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_AUX_PP_COUNTER) +# include +# if BOOST_WORKAROUND(BOOST_MSVC, >= 1300) +# define BOOST_MPL_AUX_PP_COUNTER() __COUNTER__ +# else +# define BOOST_MPL_AUX_PP_COUNTER() __LINE__ +# endif +#endif + +#endif // BOOST_MPL_AUX_CONFIG_PP_COUNTER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/preprocessor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/preprocessor.hpp new file mode 100644 index 0000000..a837876 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/preprocessor.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: preprocessor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \ + && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \ + || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ + ) + +# define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION + +#endif + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) +# define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES +#endif + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \ + && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING +#endif + + +#endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/static_constant.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/static_constant.hpp new file mode 100644 index 0000000..86bf20a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/static_constant.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: static_constant.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +// BOOST_STATIC_CONSTANT is defined here: +# include +#else +// undef the macro for the preprocessing mode +# undef BOOST_STATIC_CONSTANT +#endif + +#endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ttp.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ttp.hpp new file mode 100644 index 0000000..eacd6ab --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/ttp.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: ttp.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ + && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \ + || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \ + ) + +# define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS + +#endif + + +#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) \ + && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ + ) + +# define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING + +#endif + +#endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/typeof.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/typeof.hpp new file mode 100644 index 0000000..79c8150 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/typeof.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_TYPEOF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: typeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/use_preprocessed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/use_preprocessed.hpp new file mode 100644 index 0000000..dd7cfb2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/use_preprocessed.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: use_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +// #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +#endif // BOOST_MPL_AUX_CONFIG_USE_PREPROCESSED_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/workaround.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/workaround.hpp new file mode 100644 index 0000000..a75a213 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/config/workaround.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED +#define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: workaround.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/contains_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/contains_impl.hpp new file mode 100644 index 0000000..3457a94 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/contains_impl.hpp @@ -0,0 +1,61 @@ + +#ifndef BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_CONTAINS_IMPL_HPP_INCLUDED + +// Copyright Eric Friedman 2002 +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_args.hpp new file mode 100644 index 0000000..ad4a228 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_args.hpp @@ -0,0 +1,105 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: count_args.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(AUX778076_COUNT_ARGS_PARAM_NAME) +# define AUX778076_COUNT_ARGS_PARAM_NAME T +#endif + +#if !defined(AUX778076_COUNT_ARGS_TEMPLATE_PARAM) +# define AUX778076_COUNT_ARGS_TEMPLATE_PARAM typename AUX778076_COUNT_ARGS_PARAM_NAME +#endif + +// local macros, #undef-ined at the end of the header + +#if !defined(AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES) + +# include +# include + +# define AUX778076_COUNT_ARGS_REPEAT BOOST_MPL_PP_REPEAT +# define AUX778076_COUNT_ARGS_PARAMS(param) \ + BOOST_MPL_PP_PARAMS( \ + AUX778076_COUNT_ARGS_ARITY \ + , param \ + ) \ + /**/ + +#else + +# include +# include +# include + +# define AUX778076_COUNT_ARGS_REPEAT BOOST_PP_REPEAT +# define AUX778076_COUNT_ARGS_PARAMS(param) \ + BOOST_PP_ENUM_SHIFTED_PARAMS( \ + BOOST_PP_INC(AUX778076_COUNT_ARGS_ARITY) \ + , param \ + ) \ + /**/ + +#endif // AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES + + +#define AUX778076_IS_ARG_TEMPLATE_NAME \ + BOOST_PP_CAT(is_,BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_arg)) \ +/**/ + +#define AUX778076_COUNT_ARGS_FUNC(unused, i, param) \ + BOOST_PP_EXPR_IF(i, +) \ + AUX778076_IS_ARG_TEMPLATE_NAME::value \ +/**/ + +// is__arg +template< AUX778076_COUNT_ARGS_TEMPLATE_PARAM > +struct AUX778076_IS_ARG_TEMPLATE_NAME +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct AUX778076_IS_ARG_TEMPLATE_NAME +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +// _count_args +template< + AUX778076_COUNT_ARGS_PARAMS(AUX778076_COUNT_ARGS_TEMPLATE_PARAM) + > +struct BOOST_PP_CAT(AUX778076_COUNT_ARGS_PREFIX,_count_args) +{ + BOOST_STATIC_CONSTANT(int, value = AUX778076_COUNT_ARGS_REPEAT( + AUX778076_COUNT_ARGS_ARITY + , AUX778076_COUNT_ARGS_FUNC + , AUX778076_COUNT_ARGS_PARAM_NAME + )); +}; + +#undef AUX778076_COUNT_ARGS_FUNC +#undef AUX778076_IS_ARG_TEMPLATE_NAME +#undef AUX778076_COUNT_ARGS_PARAMS +#undef AUX778076_COUNT_ARGS_REPEAT + +#undef AUX778076_COUNT_ARGS_ARITY +#undef AUX778076_COUNT_ARGS_DEFAULT +#undef AUX778076_COUNT_ARGS_PREFIX +#undef AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES +#undef AUX778076_COUNT_ARGS_TEMPLATE_PARAM +#undef AUX778076_COUNT_ARGS_PARAM_NAME diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_impl.hpp new file mode 100644 index 0000000..908ef26 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/count_impl.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_COUNT_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: count_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename Tag > struct count_impl +{ + template< typename Sequence, typename T > struct apply +#if BOOST_WORKAROUND(__BORLANDC__,BOOST_TESTED_AT(0x561)) + { + typedef typename count_if< Sequence,same_as >::type type; + BOOST_STATIC_CONSTANT(int, value = BOOST_MPL_AUX_VALUE_WKND(type)::value); +#else + : count_if< Sequence,same_as > + { +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,count_impl) + +}} + +#endif // BOOST_MPL_AUX_COUNT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/empty_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/empty_impl.hpp new file mode 100644 index 0000000..3cbad60 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/empty_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_EMPTY_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: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'empty_impl' or the primary 'empty' template + +template< typename Tag > +struct empty_impl +{ + template< typename Sequence > struct apply + : is_same< + typename begin::type + , typename end::type + > + { + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,empty_impl) + +}} + +#endif // BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_impl.hpp new file mode 100644 index 0000000..2404656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_impl.hpp @@ -0,0 +1,69 @@ + +#ifndef BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ERASE_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: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'erase_impl' or the primary 'erase' template + +template< typename Tag > +struct erase_impl +{ + template< + typename Sequence + , typename First + , typename Last + > + struct apply + { + typedef typename if_na< Last,typename next::type >::type last_; + + // 1st half: [begin, first) + typedef iterator_range< + typename begin::type + , First + > first_half_; + + // 2nd half: [last, end) ... that is, [last + 1, end) + typedef iterator_range< + last_ + , typename end::type + > second_half_; + + typedef typename reverse_fold< + second_half_ + , typename clear::type + , push_front<_,_> + >::type half_sequence_; + + typedef typename reverse_fold< + first_half_ + , half_sequence_ + , push_front<_,_> + >::type type; + }; +}; + +}} + +#endif // BOOST_MPL_AUX_ERASE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_key_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_key_impl.hpp new file mode 100644 index 0000000..da4bf71 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/erase_key_impl.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ERASE_KEY_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: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< typename Tag > +struct erase_key_impl +{ + template< typename Sequence, typename Key > struct apply; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, erase_key_impl) + +}} + +#endif // BOOST_MPL_AUX_ERASE_KEY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/filter_iter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/filter_iter.hpp new file mode 100644 index 0000000..ab87ee4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/filter_iter.hpp @@ -0,0 +1,140 @@ + +#ifndef BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED +#define BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: filter_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Iterator + , typename LastIterator + , typename Predicate + > +struct filter_iter; + +template< + typename Iterator + , typename LastIterator + , typename Predicate + > +struct next_filter_iter +{ + typedef typename find_if< + iterator_range + , Predicate + >::type base_iter_; + + typedef filter_iter type; +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename Iterator + , typename LastIterator + , typename Predicate + > +struct filter_iter +{ + typedef Iterator base; + typedef forward_iterator_tag category; + typedef typename aux::next_filter_iter< + typename mpl::next::type + , LastIterator + , Predicate + >::type next; + + typedef typename deref::type type; +}; + +template< + typename LastIterator + , typename Predicate + > +struct filter_iter< LastIterator,LastIterator,Predicate > +{ + typedef LastIterator base; + typedef forward_iterator_tag category; +}; + +#else + +template< bool > +struct filter_iter_impl +{ + template< + typename Iterator + , typename LastIterator + , typename Predicate + > + struct result_ + { + typedef Iterator base; + typedef forward_iterator_tag category; + typedef typename next_filter_iter< + typename mpl::next::type + , LastIterator + , Predicate + >::type next; + + typedef typename deref::type type; + }; +}; + +template<> +struct filter_iter_impl< true > +{ + template< + typename Iterator + , typename LastIterator + , typename Predicate + > + struct result_ + { + typedef Iterator base; + typedef forward_iterator_tag category; + }; +}; + +template< + typename Iterator + , typename LastIterator + , typename Predicate + > +struct filter_iter + : filter_iter_impl< + ::boost::is_same::value + >::template result_< Iterator,LastIterator,Predicate > +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::filter_iter) + +}} + +#endif // BOOST_MPL_AUX_FILTER_ITER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/find_if_pred.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/find_if_pred.hpp new file mode 100644 index 0000000..42eef19 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/find_if_pred.hpp @@ -0,0 +1,31 @@ + +#ifndef BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED +#define BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Eric Friedman 2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename Predicate > +struct find_if_pred +{ + template< typename Iterator > + struct apply + { + typedef not_< aux::iter_apply1 > type; + }; +}; + +}}} + +#endif // BOOST_MPL_AUX_FIND_IF_PRED_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl.hpp new file mode 100644 index 0000000..71bd386 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# include +# endif +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER fold_impl.hpp +# include + +#else + +# define AUX778076_FOLD_IMPL_OP(iter) typename deref::type +# define AUX778076_FOLD_IMPL_NAME_PREFIX fold +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_FOLD_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl_body.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl_body.hpp new file mode 100644 index 0000000..28ea749 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_impl_body.hpp @@ -0,0 +1,365 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if !defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +# include +# include +# include +# include +# include +# include + +# include +# include +# include + +// local macros, #undef-ined at the end of the header + +# define AUX778076_ITER_FOLD_STEP(unused, i, unused2) \ + typedef typename apply2< \ + ForwardOp \ + , BOOST_PP_CAT(state,i) \ + , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,i)) \ + >::type BOOST_PP_CAT(state,BOOST_PP_INC(i)); \ + typedef typename mpl::next::type \ + BOOST_PP_CAT(iter,BOOST_PP_INC(i)); \ + /**/ + +# define AUX778076_FOLD_IMPL_NAME \ + BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \ + /**/ + +# define AUX778076_FOLD_CHUNK_NAME \ + BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \ + /**/ + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration +template< + BOOST_MPL_AUX_NTTP_DECL(int, N) + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +# if !BOOST_WORKAROUND(__BORLANDC__, < 0x600) + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< + BOOST_MPL_AUX_NTTP_DECL(int, N) + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef AUX778076_FOLD_IMPL_NAME< + BOOST_MPL_LIMIT_UNROLLING + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef AUX778076_FOLD_IMPL_NAME< + ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +// fallback implementation for sequences of unknown size +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,ForwardOp> + : AUX778076_FOLD_IMPL_NAME< + -1 + , typename mpl::next::type + , Last + , typename apply2::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,ForwardOp> +{ + typedef State state; + typedef Last iterator; +}; + +# else // BOOST_WORKAROUND(__BORLANDC__, < 0x600) + +// Borland have some serious problems with the unrolled version, so +// we always use a basic implementation +template< + BOOST_MPL_AUX_NTTP_DECL(int, N) + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef AUX778076_FOLD_IMPL_NAME< + -1 + , typename mpl::next::type + , Last + , typename apply2::type + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + typedef state type; +}; + +template< + BOOST_MPL_AUX_NTTP_DECL(int, N) + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef State state; + typedef Last iterator; + typedef state type; +}; + +# endif // BOOST_WORKAROUND(__BORLANDC__, < 0x600) + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct AUX778076_FOLD_CHUNK_NAME; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct AUX778076_FOLD_CHUNK_NAME +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef AUX778076_FOLD_IMPL_NAME< + BOOST_MPL_LIMIT_UNROLLING + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef AUX778076_FOLD_IMPL_NAME< + ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +// fallback implementation for sequences of unknown size +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step); + +template< + typename Last + , typename State + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct AUX778076_FOLD_CHUNK_NAME<-1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same::type + , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) + , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct result_ + { + typedef int state; + typedef int iterator; + }; +#endif +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) +{ + // can't inherit here - it breaks MSVC 7.0 + typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_< + typename mpl::next::type + , Last + , typename apply2::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + BOOST_MPL_AUX_NTTP_DECL(int, N) + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME + : AUX778076_FOLD_CHUNK_NAME + ::template result_ +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}}} + +# undef AUX778076_FOLD_IMPL_NAME +# undef AUX778076_FOLD_CHUNK_NAME +# undef AUX778076_ITER_FOLD_STEP + +#undef AUX778076_FOLD_IMPL_OP +#undef AUX778076_FOLD_IMPL_NAME_PREFIX + +///// iteration + +#else + +# define n_ BOOST_PP_FRAME_ITERATION(1) + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef First iter0; + typedef State state0; + + BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused) + + typedef BOOST_PP_CAT(state,n_) state; + typedef BOOST_PP_CAT(iter,n_) iterator; +}; + +#else + +template<> struct AUX778076_FOLD_CHUNK_NAME +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + + BOOST_MPL_PP_REPEAT(n_, AUX778076_ITER_FOLD_STEP, unused) + + typedef BOOST_PP_CAT(state,n_) state; + typedef BOOST_PP_CAT(iter,n_) iterator; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct result_ + { + typedef int state; + typedef int iterator; + }; +#endif +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +# undef n_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_op.hpp new file mode 100644 index 0000000..62cc01b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_op.hpp @@ -0,0 +1,37 @@ + +#ifndef BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED +#define BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: fold_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { + +// hand-written version is more efficient than bind/lambda expression +template< typename Op > +struct fold_op +{ + template< typename T1, typename T2 > struct apply + { + typedef typename apply2< + Op + , T1 + , typename T2::type + >::type type; + }; +}; + +}}} + +#endif // BOOST_MPL_AUX_FOLD_OP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_pred.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_pred.hpp new file mode 100644 index 0000000..f5ce263 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/fold_pred.hpp @@ -0,0 +1,37 @@ + +#ifndef BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED +#define BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: fold_pred.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename Last > +struct fold_pred +{ + template< + typename State + , typename Iterator + > + struct apply + : not_same_as::template apply + { + }; +}; + +}}} + +#endif // BOOST_MPL_AUX_FOLD_PRED_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/front_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/front_impl.hpp new file mode 100644 index 0000000..1561fd2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/front_impl.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_FRONT_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: front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'front_impl' or the primary 'front' template + +template< typename Tag > +struct front_impl +{ + template< typename Sequence > struct apply + { + typedef typename begin::type iter_; + typedef typename deref::type type; + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,front_impl) + +}} + +#endif // BOOST_MPL_AUX_FRONT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/full_lambda.hpp new file mode 100644 index 0000000..fe498ac --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/full_lambda.hpp @@ -0,0 +1,354 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED +#define BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: full_lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) +# include +# endif +#endif + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER full_lambda.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header +# define AUX778076_LAMBDA_PARAMS(i_, param) \ + BOOST_MPL_PP_PARAMS(i_, param) \ + /**/ + +# define AUX778076_BIND_PARAMS(param) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + ) \ + /**/ + +# define AUX778076_BIND_N_PARAMS(i_, param) \ + BOOST_PP_COMMA_IF(i_) \ + BOOST_MPL_PP_PARAMS(i_, param) \ + /**/ + +# define AUX778076_ARITY_PARAM(param) \ + BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) \ + /**/ + + +#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY +namespace aux { + +template< + BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false) + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) > + : false_ +{ +}; + +} // namespace aux +#undef n_ + +template< + typename T + , typename Tag + AUX778076_ARITY_PARAM(typename Arity) + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + + +template< int N, typename Tag > +struct lambda< arg,Tag AUX778076_ARITY_PARAM(int_<-1>) > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag AUX778076_ARITY_PARAM(int_<1>) > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form +template< + typename F, AUX778076_BIND_PARAMS(typename T) + , typename Tag + > +struct lambda< + bind + , Tag + AUX778076_ARITY_PARAM(int_) + > +{ + typedef false_ is_le; + typedef bind result_; + typedef result_ type; +}; + + +#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_::type,Tag2 > l3; + + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +#elif !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +#endif + +# undef AUX778076_ARITY_PARAM +# undef AUX778076_BIND_N_PARAMS +# undef AUX778076_BIND_PARAMS +# undef AUX778076_LAMBDA_PARAMS + +#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) +BOOST_MPL_AUX_NA_SPEC(2, lambda) +#else +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) +#endif + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_FULL_LAMBDA_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 +#define i_ BOOST_PP_FRAME_ITERATION(1) + +#if i_ > 0 + +namespace aux { + +# define AUX778076_RESULT(unused, i_, T) \ + BOOST_PP_COMMA_IF(i_) \ + typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::result_ \ + /**/ + +# define AUX778076_TYPE(unused, i_, T) \ + BOOST_PP_COMMA_IF(i_) \ + typename BOOST_PP_CAT(T, BOOST_PP_INC(i_))::type \ + /**/ + +template< + typename IsLE, typename Tag + , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F + , AUX778076_LAMBDA_PARAMS(i_, typename L) + > +struct BOOST_PP_CAT(le_result,i_) +{ + typedef F< + BOOST_MPL_PP_REPEAT(i_, AUX778076_TYPE, L) + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F + , AUX778076_LAMBDA_PARAMS(i_, typename L) + > +struct BOOST_PP_CAT(le_result,i_)< true_,Tag,F,AUX778076_LAMBDA_PARAMS(i_, L) > +{ + typedef BOOST_PP_CAT(bind,i_)< + BOOST_PP_CAT(quote,i_) + , BOOST_MPL_PP_REPEAT(i_, AUX778076_RESULT, L) + > result_; + + typedef mpl::protect type; +}; + +# undef AUX778076_TYPE +# undef AUX778076_RESULT + +} // namespace aux + + +# define AUX778076_LAMBDA_TYPEDEF(unused, i_, T) \ + typedef lambda< BOOST_PP_CAT(T, BOOST_PP_INC(i_)), Tag > \ + BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \ +/**/ + +# define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \ + typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \ + BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \ +/**/ + +# define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \ + BOOST_PP_COMMA_IF(i_) \ + BOOST_PP_CAT(is_le,BOOST_PP_INC(i_))::value \ +/**/ + +template< + template< AUX778076_LAMBDA_PARAMS(i_, typename P) > class F + , AUX778076_LAMBDA_PARAMS(i_, typename T) + , typename Tag + > +struct lambda< + F + , Tag + AUX778076_ARITY_PARAM(int_) + > +{ + BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, T) + BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused) + + typedef typename aux::lambda_or< + BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused) + >::type is_le; + + typedef aux::BOOST_PP_CAT(le_result,i_)< + is_le, Tag, F, AUX778076_LAMBDA_PARAMS(i_, l) + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + + +# undef AUX778076_IS_LAMBDA_EXPR +# undef AUX778076_IS_LE_TYPEDEF +# undef AUX778076_LAMBDA_TYPEDEF + +#endif // i_ > 0 + +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T) + , typename Tag + > +struct lambda< + BOOST_PP_CAT(bind,i_) + , Tag + AUX778076_ARITY_PARAM(int_) + > +{ + typedef false_ is_le; + typedef BOOST_PP_CAT(bind,i_)< + F + AUX778076_BIND_N_PARAMS(i_, T) + > result_; + + typedef result_ type; +}; + +#undef i_ +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_apply.hpp new file mode 100644 index 0000000..90cd128 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_apply.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { namespace aux { +#if !defined(BOOST_MPL_CFG_NO_HAS_APPLY) +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_apply, apply, false) +#else +template< typename T, typename fallback_ = false_ > +struct has_apply + : fallback_ +{ +}; +#endif +}}} + +#endif // BOOST_MPL_AUX_HAS_APPLY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_begin.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_begin.hpp new file mode 100644 index 0000000..65de3e3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_begin.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_begin, begin, true) +}}} + +#endif // BOOST_MPL_AUX_HAS_BEGIN_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_key_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_key_impl.hpp new file mode 100644 index 0000000..b4a6d96 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_key_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// Copyright David Abrahams 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +// no default implementation; the definition is needed to make MSVC happy + +template< typename Tag > struct has_key_impl +{ + template< typename AssociativeSequence, typename Key > struct apply; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,has_key_impl) + +}} + +#endif // BOOST_MPL_AUX_HAS_KEY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_rebind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_rebind.hpp new file mode 100644 index 0000000..b2f6268 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_rebind.hpp @@ -0,0 +1,99 @@ + +#ifndef BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_rebind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) +# include +#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# include +# include +# include +# include +#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) +# include +# include +# include +# include +# include +#else +# include +# include +# include +#endif + +namespace boost { namespace mpl { namespace aux { + +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) + +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind, rebind, false) + +#elif BOOST_WORKAROUND(BOOST_MSVC, < 1300) + +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_rebind_impl, rebind, false) + +template< typename T > +struct has_rebind + : if_< + msvc_is_class + , has_rebind_impl + , bool_ + >::type +{ +}; + +#else // the rest + +template< typename T > struct has_rebind_tag {}; +no_tag operator|(has_rebind_tag, void const volatile*); + +# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) +template< typename T > +struct has_rebind +{ + static has_rebind_tag* get(); + BOOST_STATIC_CONSTANT(bool, value = + sizeof(has_rebind_tag() | get()) == sizeof(yes_tag) + ); +}; +# else // __BORLANDC__ +template< typename T > +struct has_rebind_impl +{ + static T* get(); + BOOST_STATIC_CONSTANT(bool, value = + sizeof(has_rebind_tag() | get()) == sizeof(yes_tag) + ); +}; + +template< typename T > +struct has_rebind + : if_< + is_class + , has_rebind_impl + , bool_ + >::type +{ +}; +# endif // __BORLANDC__ + +#endif + +}}} + +#endif // BOOST_MPL_AUX_HAS_REBIND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_size.hpp new file mode 100644 index 0000000..2fbcd13 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_size.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { +BOOST_MPL_HAS_XXX_TRAIT_DEF(size) +}}} + +#endif // BOOST_MPL_AUX_HAS_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_tag.hpp new file mode 100644 index 0000000..927f2fd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_tag.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_tag, tag, false) +}}} + +#endif // BOOST_MPL_AUX_HAS_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_type.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_type.hpp new file mode 100644 index 0000000..a6066ad --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/has_type.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED +#define BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_type, type, true) +}}} + +#endif // BOOST_MPL_AUX_HAS_TYPE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/include_preprocessed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/include_preprocessed.hpp new file mode 100644 index 0000000..a9ab945 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/include_preprocessed.hpp @@ -0,0 +1,42 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_PREPROCESSED_HEADER \ + BOOST_MPL_CFG_COMPILER_DIR/BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#else +# define AUX778076_PREPROCESSED_HEADER \ + BOOST_PP_CAT(BOOST_MPL_CFG_COMPILER_DIR,/)##BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#endif + +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) +# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) +# include AUX778076_INCLUDE_STRING +# undef AUX778076_INCLUDE_STRING +#else +# include BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER) +#endif + +# undef AUX778076_PREPROCESSED_HEADER + +#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_impl.hpp new file mode 100644 index 0000000..08a4041 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_impl.hpp @@ -0,0 +1,68 @@ + +#ifndef BOOST_MPL_INSERT_IMPL_HPP_INCLUDED +#define BOOST_MPL_INSERT_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: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'insert_impl' or the primary 'insert' template + +template< typename Tag > +struct insert_impl +{ + template< + typename Sequence + , typename Pos + , typename T + > + struct apply + { + typedef iterator_range< + typename begin::type + , Pos + > first_half_; + + typedef iterator_range< + Pos + , typename end::type + > second_half_; + + typedef typename reverse_fold< + second_half_ + , typename clear::type + , push_front<_,_> + >::type half_sequence_; + + typedef typename reverse_fold< + first_half_ + , typename push_front::type + , push_front<_,_> + >::type type; + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_impl) + +}} + +#endif // BOOST_MPL_INSERT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_range_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_range_impl.hpp new file mode 100644 index 0000000..a2ea060 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/insert_range_impl.hpp @@ -0,0 +1,77 @@ + +#ifndef BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: insert_range_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'insert_range_impl' or the primary +// 'insert_range' template + + +template< typename Tag > +struct insert_range_impl +{ + template< + typename Sequence + , typename Pos + , typename Range + > + struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : reverse_copy< + joint_view< + iterator_range::type,Pos> + , joint_view< + Range + , iterator_range::type> + > + > + , front_inserter< typename clear::type > + > + { +#else + { + typedef typename reverse_copy< + joint_view< + iterator_range::type,Pos> + , joint_view< + Range + , iterator_range::type> + > + > + , front_inserter< typename clear::type > + >::type type; +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(3,insert_range_impl) + +}} + +#endif // BOOST_MPL_AUX_INSERT_RANGE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/inserter_algorithm.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/inserter_algorithm.hpp new file mode 100644 index 0000000..a27e32a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/inserter_algorithm.hpp @@ -0,0 +1,159 @@ + +#ifndef BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED +#define BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: inserter_algorithm.hpp 55648 2009-08-18 05:16:53Z agurtovoy $ +// $Date: 2009-08-18 01:16:53 -0400 (Tue, 18 Aug 2009) $ +// $Revision: 55648 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +# define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \ +BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct name \ + : aux::name##_impl \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \ + : if_< has_push_back< typename clear::type> \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct reverse_##name \ + : aux::reverse_##name##_impl \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct reverse_##name< BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P),na > \ + : if_< has_push_back \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +BOOST_MPL_AUX_NA_SPEC(arity, name) \ +BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \ +/**/ + +#else + +# define BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(arity, name) \ +BOOST_MPL_AUX_COMMON_NAME_WKND(name) \ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct def_##name##_impl \ + : if_< has_push_back \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +\ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct name \ +{ \ + typedef typename eval_if< \ + is_na \ + , def_##name##_impl \ + , aux::name##_impl \ + >::type type; \ +}; \ +\ +template< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), typename P) \ + > \ +struct def_reverse_##name##_impl \ + : if_< has_push_back \ + , aux::reverse_##name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , back_inserter< typename clear::type > \ + > \ + , aux::name##_impl< \ + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(arity), P) \ + , front_inserter< typename clear::type > \ + > \ + >::type \ +{ \ +}; \ +template< \ + BOOST_MPL_PP_DEFAULT_PARAMS(arity, typename P, na) \ + > \ +struct reverse_##name \ +{ \ + typedef typename eval_if< \ + is_na \ + , def_reverse_##name##_impl \ + , aux::reverse_##name##_impl \ + >::type type; \ +}; \ +BOOST_MPL_AUX_NA_SPEC(arity, name) \ +BOOST_MPL_AUX_NA_SPEC(arity, reverse_##name) \ +/**/ + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +#endif // BOOST_MPL_AUX_INSERTER_ALGORITHM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/integral_wrapper.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/integral_wrapper.hpp new file mode 100644 index 0000000..3c859d3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/integral_wrapper.hpp @@ -0,0 +1,93 @@ + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: integral_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#include +#include +#include +#include +#include + +#include + +#if !defined(AUX_WRAPPER_NAME) +# define AUX_WRAPPER_NAME BOOST_PP_CAT(AUX_WRAPPER_VALUE_TYPE,_) +#endif + +#if !defined(AUX_WRAPPER_PARAMS) +# define AUX_WRAPPER_PARAMS(N) BOOST_MPL_AUX_NTTP_DECL(AUX_WRAPPER_VALUE_TYPE, N) +#endif + +#if !defined(AUX_WRAPPER_INST) +# if BOOST_WORKAROUND(__MWERKS__, <= 0x2407) +# define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< value > +# else +# define AUX_WRAPPER_INST(value) BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::AUX_WRAPPER_NAME< value > +# endif +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< AUX_WRAPPER_PARAMS(N) > +struct AUX_WRAPPER_NAME +{ + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, value = N); +// agurt, 08/mar/03: SGI MIPSpro C++ workaround, have to #ifdef because some +// other compilers (e.g. MSVC) are not particulary happy about it +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + typedef struct AUX_WRAPPER_NAME type; +#else + typedef AUX_WRAPPER_NAME type; +#endif + typedef AUX_WRAPPER_VALUE_TYPE value_type; + typedef integral_c_tag tag; + +// have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC), +// while some other don't like 'value + 1' (Borland), and some don't like +// either +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) + private: + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1))); + BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1))); + public: + typedef AUX_WRAPPER_INST(next_value) next; + typedef AUX_WRAPPER_INST(prior_value) prior; +#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \ + || (BOOST_WORKAROUND(__HP_aCC, <= 53800) && (BOOST_WORKAROUND(__hpxstd98, != 1))) + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)) ) next; + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)) ) prior; +#else + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value + 1)) ) next; + typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior; +#endif + + // enables uniform function call syntax for families of overloaded + // functions that return objects of both arithmetic ('int', 'long', + // 'double', etc.) and wrapped integral types (for an example, see + // "mpl/example/power.cpp") + operator AUX_WRAPPER_VALUE_TYPE() const { return static_cast(this->value); } +}; + +#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) +template< AUX_WRAPPER_PARAMS(N) > +AUX_WRAPPER_VALUE_TYPE const AUX_WRAPPER_INST(N)::value; +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#undef AUX_WRAPPER_NAME +#undef AUX_WRAPPER_PARAMS +#undef AUX_WRAPPER_INST +#undef AUX_WRAPPER_VALUE_TYPE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/is_msvc_eti_arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/is_msvc_eti_arg.hpp new file mode 100644 index 0000000..db803e2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/is_msvc_eti_arg.hpp @@ -0,0 +1,64 @@ + +#ifndef BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED +#define BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: is_msvc_eti_arg.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { namespace aux { + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + +template< typename T > +struct is_msvc_eti_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +#else // BOOST_MPL_CFG_MSVC_60_ETI_BUG + +struct eti_int_convertible +{ + eti_int_convertible(int); +}; + +template< typename T > +struct is_msvc_eti_arg +{ + static no_tag test(...); + static yes_tag test(eti_int_convertible); + static T& get(); + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(test(get())) == sizeof(yes_tag) + ); +}; + +#endif + +template<> +struct is_msvc_eti_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +#endif // BOOST_MPL_CFG_MSVC_ETI_BUG + +}}} + +#endif // BOOST_MPL_AUX_IS_MSVC_ETI_ARG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_apply.hpp new file mode 100644 index 0000000..9da7e16 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_apply.hpp @@ -0,0 +1,47 @@ + +#ifndef BOOST_MPL_ITER_APPLY_HPP_INCLUDED +#define BOOST_MPL_ITER_APPLY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iter_apply.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< + typename F + , typename Iterator + > +struct iter_apply1 + : apply1< F,typename deref::type > +{ +}; + +template< + typename F + , typename Iterator1 + , typename Iterator2 + > +struct iter_apply2 + : apply2< + F + , typename deref::type + , typename deref::type + > +{ +}; + +}}} + +#endif // BOOST_MPL_ITER_APPLY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_if_impl.hpp new file mode 100644 index 0000000..c1ced94 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_if_impl.hpp @@ -0,0 +1,210 @@ + +#ifndef BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iter_fold_if_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER iter_fold_if_impl.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +// agurt, 25/jun/02: MSVC 6.5 workaround, had to get rid of inheritance +// here and in 'iter_fold_if_backward_step', because sometimes it interfered +// with the "early template instantiation bug" in _really_ ugly ways +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp,mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp,identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + + +// local macros, #undef-ined at the end of the header + +# define AUX_ITER_FOLD_FORWARD_STEP(unused, i, unused2) \ + typedef iter_fold_if_forward_step< \ + typename BOOST_PP_CAT(forward_step,i)::iterator \ + , typename BOOST_PP_CAT(forward_step,i)::state \ + , ForwardOp \ + , ForwardPredicate \ + > BOOST_PP_CAT(forward_step, BOOST_PP_INC(i)); \ + /**/ + +# define AUX_ITER_FOLD_BACKWARD_STEP_FUNC(i) \ + typedef iter_fold_if_backward_step< \ + typename BOOST_PP_CAT(forward_step,BOOST_PP_DEC(i))::iterator \ + , typename BOOST_PP_CAT(backward_step,i)::state \ + , BackwardOp \ + , BackwardPredicate \ + > BOOST_PP_CAT(backward_step,BOOST_PP_DEC(i)); \ + /**/ + +# define AUX_ITER_FOLD_BACKWARD_STEP(unused, i, unused2) \ + AUX_ITER_FOLD_BACKWARD_STEP_FUNC( \ + BOOST_PP_SUB_D(1,BOOST_MPL_LIMIT_UNROLLING,i) \ + ) \ + /**/ + +# define AUX_LAST_FORWARD_STEP \ + BOOST_PP_CAT(forward_step, BOOST_MPL_LIMIT_UNROLLING) \ + /**/ + +# define AUX_LAST_BACKWARD_STEP \ + BOOST_PP_CAT(backward_step, BOOST_MPL_LIMIT_UNROLLING) \ + /**/ + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step forward_step0; + BOOST_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef typename if_< + typename AUX_LAST_FORWARD_STEP::not_last + , iter_fold_if_impl< + typename AUX_LAST_FORWARD_STEP::iterator + , typename AUX_LAST_FORWARD_STEP::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename AUX_LAST_FORWARD_STEP::iterator + , typename AUX_LAST_FORWARD_STEP::state + > + >::type AUX_LAST_BACKWARD_STEP; + + BOOST_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX_ITER_FOLD_BACKWARD_STEP + , unused + ) + + public: + typedef typename backward_step0::state state; + typedef typename AUX_LAST_BACKWARD_STEP::iterator iterator; +}; + +# undef AUX_LAST_BACKWARD_STEP +# undef AUX_LAST_FORWARD_STEP +# undef AUX_ITER_FOLD_BACKWARD_STEP +# undef AUX_ITER_FOLD_BACKWARD_STEP_FUNC +# undef AUX_ITER_FOLD_FORWARD_STEP + +}}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_ITER_FOLD_IF_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_impl.hpp new file mode 100644 index 0000000..d4e9110 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_fold_impl.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# include +# endif +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER iter_fold_impl.hpp +# include + +#else + +# define AUX778076_FOLD_IMPL_OP(iter) iter +# define AUX778076_FOLD_IMPL_NAME_PREFIX iter_fold +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_ITER_FOLD_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_push_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_push_front.hpp new file mode 100644 index 0000000..339f6ae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/iter_push_front.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED +#define BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iter_push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< + typename Sequence + , typename Iterator + > +struct iter_push_front +{ + typedef typename push_front< + Sequence + , typename deref::type + >::type type; +}; + +}}} + +#endif // BOOST_MPL_ITER_PUSH_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/joint_iter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/joint_iter.hpp new file mode 100644 index 0000000..eb14253 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/joint_iter.hpp @@ -0,0 +1,120 @@ + +#ifndef BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED +#define BOOST_MPL_AUX_JOINT_ITER_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: joint_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +#endif + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename Iterator1 + , typename LastIterator1 + , typename Iterator2 + > +struct joint_iter +{ + typedef Iterator1 base; + typedef forward_iterator_tag category; +}; + +template< + typename LastIterator1 + , typename Iterator2 + > +struct joint_iter +{ + typedef Iterator2 base; + typedef forward_iterator_tag category; +}; + + +template< typename I1, typename L1, typename I2 > +struct deref< joint_iter > +{ + typedef typename joint_iter::base base_; + typedef typename deref::type type; +}; + +template< typename I1, typename L1, typename I2 > +struct next< joint_iter > +{ + typedef joint_iter< typename mpl::next::type,L1,I2 > type; +}; + +template< typename L1, typename I2 > +struct next< joint_iter > +{ + typedef joint_iter< L1,L1,typename mpl::next::type > type; +}; + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< + typename Iterator1 + , typename LastIterator1 + , typename Iterator2 + > +struct joint_iter; + +template< bool > struct joint_iter_impl +{ + template< typename I1, typename L1, typename I2 > struct result_ + { + typedef I1 base; + typedef forward_iterator_tag category; + typedef joint_iter< typename mpl::next::type,L1,I2 > next; + typedef typename deref::type type; + }; +}; + +template<> struct joint_iter_impl +{ + template< typename I1, typename L1, typename I2 > struct result_ + { + typedef I2 base; + typedef forward_iterator_tag category; + typedef joint_iter< L1,L1,typename mpl::next::type > next; + typedef typename deref::type type; + }; +}; + +template< + typename Iterator1 + , typename LastIterator1 + , typename Iterator2 + > +struct joint_iter + : joint_iter_impl< is_same::value > + ::template result_ +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, joint_iter) + +}} + +#endif // BOOST_MPL_AUX_JOINT_ITER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_arity_param.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_arity_param.hpp new file mode 100644 index 0000000..919184f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_arity_param.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED +#define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda_arity_param.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) +# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) +#else +# define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param +#endif + +#endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_no_ctps.hpp new file mode 100644 index 0000000..bdf5452 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_no_ctps.hpp @@ -0,0 +1,193 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED +#define BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda_no_ctps.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER lambda_no_ctps.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +namespace boost { namespace mpl { + +# define AUX778076_LAMBDA_PARAMS(i_, param) \ + BOOST_MPL_PP_PARAMS(i_, param) \ + /**/ + +namespace aux { + +#define n_ BOOST_MPL_LIMIT_METAFUNCTION_ARITY +template< + BOOST_MPL_PP_DEFAULT_PARAMS(n_,bool C,false) + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< BOOST_MPL_PP_ENUM(n_,false) > + : false_ +{ +}; +#undef n_ + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +# undef AUX778076_LAMBDA_PARAMS + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_LAMBDA_NO_CTPS_HPP_INCLUDED + +///// iteration, depth == 1 + +#else + +#define i_ BOOST_PP_FRAME_ITERATION(1) + +# define AUX778076_LAMBDA_TYPEDEF(unused, i_, F) \ + typedef lambda< \ + typename F::BOOST_PP_CAT(arg,BOOST_PP_INC(i_)) \ + , Tag \ + , false_ \ + > BOOST_PP_CAT(l,BOOST_PP_INC(i_)); \ + /**/ + +# define AUX778076_IS_LE_TYPEDEF(unused, i_, unused2) \ + typedef typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::is_le \ + BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)); \ + /**/ + +# define AUX778076_IS_LAMBDA_EXPR(unused, i_, unused2) \ + BOOST_PP_COMMA_IF(i_) \ + BOOST_MPL_AUX_MSVC_VALUE_WKND(BOOST_PP_CAT(is_le,BOOST_PP_INC(i_)))::value \ + /**/ + +# define AUX778076_LAMBDA_RESULT(unused, i_, unused2) \ + , typename BOOST_PP_CAT(l,BOOST_PP_INC(i_))::type \ + /**/ + +template<> struct lambda_impl< int_ > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_TYPEDEF, F) + BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LE_TYPEDEF, unused) + + typedef aux::lambda_or< + BOOST_MPL_PP_REPEAT(i_, AUX778076_IS_LAMBDA_EXPR, unused) + > is_le; + + typedef BOOST_PP_CAT(bind,i_)< + typename F::rebind + BOOST_MPL_PP_REPEAT(i_, AUX778076_LAMBDA_RESULT, unused) + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +# undef AUX778076_LAMBDA_RESULT +# undef AUX778076_IS_LAMBDA_EXPR +# undef AUX778076_IS_LE_TYPEDEF +# undef AUX778076_LAMBDA_TYPEDEF + +#undef i_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_spec.hpp new file mode 100644 index 0000000..20bbc43 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_spec.hpp @@ -0,0 +1,49 @@ + +#ifndef BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED +#define BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2007 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) + +# define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) \ +template< \ + BOOST_MPL_PP_PARAMS(i, typename T) \ + , typename Tag \ + > \ +struct lambda< \ + name< BOOST_MPL_PP_PARAMS(i, T) > \ + , Tag \ + BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_) \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_PP_PARAMS(i, T) > result_; \ + typedef result_ type; \ +}; \ +/**/ + +#else + +# define BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(i, name) /**/ + +#endif + +#endif // BOOST_MPL_AUX_LAMBDA_SPEC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_support.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_support.hpp new file mode 100644 index 0000000..e0f36ac --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/lambda_support.hpp @@ -0,0 +1,169 @@ + +#ifndef BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED +#define BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda_support.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) /**/ +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i,name,params) /**/ + +#else + +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC(R,typedef_,i,param) \ + typedef_ param BOOST_PP_CAT(arg,BOOST_PP_INC(i)); \ + /**/ + +// agurt, 07/mar/03: restore an old revision for the sake of SGI MIPSpro C++ +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ + BOOST_PP_LIST_FOR_EACH_I_R( \ + 1 \ + , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ + , typedef \ + , BOOST_PP_TUPLE_TO_LIST(i,params) \ + ) \ + struct rebind \ + { \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + : name< BOOST_MPL_PP_PARAMS(i,U) > \ + { \ + }; \ + }; \ + /**/ + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + /**/ + +#elif BOOST_WORKAROUND(__EDG_VERSION__, <= 244) && !defined(BOOST_INTEL_CXX_VERSION) +// agurt, 18/jan/03: old EDG-based compilers actually enforce 11.4 para 9 +// (in strict mode), so we have to provide an alternative to the +// MSVC-optimized implementation + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ + typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ + BOOST_PP_LIST_FOR_EACH_I_R( \ + 1 \ + , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ + , typedef \ + , BOOST_PP_TUPLE_TO_LIST(i,params) \ + ) \ + struct rebind; \ +/**/ + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ +}; \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +struct name::rebind \ +{ \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + : name< BOOST_MPL_PP_PARAMS(i,U) > \ + { \ + }; \ +/**/ + +#else // __EDG_VERSION__ + +namespace boost { namespace mpl { namespace aux { +template< typename T > struct has_rebind_tag; +}}} + +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ + typedef BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::int_ arity; \ + BOOST_PP_LIST_FOR_EACH_I_R( \ + 1 \ + , BOOST_MPL_AUX_LAMBDA_SUPPORT_ARG_TYPEDEF_FUNC \ + , typedef \ + , BOOST_PP_TUPLE_TO_LIST(i,params) \ + ) \ + friend class BOOST_PP_CAT(name,_rebind); \ + typedef BOOST_PP_CAT(name,_rebind) rebind; \ +/**/ + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +::boost::mpl::aux::yes_tag operator|( \ + ::boost::mpl::aux::has_rebind_tag \ + , name* \ + ); \ +::boost::mpl::aux::no_tag operator|( \ + ::boost::mpl::aux::has_rebind_tag \ + , name< BOOST_MPL_PP_ENUM(i,::boost::mpl::na) >* \ + ); \ +/**/ +#elif !BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +template< BOOST_MPL_PP_PARAMS(i,typename T) > \ +::boost::mpl::aux::yes_tag operator|( \ + ::boost::mpl::aux::has_rebind_tag \ + , ::boost::mpl::aux::has_rebind_tag< name >* \ + ); \ +/**/ +#else +# define BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) /**/ +#endif + +# if !defined(__BORLANDC__) +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ +}; \ +BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +class BOOST_PP_CAT(name,_rebind) \ +{ \ + public: \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + : name< BOOST_MPL_PP_PARAMS(i,U) > \ + { \ + }; \ +/**/ +# else +# define BOOST_MPL_AUX_LAMBDA_SUPPORT(i, name, params) \ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(i, name, params) \ +}; \ +BOOST_MPL_AUX_LAMBDA_SUPPORT_HAS_REBIND(i, name, params) \ +class BOOST_PP_CAT(name,_rebind) \ +{ \ + public: \ + template< BOOST_MPL_PP_PARAMS(i,typename U) > struct apply \ + { \ + typedef typename name< BOOST_MPL_PP_PARAMS(i,U) >::type type; \ + }; \ +/**/ +# endif // __BORLANDC__ + +#endif // __EDG_VERSION__ + +#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +#endif // BOOST_MPL_AUX_LAMBDA_SUPPORT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/largest_int.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/largest_int.hpp new file mode 100644 index 0000000..0805371 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/largest_int.hpp @@ -0,0 +1,63 @@ + +#ifndef BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED +#define BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: largest_int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename T > struct integral_rank; + +template<> struct integral_rank : int_<1> {}; +template<> struct integral_rank : int_<2> {}; +template<> struct integral_rank : int_<3> {}; +template<> struct integral_rank : int_<4> {}; +#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) +template<> struct integral_rank : int_<5> {}; +#endif +template<> struct integral_rank : int_<6> {}; +template<> struct integral_rank : int_<7> {}; +template<> struct integral_rank : int_<8> {}; +template<> struct integral_rank : int_<9> {}; +template<> struct integral_rank : int_<10> {}; +template<> struct integral_rank : int_<11> {}; + +#if defined(BOOST_HAS_LONG_LONG) +template<> struct integral_rank : int_<12> {}; +template<> struct integral_rank: int_<13> {}; +#endif + +template< typename T1, typename T2 > struct largest_int +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) + : if_c< + ( integral_rank::value >= integral_rank::value ) + , T1 + , T2 + > +{ +#else +{ + enum { rank1 = integral_rank::value }; + enum { rank2 = integral_rank::value }; + typedef typename if_c< (rank1 >= rank2),T1,T2 >::type type; +#endif +}; + +}}} + +#endif // BOOST_MPL_AUX_LARGEST_INT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/logical_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/logical_op.hpp new file mode 100644 index 0000000..ac38efa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/logical_op.hpp @@ -0,0 +1,165 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: logical_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +namespace boost { namespace mpl { + +# define AUX778076_PARAMS(param, sub) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY, sub) \ + , param \ + ) \ + /**/ + +# define AUX778076_SHIFTED_PARAMS(param, sub) \ + BOOST_MPL_PP_EXT_PARAMS( \ + 2, BOOST_MPL_PP_SUB(BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY), sub) \ + , param \ + ) \ + /**/ + +# define AUX778076_SPEC_PARAMS(param) \ + BOOST_MPL_PP_ENUM( \ + BOOST_PP_DEC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \ + , param \ + ) \ + /**/ + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< bool C_, AUX778076_PARAMS(typename T, 1) > +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) + : BOOST_PP_CAT(AUX778076_OP_VALUE1,_) +{ +}; + +template< AUX778076_PARAMS(typename T, 1) > +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< AUX778076_OP_VALUE2,AUX778076_PARAMS(T, 1) > + : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , AUX778076_SHIFTED_PARAMS(T, 1) + , BOOST_PP_CAT(AUX778076_OP_VALUE2,_) + > +{ +}; + +template<> +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + AUX778076_OP_VALUE2 + , AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) + > + : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) +{ +}; + +#else + +template< bool C_ > struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) +{ + template< AUX778076_PARAMS(typename T, 1) > struct result_ + : BOOST_PP_CAT(AUX778076_OP_VALUE1,_) + { + }; +}; + +template<> struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) +{ + template< AUX778076_PARAMS(typename T, 1) > struct result_ + : BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< AUX778076_SHIFTED_PARAMS(T,1),BOOST_PP_CAT(AUX778076_OP_VALUE2,_) > + { + }; + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + template<> struct result_ + : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) + { + }; +}; +#else +}; + +template<> +struct BOOST_PP_CAT(AUX778076_OP_NAME,impl) + ::result_< AUX778076_SPEC_PARAMS(BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) > + : BOOST_PP_CAT(AUX778076_OP_VALUE2,_) +{ +}; +#endif // BOOST_MSVC == 1300 + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename T, BOOST_PP_CAT(AUX778076_OP_VALUE2,_)) + > +struct AUX778076_OP_NAME +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , AUX778076_SHIFTED_PARAMS(T,0) + > +#else + : aux::BOOST_PP_CAT(AUX778076_OP_NAME,impl)< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< AUX778076_SHIFTED_PARAMS(T,0) > +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + BOOST_MPL_LIMIT_METAFUNCTION_ARITY + , AUX778076_OP_NAME + , (AUX778076_PARAMS(T, 0)) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , BOOST_MPL_LIMIT_METAFUNCTION_ARITY + , AUX778076_OP_NAME + ) + +}} + +#undef AUX778076_SPEC_PARAMS +#undef AUX778076_SHIFTED_PARAMS +#undef AUX778076_PARAMS +#undef AUX778076_OP_NAME +#undef AUX778076_OP_VALUE1 +#undef AUX778076_OP_VALUE2 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_dtw.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_dtw.hpp new file mode 100644 index 0000000..53f4208 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_dtw.hpp @@ -0,0 +1,68 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc_dtw.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#include + +// local macros, #undef-ined at the end of the header +#define AUX778076_DTW_PARAMS(param) \ + BOOST_MPL_PP_PARAMS(AUX778076_MSVC_DTW_ARITY, param) \ +/**/ + +#define AUX778076_DTW_ORIGINAL_NAME \ + AUX778076_MSVC_DTW_ORIGINAL_NAME \ +/**/ + +// warning: not a well-formed C++ +// workaround for MSVC 6.5's "dependent template typedef bug" + +template< typename F> +struct AUX778076_MSVC_DTW_NAME +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { +#if AUX778076_MSVC_DTW_ARITY > 0 + template< AUX778076_DTW_PARAMS(typename P) > struct AUX778076_DTW_ORIGINAL_NAME + { + typedef int type; + }; + }; + + template< AUX778076_DTW_PARAMS(typename T) > struct result_ + : f_< aux::msvc_never_true::value > + ::template AUX778076_DTW_ORIGINAL_NAME< AUX778076_DTW_PARAMS(T) > + { + }; +#else + template< typename P = int > struct AUX778076_DTW_ORIGINAL_NAME + { + typedef int type; + }; + }; + + template< typename T = int > struct result_ + : f_< aux::msvc_never_true::value > + ::template AUX778076_DTW_ORIGINAL_NAME<> + { + }; +#endif +}; + +#undef AUX778076_DTW_ORIGINAL_NAME +#undef AUX778076_DTW_PARAMS + +#undef AUX778076_MSVC_DTW_NAME +#undef AUX778076_MSVC_DTW_ORIGINAL_NAME +#undef AUX778076_MSVC_DTW_ARITY diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_eti_base.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_eti_base.hpp new file mode 100644 index 0000000..b2e1b9e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_eti_base.hpp @@ -0,0 +1,77 @@ + +#ifndef BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED +#define BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc_eti_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { namespace aux { + +#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) + +template< bool > struct msvc_eti_base_impl +{ + template< typename T > struct result_ + : T + { + typedef T type; + }; +}; + +template<> struct msvc_eti_base_impl +{ + template< typename T > struct result_ + { + typedef result_ type; + typedef result_ first; + typedef result_ second; + typedef result_ tag; + enum { value = 0 }; + }; +}; + +template< typename T > struct msvc_eti_base + : msvc_eti_base_impl< is_msvc_eti_arg::value > + ::template result_ +{ +}; + +#else // !BOOST_MPL_CFG_MSVC_70_ETI_BUG + +template< typename T > struct msvc_eti_base + : T +{ +#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) + msvc_eti_base(); +#endif + typedef T type; +}; + +#endif + +template<> struct msvc_eti_base +{ + typedef msvc_eti_base type; + typedef msvc_eti_base first; + typedef msvc_eti_base second; + typedef msvc_eti_base tag; + enum { value = 0 }; +}; + +}}} + +#endif // BOOST_MPL_AUX_MSVC_ETI_BASE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_is_class.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_is_class.hpp new file mode 100644 index 0000000..838c87c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_is_class.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED +#define BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc_is_class.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename T > struct is_class_helper +{ + typedef int (T::* type)(); +}; + +// MSVC 6.x-specific lightweight 'is_class' implementation; +// Distinguishing feature: does not instantiate the type being tested. +template< typename T > +struct msvc_is_class_impl +{ + template< typename U> + static yes_tag test(type_wrapper*, /*typename*/ is_class_helper::type = 0); + static no_tag test(void const volatile*, ...); + + enum { value = sizeof(test((type_wrapper*)0)) == sizeof(yes_tag) }; + typedef bool_ type; +}; + +// agurt, 17/sep/04: have to check for 'is_reference' upfront to avoid ICEs in +// complex metaprograms +template< typename T > +struct msvc_is_class + : if_< + is_reference + , false_ + , msvc_is_class_impl + >::type +{ +}; + +}}} + +#endif // BOOST_MPL_AUX_MSVC_IS_CLASS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_never_true.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_never_true.hpp new file mode 100644 index 0000000..265fbb9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_never_true.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED +#define BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc_never_true.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +namespace boost { namespace mpl { namespace aux { + +template< typename T > +struct msvc_never_true +{ + enum { value = false }; +}; + +}}} + +#endif // BOOST_MSVC + +#endif // BOOST_MPL_AUX_MSVC_NEVER_TRUE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_type.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_type.hpp new file mode 100644 index 0000000..6bec7fd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/msvc_type.hpp @@ -0,0 +1,62 @@ + +#ifndef BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED +#define BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: msvc_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { namespace aux { + +#if defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) + +template< bool > struct msvc_type_impl +{ + template< typename T > struct result_ + { + typedef typename T::type type; + }; +}; + +template<> struct msvc_type_impl +{ + template< typename T > struct result_ + { + typedef result_ type; + }; +}; + +template< typename T > struct msvc_type + : msvc_type_impl< is_msvc_eti_arg::value > + ::template result_ +{ +}; + +#else // BOOST_MPL_CFG_MSVC_70_ETI_BUG + +template< typename T > struct msvc_type +{ + typedef typename T::type type; +}; + +template<> struct msvc_type +{ + typedef int type; +}; + +#endif + +}}} + +#endif // BOOST_MPL_AUX_MSVC_TYPE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na.hpp new file mode 100644 index 0000000..b001113 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na.hpp @@ -0,0 +1,95 @@ + +#ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: na.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename T > +struct is_na + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +template<> +struct is_na + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +template< typename T > +struct is_not_na + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +template<> +struct is_not_na + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +template< typename T, typename U > struct if_na +{ + typedef T type; +}; + +template< typename U > struct if_na +{ + typedef U type; +}; +#else +template< typename T > struct if_na_impl +{ + template< typename U > struct apply + { + typedef T type; + }; +}; + +template<> struct if_na_impl +{ + template< typename U > struct apply + { + typedef U type; + }; +}; + +template< typename T, typename U > struct if_na + : if_na_impl::template apply +{ +}; +#endif + +}} + +#endif // BOOST_MPL_AUX_NA_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_assert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_assert.hpp new file mode 100644 index 0000000..2651a9e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_assert.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: na_assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !BOOST_WORKAROUND(_MSC_FULL_VER, <= 140050601) \ + && !BOOST_WORKAROUND(__EDG_VERSION__, <= 243) +# include +# define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \ + BOOST_MPL_ASSERT_NOT((boost::mpl::is_na)) \ +/**/ +#else +# include +# define BOOST_MPL_AUX_ASSERT_NOT_NA(x) \ + BOOST_STATIC_ASSERT(!boost::mpl::is_na::value) \ +/**/ +#endif + +#endif // BOOST_MPL_AUX_NA_ASSERT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_fwd.hpp new file mode 100644 index 0000000..f181b77 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_fwd.hpp @@ -0,0 +1,31 @@ + +#ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: na_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +// n.a. == not available +struct na +{ + typedef na type; + enum { value = 0 }; +}; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(na) + +#endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_spec.hpp new file mode 100644 index 0000000..a3387b7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/na_spec.hpp @@ -0,0 +1,175 @@ + +#ifndef BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED +#define BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: na_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define BOOST_MPL_AUX_NA_PARAMS(i) \ + BOOST_MPL_PP_ENUM(i, na) \ +/**/ + +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ +namespace aux { \ +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > \ +struct arity< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , N \ + > \ + : int_< BOOST_MPL_LIMIT_METAFUNCTION_ARITY > \ +{ \ +}; \ +} \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) /**/ +#endif + +#define BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ +template<> \ +struct name< BOOST_MPL_AUX_NA_PARAMS(i) > \ +{ \ + template< \ + BOOST_MPL_PP_PARAMS(i, typename T) \ + BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, typename T, na) \ + > \ + struct apply \ + : name< BOOST_MPL_PP_PARAMS(i, T) > \ + { \ + }; \ +}; \ +/**/ + +#if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +template<> \ +struct lambda< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , void_ \ + , true_ \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ +}; \ +template<> \ +struct lambda< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , void_ \ + , false_ \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ +}; \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +template< typename Tag > \ +struct lambda< \ + name< BOOST_MPL_AUX_NA_PARAMS(i) > \ + , Tag \ + BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(int_<-1>) \ + > \ +{ \ + typedef false_ is_le; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > result_; \ + typedef name< BOOST_MPL_AUX_NA_PARAMS(i) > type; \ +}; \ +/**/ +#endif + +#if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \ + || defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \ + && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) +# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ +namespace aux { \ +template< BOOST_MPL_PP_PARAMS(j, typename T) > \ +struct template_arity< \ + name< BOOST_MPL_PP_PARAMS(j, T) > \ + > \ + : int_ \ +{ \ +}; \ +\ +template<> \ +struct template_arity< \ + name< BOOST_MPL_PP_ENUM(i, na) > \ + > \ + : int_<-1> \ +{ \ +}; \ +} \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) /**/ +#endif + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ +template<> \ +struct name< BOOST_MPL_PP_ENUM(i, int) > \ +{ \ + typedef int type; \ + enum { value = 0 }; \ +}; \ +/**/ +#else +# define BOOST_MPL_AUX_NA_SPEC_ETI(i, name) /**/ +#endif + +#define BOOST_MPL_AUX_NA_PARAM(param) param = na + +#define BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ +BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ +BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, i, name) \ +/**/ + +#define BOOST_MPL_AUX_NA_SPEC(i, name) \ +BOOST_MPL_AUX_NA_SPEC_NO_ETI(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ +/**/ + +#define BOOST_MPL_AUX_NA_SPEC2(i, j, name) \ +BOOST_MPL_AUX_NA_SPEC_MAIN(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ETI(i, name) \ +BOOST_MPL_AUX_NA_SPEC_LAMBDA(i, name) \ +BOOST_MPL_AUX_NA_SPEC_ARITY(i, name) \ +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(i, j, name) \ +/**/ + + +#endif // BOOST_MPL_AUX_NA_SPEC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nested_type_wknd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nested_type_wknd.hpp new file mode 100644 index 0000000..9ab95da --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nested_type_wknd.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED +#define BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: nested_type_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \ + || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x530)) \ + || BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) + +namespace boost { namespace mpl { namespace aux { +template< typename T > struct nested_type_wknd + : T::type +{ +}; +}}} + +#if BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840)) +# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ + aux::nested_type_wknd \ +/**/ +#else +# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) \ + ::boost::mpl::aux::nested_type_wknd \ +/**/ +#endif + +#else // !BOOST_MPL_CFG_GCC et al. + +# define BOOST_MPL_AUX_NESTED_TYPE_WKND(T) T::type + +#endif + +#endif // BOOST_MPL_AUX_NESTED_TYPE_WKND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nttp_decl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nttp_decl.hpp new file mode 100644 index 0000000..8cdfcfd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/nttp_decl.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED +#define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: nttp_decl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if defined(BOOST_MPL_CFG_NTTP_BUG) + +typedef bool _mpl_nttp_bool; +typedef int _mpl_nttp_int; +typedef unsigned _mpl_nttp_unsigned; +typedef long _mpl_nttp_long; + +# include +# define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/ + +#else + +# define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/ + +#endif + +#endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_cast_utils.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_cast_utils.hpp new file mode 100644 index 0000000..b0a6c7a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_cast_utils.hpp @@ -0,0 +1,77 @@ + +#ifndef BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED +#define BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numeric_cast_utils.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< + typename F + , typename Tag1 + , typename Tag2 + > +struct cast1st_impl +{ + template< typename N1, typename N2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : apply_wrap2< + F + , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N1 >::type + , N2 + > + { +#else + { + typedef typename apply_wrap2< + F + , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N1 >::type + , N2 + >::type type; +#endif + }; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + > +struct cast2nd_impl +{ + template< typename N1, typename N2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : apply_wrap2< + F + , N1 + , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N2 >::type + > + { +#else + { + typedef typename apply_wrap2< + F + , N1 + , typename apply_wrap1< BOOST_MPL_AUX_NUMERIC_CAST,N2 >::type + >::type type; +#endif + }; +}; + +}}} + +#endif // BOOST_MPL_AUX_NUMERIC_CAST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_op.hpp new file mode 100644 index 0000000..4653460 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/numeric_op.hpp @@ -0,0 +1,315 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numeric_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#endif + +#include + +#if defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + || defined(BOOST_MPL_PREPROCESSING_MODE) + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + + +#if !defined(AUX778076_OP_ARITY) +# define AUX778076_OP_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY +#endif + +#if !defined(AUX778076_OP_IMPL_NAME) +# define AUX778076_OP_IMPL_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_impl) +#endif + +#if !defined(AUX778076_OP_TAG_NAME) +# define AUX778076_OP_TAG_NAME BOOST_PP_CAT(AUX778076_OP_PREFIX,_tag) +#endif + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct AUX778076_OP_IMPL_NAME + : if_c< + ( tag1_ > tag2_ ) +#else + > +struct AUX778076_OP_IMPL_NAME + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) +#endif + , aux::cast2nd_impl< AUX778076_OP_IMPL_NAME,Tag1,Tag2 > + , aux::cast1st_impl< AUX778076_OP_IMPL_NAME,Tag1,Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct AUX778076_OP_IMPL_NAME +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +template< typename Tag > struct AUX778076_OP_IMPL_NAME +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct AUX778076_OP_IMPL_NAME +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; +#else +template<> struct AUX778076_OP_IMPL_NAME +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct AUX778076_OP_IMPL_NAME +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; +#endif + + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && BOOST_WORKAROUND(BOOST_MSVC, >= 1300) +template< typename T > struct AUX778076_OP_TAG_NAME + : tag +{ +}; +#else +template< typename T > struct AUX778076_OP_TAG_NAME +{ + typedef typename T::tag type; +}; +#endif + + +#if AUX778076_OP_ARITY != 2 + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +# define AUX778076_OP_RIGHT_OPERAND(unused, i, N) , BOOST_PP_CAT(N, BOOST_MPL_PP_ADD(i, 2))> +# define AUX778076_OP_N_CALLS(i, N) \ + BOOST_MPL_PP_REPEAT( BOOST_PP_DEC(i), BOOST_MPL_PP_REPEAT_IDENTITY_FUNC, AUX778076_OP_NAME< ) \ + N1 BOOST_MPL_PP_REPEAT( BOOST_MPL_PP_SUB(i, 1), AUX778076_OP_RIGHT_OPERAND, N ) \ +/**/ + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) + > +struct AUX778076_OP_NAME + : AUX778076_OP_N_CALLS(AUX778076_OP_ARITY, N) +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + AUX778076_OP_ARITY + , AUX778076_OP_NAME + , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) + ) +}; + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,( BOOST_PP_DEC(AUX778076_OP_ARITY), 2, )) +#include BOOST_PP_ITERATE() + +# undef AUX778076_OP_N_CALLS +# undef AUX778076_OP_RIGHT_OPERAND + +# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +/// forward declaration +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct BOOST_PP_CAT(AUX778076_OP_NAME,2); + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + BOOST_MPL_PP_DEF_PARAMS_TAIL(2, typename N, na) + > +struct AUX778076_OP_NAME +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + : aux::msvc_eti_base< typename if_< +#else + : if_< +#endif + is_na + , BOOST_PP_CAT(AUX778076_OP_NAME,2) + , AUX778076_OP_NAME< + BOOST_PP_CAT(AUX778076_OP_NAME,2) + , BOOST_MPL_PP_EXT_PARAMS(3, BOOST_PP_INC(AUX778076_OP_ARITY), N) + > + >::type +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + > +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + AUX778076_OP_ARITY + , AUX778076_OP_NAME + , ( BOOST_MPL_PP_PARAMS(AUX778076_OP_ARITY, N) ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct BOOST_PP_CAT(AUX778076_OP_NAME,2) + +#endif + +#else // AUX778076_OP_ARITY == 2 + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct AUX778076_OP_NAME + +#endif + +#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) + : AUX778076_OP_IMPL_NAME< + typename AUX778076_OP_TAG_NAME::type + , typename AUX778076_OP_TAG_NAME::type + >::template apply::type +#else + : aux::msvc_eti_base< typename apply_wrap2< + AUX778076_OP_IMPL_NAME< + typename AUX778076_OP_TAG_NAME::type + , typename AUX778076_OP_TAG_NAME::type + > + , N1 + , N2 + >::type >::type +#endif +{ +#if AUX778076_OP_ARITY != 2 + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + AUX778076_OP_ARITY + , AUX778076_OP_NAME + , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(2, N, na) ) + ) +# else + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, BOOST_PP_CAT(AUX778076_OP_NAME,2), (N1, N2)) +# endif + +#else + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, AUX778076_OP_NAME, (N1, N2)) +#endif +}; + +BOOST_MPL_AUX_NA_SPEC2(2, AUX778076_OP_ARITY, AUX778076_OP_NAME) + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 + +# define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + BOOST_MPL_PP_PARAMS(i_, typename N) + > +struct AUX778076_OP_NAME +#if i_ != 2 + : AUX778076_OP_N_CALLS(i_, N) +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + AUX778076_OP_ARITY + , AUX778076_OP_NAME + , ( BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(i_, N, na) ) + ) +}; +#endif + +# undef i_ + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/order_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/order_impl.hpp new file mode 100644 index 0000000..968f293 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/order_impl.hpp @@ -0,0 +1,76 @@ + +#ifndef BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: order_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; requires 'Seq' to provide corresponding overloads +// of BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY + +template< typename Seq, typename Key > struct x_order_impl +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) +{ + BOOST_STATIC_CONSTANT(long, value = + sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY( + Seq + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) + ); + + typedef long_ type; + +#else // ISO98 C++ + : long_< + sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY( + Seq + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) + > +{ +#endif +}; + +template< typename Tag > +struct order_impl +{ + template< typename Seq, typename Key > struct apply + : if_< + typename has_key_impl::template apply + , x_order_impl + , void_ + >::type + { + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2,order_impl) + +}} + +#endif // BOOST_MPL_AUX_ORDER_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/overload_names.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/overload_names.hpp new file mode 100644 index 0000000..ce93752 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/overload_names.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED +#define BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: overload_names.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) + +# include + +# define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY operator/ +# define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER operator| +# define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY operator|| +# define BOOST_MPL_AUX_OVERLOAD_IS_MASKED operator% + +# define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) / x +# define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) | x +# define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) || x +# define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x) BOOST_MPL_AUX_PTR_TO_REF(T) % x + +#else + +# define BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY value_by_key_ +# define BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER item_by_order_ +# define BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY order_by_key_ +# define BOOST_MPL_AUX_OVERLOAD_IS_MASKED is_masked_ + +# define BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY(T, x) T::BOOST_MPL_AUX_OVERLOAD_VALUE_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x ) +# define BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER(T, x) T::BOOST_MPL_AUX_OVERLOAD_ITEM_BY_ORDER( BOOST_MPL_AUX_PTR_TO_REF(T), x ) +# define BOOST_MPL_AUX_OVERLOAD_CALL_ORDER_BY_KEY(T, x) T::BOOST_MPL_AUX_OVERLOAD_ORDER_BY_KEY( BOOST_MPL_AUX_PTR_TO_REF(T), x ) +# define BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED(T, x) T::BOOST_MPL_AUX_OVERLOAD_IS_MASKED( BOOST_MPL_AUX_PTR_TO_REF(T), x ) + +#endif + +#endif // BOOST_MPL_AUX_OVERLOAD_NAMES_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/partition_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/partition_op.hpp new file mode 100644 index 0000000..e672253 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/partition_op.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED +#define BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED + +// Copyright Eric Friedman 2003 +// 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: partition_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< typename Pred, typename In1Op, typename In2Op > +struct partition_op +{ + template< typename State, typename T > + struct apply + { + typedef typename State::first first_; + typedef typename State::second second_; + typedef typename apply1< Pred,T >::type pred_; + + typedef typename eval_if< + pred_ + , apply2 + , apply2 + >::type result_; + + typedef typename if_< + pred_ + , pair< result_,second_ > + , pair< first_,result_ > + >::type type; + }; +}; + +} // namespace aux + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::partition_op) + +}} + +#endif // BOOST_MPL_AUX_PARTITION_OP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_back_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_back_impl.hpp new file mode 100644 index 0000000..1743d74 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_back_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_POP_BACK_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: pop_back_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +// no default implementation; the definition is needed to make MSVC happy + +template< typename Tag > +struct pop_back_impl +{ + template< typename Sequence > struct apply; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_back_impl) + +}} + +#endif // BOOST_MPL_AUX_POP_BACK_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_front_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_front_impl.hpp new file mode 100644 index 0000000..6730f4d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/pop_front_impl.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_POP_FRONT_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: pop_front_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// no default implementation; the definition is needed to make MSVC happy + +template< typename Tag > +struct pop_front_impl +{ + template< typename Sequence > struct apply + // conservatively placed, but maybe should go outside surrounding + // braces. +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + { + typedef int type; + } +#endif + ; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, pop_front_impl) + +}} + +#endif // BOOST_MPL_AUX_POP_FRONT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp new file mode 100644 index 0000000..d4666be --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp new file mode 100644 index 0000000..1424fc1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/and.hpp new file mode 100644 index 0000000..3ab3249 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp new file mode 100644 index 0000000..844db68 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp new file mode 100644 index 0000000..80a2835 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp new file mode 100644 index 0000000..0efcb0e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp @@ -0,0 +1,461 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< typename F, bool F_has_apply > +struct apply_wrap_impl0_bcb { + typedef typename F::template apply type; +}; + +template< typename F > +struct apply_wrap_impl0_bcb< F,true > { + typedef typename F::apply type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef apply_wrap_impl0_bcb< F, aux::has_apply::value >::type type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp new file mode 100644 index 0000000..c87ef00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/arg.hpp @@ -0,0 +1,117 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp new file mode 100644 index 0000000..a525a9f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp @@ -0,0 +1,300 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp new file mode 100644 index 0000000..e04f409 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind.hpp @@ -0,0 +1,397 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp new file mode 100644 index 0000000..77802c5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp new file mode 100644 index 0000000..da520a7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp new file mode 100644 index 0000000..9c2e186 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp new file mode 100644 index 0000000..b7f8ff4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp new file mode 100644 index 0000000..0b0de67 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp new file mode 100644 index 0000000..74765f9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp new file mode 100644 index 0000000..6933512 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp new file mode 100644 index 0000000..6c5be57 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp new file mode 100644 index 0000000..d987a99 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp new file mode 100644 index 0000000..a9153e9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp new file mode 100644 index 0000000..05d42d6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp new file mode 100644 index 0000000..38fde94 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/inherit.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1, typename T2, typename T3, typename T4, typename T5 + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp new file mode 100644 index 0000000..b93d59d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp new file mode 100644 index 0000000..e6bc9b8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp new file mode 100644 index 0000000..2595766 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less.hpp new file mode 100644 index 0000000..b72f534 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp new file mode 100644 index 0000000..a9362e2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list.hpp new file mode 100644 index 0000000..3340e91 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp new file mode 100644 index 0000000..1fc8a10 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/map.hpp new file mode 100644 index 0000000..fd678b4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp new file mode 100644 index 0000000..c8f70d2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp new file mode 100644 index 0000000..1d30682 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp new file mode 100644 index 0000000..76a4152 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/or.hpp new file mode 100644 index 0000000..0a62060 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp new file mode 100644 index 0000000..ea973c8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp new file mode 100644 index 0000000..6a9a4a0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp new file mode 100644 index 0000000..69bb8d5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/quote.hpp @@ -0,0 +1,119 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + +{ + typedef typename T::type type; +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + { + typedef typename quote_impl< + F + , aux::has_type< F >::value + >::type type; + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + { + typedef typename quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + >::type type; + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + { + typedef typename quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + >::type type; + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + { + typedef typename quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + >::type type; + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + { + typedef typename quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + >::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp new file mode 100644 index 0000000..e453bca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..454ed8e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set.hpp new file mode 100644 index 0000000..089ce0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp new file mode 100644 index 0000000..6351904 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp new file mode 100644 index 0000000..6f99bd9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp new file mode 100644 index 0000000..64d80fd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp new file mode 100644 index 0000000..a0b058f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/times.hpp new file mode 100644 index 0000000..69a885a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp new file mode 100644 index 0000000..cedd428 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; + + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp new file mode 100644 index 0000000..e1f3c62 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp new file mode 100644 index 0000000..d568ac9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp new file mode 100644 index 0000000..71e3b78 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp new file mode 100644 index 0000000..9508903 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp new file mode 100644 index 0000000..b1c5573 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp new file mode 100644 index 0000000..8603cc3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp @@ -0,0 +1,456 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef typename F::template apply< + +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp new file mode 100644 index 0000000..3a7bf5e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp @@ -0,0 +1,306 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp new file mode 100644 index 0000000..3b8e688 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind.hpp @@ -0,0 +1,403 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp new file mode 100644 index 0000000..0be46fa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp new file mode 100644 index 0000000..38cf55e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp new file mode 100644 index 0000000..2f4162d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp new file mode 100644 index 0000000..b4daf8d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp new file mode 100644 index 0000000..ede9716 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp new file mode 100644 index 0000000..55d9396 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp new file mode 100644 index 0000000..211236e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp new file mode 100644 index 0000000..6d94f48 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp new file mode 100644 index 0000000..b9297cd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp new file mode 100644 index 0000000..e626a2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp new file mode 100644 index 0000000..a4bc28e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp new file mode 100644 index 0000000..3eb3bae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp new file mode 100644 index 0000000..f633d1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp new file mode 100644 index 0000000..01dc25f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp new file mode 100644 index 0000000..233e936 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp new file mode 100644 index 0000000..1dcd58b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp new file mode 100644 index 0000000..578474e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp new file mode 100644 index 0000000..2f22291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp new file mode 100644 index 0000000..afbdda2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp new file mode 100644 index 0000000..d8f81ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp new file mode 100644 index 0000000..a68e69e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp new file mode 100644 index 0000000..1a05656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp new file mode 100644 index 0000000..631898f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp new file mode 100644 index 0000000..df25a69 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp new file mode 100644 index 0000000..5907002 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..b85b2f2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp new file mode 100644 index 0000000..b7e3f0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp new file mode 100644 index 0000000..acdf68b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp new file mode 100644 index 0000000..81679a1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp new file mode 100644 index 0000000..55b7821 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp new file mode 100644 index 0000000..b81c2d3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp new file mode 100644 index 0000000..46e68cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp new file mode 100644 index 0000000..b93ae9a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; + + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp new file mode 100644 index 0000000..d1da8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp new file mode 100644 index 0000000..ce33340 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp new file mode 100644 index 0000000..d4666be --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp new file mode 100644 index 0000000..1424fc1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp new file mode 100644 index 0000000..3ab3249 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp new file mode 100644 index 0000000..844db68 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp new file mode 100644 index 0000000..80a2835 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp new file mode 100644 index 0000000..8e385bd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp @@ -0,0 +1,456 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef typename F::template apply< + +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp new file mode 100644 index 0000000..c87ef00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp @@ -0,0 +1,117 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp new file mode 100644 index 0000000..a525a9f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp @@ -0,0 +1,300 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp new file mode 100644 index 0000000..e04f409 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp @@ -0,0 +1,397 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1, typename U2, typename U3, typename U4, typename U5 + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp new file mode 100644 index 0000000..77802c5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp new file mode 100644 index 0000000..da520a7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp new file mode 100644 index 0000000..9c2e186 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp new file mode 100644 index 0000000..b7f8ff4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp new file mode 100644 index 0000000..0b0de67 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp new file mode 100644 index 0000000..74765f9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp new file mode 100644 index 0000000..6933512 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp new file mode 100644 index 0000000..6c5be57 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp new file mode 100644 index 0000000..d987a99 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp new file mode 100644 index 0000000..a9153e9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp new file mode 100644 index 0000000..05d42d6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp new file mode 100644 index 0000000..38fde94 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1, typename T2, typename T3, typename T4, typename T5 + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp new file mode 100644 index 0000000..b93d59d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp new file mode 100644 index 0000000..e6bc9b8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp new file mode 100644 index 0000000..2595766 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp new file mode 100644 index 0000000..b72f534 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp new file mode 100644 index 0000000..a9362e2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp new file mode 100644 index 0000000..3340e91 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp new file mode 100644 index 0000000..1fc8a10 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp new file mode 100644 index 0000000..fd678b4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp new file mode 100644 index 0000000..c8f70d2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp new file mode 100644 index 0000000..1d30682 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp new file mode 100644 index 0000000..76a4152 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp new file mode 100644 index 0000000..0a62060 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp new file mode 100644 index 0000000..ea973c8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp new file mode 100644 index 0000000..6a9a4a0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp new file mode 100644 index 0000000..8eaab71 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp new file mode 100644 index 0000000..e453bca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..454ed8e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp new file mode 100644 index 0000000..089ce0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp new file mode 100644 index 0000000..6351904 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp new file mode 100644 index 0000000..6f99bd9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp new file mode 100644 index 0000000..64d80fd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp new file mode 100644 index 0000000..a0b058f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp new file mode 100644 index 0000000..69a885a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp new file mode 100644 index 0000000..cedd428 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; + + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp new file mode 100644 index 0000000..e1f3c62 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp new file mode 100644 index 0000000..d568ac9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// *Preprocessed* version of the main "vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/and.hpp new file mode 100644 index 0000000..71e3b78 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp new file mode 100644 index 0000000..9508903 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp new file mode 100644 index 0000000..b1c5573 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp new file mode 100644 index 0000000..e6de047 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp new file mode 100644 index 0000000..84f1cb2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp @@ -0,0 +1,406 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F, int dummy_ + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, int dummy_ + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1, int dummy_ + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, int dummy_ + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp new file mode 100644 index 0000000..97d7449 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind.hpp @@ -0,0 +1,515 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F, int dummy_ + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, int dummy_ + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1, int dummy_ + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, int dummy_ + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, int dummy_ + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp new file mode 100644 index 0000000..dd59ba3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp @@ -0,0 +1,53 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, int dummy_ = 0 + > +struct bind; + +template< + typename F, int dummy_ = 0 + > +struct bind0; + +template< + typename F, typename T1, int dummy_ = 0 + > +struct bind1; + +template< + typename F, typename T1, typename T2, int dummy_ = 0 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3, int dummy_ = 0 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , int dummy_ = 0 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, int dummy_ = 0 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp new file mode 100644 index 0000000..38cf55e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp new file mode 100644 index 0000000..2f4162d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp new file mode 100644 index 0000000..b4daf8d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp new file mode 100644 index 0000000..ede9716 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp new file mode 100644 index 0000000..55d9396 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp new file mode 100644 index 0000000..211236e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp new file mode 100644 index 0000000..6d94f48 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp new file mode 100644 index 0000000..c77602f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp @@ -0,0 +1,536 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp new file mode 100644 index 0000000..e626a2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp new file mode 100644 index 0000000..a4bc28e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp new file mode 100644 index 0000000..3eb3bae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp new file mode 100644 index 0000000..f633d1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less.hpp new file mode 100644 index 0000000..01dc25f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp new file mode 100644 index 0000000..233e936 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list.hpp new file mode 100644 index 0000000..1dcd58b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp new file mode 100644 index 0000000..578474e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/map.hpp new file mode 100644 index 0000000..2f22291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp new file mode 100644 index 0000000..afbdda2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp new file mode 100644 index 0000000..d8f81ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp new file mode 100644 index 0000000..a68e69e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/or.hpp new file mode 100644 index 0000000..1a05656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp new file mode 100644 index 0000000..631898f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp new file mode 100644 index 0000000..4b4e539 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp new file mode 100644 index 0000000..1c4364a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..f06c88b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set.hpp new file mode 100644 index 0000000..b7e3f0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp new file mode 100644 index 0000000..acdf68b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp new file mode 100644 index 0000000..81679a1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp new file mode 100644 index 0000000..55b7821 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp new file mode 100644 index 0000000..03f2dbd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/template_arity.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/times.hpp new file mode 100644 index 0000000..46e68cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp new file mode 100644 index 0000000..7f8c577 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp new file mode 100644 index 0000000..d1da8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp new file mode 100644 index 0000000..ce33340 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/dmc/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/and.hpp new file mode 100644 index 0000000..71e3b78 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp new file mode 100644 index 0000000..9508903 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp new file mode 100644 index 0000000..b1c5573 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp new file mode 100644 index 0000000..e6de047 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp new file mode 100644 index 0000000..74072c9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp @@ -0,0 +1,440 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp new file mode 100644 index 0000000..888fbc6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp @@ -0,0 +1,561 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp new file mode 100644 index 0000000..e47dd92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp new file mode 100644 index 0000000..38cf55e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp new file mode 100644 index 0000000..2f4162d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp new file mode 100644 index 0000000..b4daf8d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp new file mode 100644 index 0000000..ede9716 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp new file mode 100644 index 0000000..55d9396 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp new file mode 100644 index 0000000..211236e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp new file mode 100644 index 0000000..6d94f48 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp new file mode 100644 index 0000000..b9297cd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp @@ -0,0 +1,558 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Arity + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg,Tag, int_< -1 > > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + , int_<1> + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + , int_<1> + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + , int_<2> + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + , int_<2> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + , int_<3> + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + , int_<3> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + , int_<4> + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + , int_<4> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + , int_<5> + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + , int_<5> + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect,Tag, int_<1> > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + , int_<6> + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +template< + typename F + , typename Tag1 + , typename Tag2 + , typename Arity + > +struct lambda< + lambda< F,Tag1,Arity > + , Tag2 + , int_<3> + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef bind1< quote1, typename l1::result_ > arity_; + typedef lambda< typename if_< is_le,arity_,Arity >::type, Tag2 > l3; + typedef aux::le_result3 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 3, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp new file mode 100644 index 0000000..e626a2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp new file mode 100644 index 0000000..a4bc28e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp new file mode 100644 index 0000000..3eb3bae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp new file mode 100644 index 0000000..f633d1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less.hpp new file mode 100644 index 0000000..01dc25f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp new file mode 100644 index 0000000..233e936 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list.hpp new file mode 100644 index 0000000..1dcd58b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp new file mode 100644 index 0000000..578474e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/map.hpp new file mode 100644 index 0000000..2f22291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp new file mode 100644 index 0000000..afbdda2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp new file mode 100644 index 0000000..d8f81ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp new file mode 100644 index 0000000..a68e69e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/or.hpp new file mode 100644 index 0000000..1a05656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp new file mode 100644 index 0000000..631898f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp new file mode 100644 index 0000000..d56b311 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl +{ + typedef typename T::type type; +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp new file mode 100644 index 0000000..1c4364a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..f06c88b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set.hpp new file mode 100644 index 0000000..b7e3f0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp new file mode 100644 index 0000000..acdf68b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp new file mode 100644 index 0000000..81679a1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp new file mode 100644 index 0000000..55b7821 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp new file mode 100644 index 0000000..f386811 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< int N > struct arity_tag +{ + typedef char (&type)[N + 1]; +}; + +template< + int C1, int C2, int C3, int C4, int C5, int C6 + > +struct max_arity +{ + BOOST_STATIC_CONSTANT(int, value = + ( C6 > 0 ? C6 : ( C5 > 0 ? C5 : ( C4 > 0 ? C4 : ( C3 > 0 ? C3 : ( C2 > 0 ? C2 : ( C1 > 0 ? C1 : -1 ) ) ) ) ) ) + + ); +}; + +arity_tag<0>::type arity_helper(...); + +template< + template< typename P1 > class F + , typename T1 + > +typename arity_tag<1>::type +arity_helper(type_wrapper< F >, arity_tag<1>); + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + > +typename arity_tag<2>::type +arity_helper(type_wrapper< F< T1,T2 > >, arity_tag<2>); + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + > +typename arity_tag<3>::type +arity_helper(type_wrapper< F< T1,T2,T3 > >, arity_tag<3>); + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + > +typename arity_tag<4>::type +arity_helper(type_wrapper< F< T1,T2,T3,T4 > >, arity_tag<4>); + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + > +typename arity_tag<5>::type +arity_helper(type_wrapper< F< T1,T2,T3,T4,T5 > >, arity_tag<5>); + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6 + > +typename arity_tag<6>::type +arity_helper(type_wrapper< F< T1,T2,T3,T4,T5,T6 > >, arity_tag<6>); +template< typename F, int N > +struct template_arity_impl +{ + BOOST_STATIC_CONSTANT(int, value = + sizeof(arity_helper(type_wrapper(), arity_tag())) - 1 + ); +}; + +template< typename F > +struct template_arity +{ + BOOST_STATIC_CONSTANT(int, value = ( + max_arity< template_arity_impl< F,1 >::value, template_arity_impl< F,2 >::value, template_arity_impl< F,3 >::value, template_arity_impl< F,4 >::value, template_arity_impl< F,5 >::value, template_arity_impl< F,6 >::value >::value + + )); + + typedef mpl::int_ type; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/times.hpp new file mode 100644 index 0000000..46e68cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp new file mode 100644 index 0000000..7f8c577 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp new file mode 100644 index 0000000..d1da8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp new file mode 100644 index 0000000..ce33340 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp new file mode 100644 index 0000000..ddb9d34 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp @@ -0,0 +1,132 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp new file mode 100644 index 0000000..1b20cdc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp @@ -0,0 +1,132 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; + + /// ETI workaround + template<> struct apply + { + typedef int type; + }; + +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp new file mode 100644 index 0000000..e2b4b08 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/and.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; +}; + +template<> +struct and_impl + ::result_< true_,true_,true_,true_ > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp new file mode 100644 index 0000000..86b2780 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + +{ + typedef typename apply_wrap0< + typename lambda::type + + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +/// workaround for ETI bug +template<> +struct apply0 +{ + typedef int type; +}; + +template< + typename F, typename T1 + > +struct apply1 + +{ + typedef typename apply_wrap1< + typename lambda::type + , T1 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +/// workaround for ETI bug +template<> +struct apply1< int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + +{ + typedef typename apply_wrap2< + typename lambda::type + , T1, T2 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +/// workaround for ETI bug +template<> +struct apply2< int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + +{ + typedef typename apply_wrap3< + typename lambda::type + , T1, T2, T3 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +/// workaround for ETI bug +template<> +struct apply3< int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + +{ + typedef typename apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +/// workaround for ETI bug +template<> +struct apply4< int,int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + +{ + typedef typename apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// workaround for ETI bug +template<> +struct apply5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp new file mode 100644 index 0000000..606c2ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp new file mode 100644 index 0000000..3b06c70 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp @@ -0,0 +1,247 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename F> +struct msvc_apply0 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P = int > struct apply + { + typedef int type; + }; + }; + + template< typename T = int > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply<> + { + }; + +}; + +template< + typename F + > +struct apply_wrap0 +{ + typedef typename msvc_apply0::template result_< + + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap0 +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply1 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P1 > struct apply + { + typedef int type; + }; + }; + + template< typename T1 > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply + { + }; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 +{ + typedef typename msvc_apply1::template result_< + T1 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap1< int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply2 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P1, typename P2 > struct apply + { + typedef int type; + }; + }; + + template< typename T1, typename T2 > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2 > + { + }; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 +{ + typedef typename msvc_apply2::template result_< + T1, T2 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap2< int,int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply3 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< typename P1, typename P2, typename P3 > struct apply + { + typedef int type; + }; + }; + + template< typename T1, typename T2, typename T3 > struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2,T3 > + { + }; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 +{ + typedef typename msvc_apply3::template result_< + T1, T2, T3 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap3< int,int,int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply4 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< + typename P1, typename P2, typename P3, typename P4 + > + struct apply + { + typedef int type; + }; + }; + + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2,T3,T4 > + { + }; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 +{ + typedef typename msvc_apply4::template result_< + T1, T2, T3, T4 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap4< int,int,int,int,int > +{ + typedef int type; +}; + +template< typename F> +struct msvc_apply5 +{ + template< bool > struct f_ : F {}; + template<> struct f_ + { + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + struct apply + { + typedef int type; + }; + }; + + template< + typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + : f_< aux::msvc_never_true::value > + ::template apply< T1,T2,T3,T4,T5 > + { + }; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 +{ + typedef typename msvc_apply5::template result_< + T1, T2, T3, T4, T5 + >::type type; +}; + +/// workaround for ETI bug +template<> +struct apply_wrap5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp new file mode 100644 index 0000000..5b1d0cc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp @@ -0,0 +1,328 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp new file mode 100644 index 0000000..967e89e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind.hpp @@ -0,0 +1,432 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg< -1 > > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp new file mode 100644 index 0000000..0be46fa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp new file mode 100644 index 0000000..fb00e1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitand.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitand_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitand_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + + : if_< + + is_na + , bitand_2< N1,N2 > + , bitand_< + bitand_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitand_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitand_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitand_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp new file mode 100644 index 0000000..a354383 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitor.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + + : if_< + + is_na + , bitor_2< N1,N2 > + , bitor_< + bitor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp new file mode 100644 index 0000000..5384dfd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitxor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitxor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + + : if_< + + is_na + , bitxor_2< N1,N2 > + , bitxor_< + bitxor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitxor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitxor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitxor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp new file mode 100644 index 0000000..fb8ef1a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/deque.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct deque_chooser; + +} + +namespace aux { + +template<> +struct deque_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct deque_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque_impl +{ + typedef aux::deque_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::deque_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque + : aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp new file mode 100644 index 0000000..14d5636 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/divides.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct divides_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct divides2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + + : if_< + + is_na + , divides2< N1,N2 > + , divides< + divides2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct divides2 + : aux::msvc_eti_base< typename apply_wrap2< + divides_impl< + typename divides_tag::type + , typename divides_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct divides_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::divides_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp new file mode 100644 index 0000000..e1e6711 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + : aux::msvc_eti_base< typename apply_wrap2< + equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp new file mode 100644 index 0000000..8387f65 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp @@ -0,0 +1,293 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< int N > +struct fold_chunk; + +template<> struct fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< int N > +struct fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step; + +template< + typename Last + , typename State + > +struct fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , fold_null_step< Last,State > + , fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step +{ + typedef fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl + : fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp new file mode 100644 index 0000000..78cb47c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp new file mode 100644 index 0000000..f37d9e6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + : aux::msvc_eti_base< typename apply_wrap2< + greater_impl< + typename greater_tag::type + , typename greater_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp new file mode 100644 index 0000000..939c056 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + : aux::msvc_eti_base< typename apply_wrap2< + greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp new file mode 100644 index 0000000..c61fc27 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/inherit.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl< false,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl< true,false > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl< true,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2< T1,T2 >,T1, T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp new file mode 100644 index 0000000..184cf15 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp @@ -0,0 +1,293 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< int N > +struct iter_fold_chunk; + +template<> struct iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< int N > +struct iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step; + +template< + typename Last + , typename State + > +struct iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , iter_fold_null_step< Last,State > + , iter_fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step +{ + typedef iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl + : iter_fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp new file mode 100644 index 0000000..9729859 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + : aux::msvc_eti_base< typename apply_wrap2< + less_impl< + typename less_tag::type + , typename less_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > + BOOST_MPL_AUX_VALUE_WKND(N1)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp new file mode 100644 index 0000000..6936ded --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + : aux::msvc_eti_base< typename apply_wrap2< + less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp new file mode 100644 index 0000000..d1e03d2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_chooser; + +} + +namespace aux { + +template<> +struct list_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef list0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct list_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list_impl +{ + typedef aux::list_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::list_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list + : aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp new file mode 100644 index 0000000..b821770 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/list_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_c_chooser; + +} + +namespace aux { + +template<> +struct list_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct list_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c_impl +{ + typedef aux::list_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::list_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c + : aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp new file mode 100644 index 0000000..0e1ae00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/map.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct map_chooser; + +} + +namespace aux { + +template<> +struct map_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef map0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct map_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map_impl +{ + typedef aux::map_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::map_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map + : aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp new file mode 100644 index 0000000..5e599c7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/minus.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct minus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct minus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + + : if_< + + is_na + , minus2< N1,N2 > + , minus< + minus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct minus2 + : aux::msvc_eti_base< typename apply_wrap2< + minus_impl< + typename minus_tag::type + , typename minus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct minus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::minus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp new file mode 100644 index 0000000..096f848 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/modulus.hpp @@ -0,0 +1,115 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct modulus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + : aux::msvc_eti_base< typename apply_wrap2< + modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct modulus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::modulus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp new file mode 100644 index 0000000..3d6dcc6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct not_equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + : aux::msvc_eti_base< typename apply_wrap2< + not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp new file mode 100644 index 0000000..c404d09 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/or.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; +}; + +template<> +struct or_impl + ::result_< false_,false_,false_,false_ > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp new file mode 100644 index 0000000..b1ec392 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/plus.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct plus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct plus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + + : if_< + + is_na + , plus2< N1,N2 > + , plus< + plus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct plus2 + : aux::msvc_eti_base< typename apply_wrap2< + plus_impl< + typename plus_tag::type + , typename plus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct plus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::plus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp new file mode 100644 index 0000000..df25a69 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp new file mode 100644 index 0000000..4127c6f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp @@ -0,0 +1,343 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..3ff031f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp @@ -0,0 +1,343 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + + /// ETI workaround + template<> struct result_< int,int,int,int,int > + { + typedef int state; + typedef int iterator; + }; + +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp new file mode 100644 index 0000000..aa1a8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_chooser; + +} + +namespace aux { + +template<> +struct set_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef set0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct set_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set_impl +{ + typedef aux::set_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::set_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set + : aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp new file mode 100644 index 0000000..eb0f084 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/set_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_c_chooser; + +} + +namespace aux { + +template<> +struct set_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct set_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c_impl +{ + typedef aux::set_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::set_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c + : aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp new file mode 100644 index 0000000..dc35ec9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_left_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + : aux::msvc_eti_base< typename apply_wrap2< + shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_left_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n << s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_left_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp new file mode 100644 index 0000000..d4d960f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_right_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + : aux::msvc_eti_base< typename apply_wrap2< + shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_right_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n >> s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_right_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp new file mode 100644 index 0000000..1146ec2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +template<> +struct template_arity + : mpl::int_< -1 > +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp new file mode 100644 index 0000000..be6371c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/times.hpp @@ -0,0 +1,148 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct times_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct times2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + + : if_< + + is_na + , times2< N1,N2 > + , times< + times2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct times2 + : aux::msvc_eti_base< typename apply_wrap2< + times_impl< + typename times_tag::type + , typename times_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct times_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::times_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp new file mode 100644 index 0000000..17718d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp @@ -0,0 +1,109 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; + +template<> struct unpack_args_impl<0> +{ + template< typename F, typename Args > struct apply + : apply0< + F + > + { + }; +}; + +template<> struct unpack_args_impl<1> +{ + template< typename F, typename Args > struct apply + : apply1< + F + , typename at_c< Args,0 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<2> +{ + template< typename F, typename Args > struct apply + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<3> +{ + template< typename F, typename Args > struct apply + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<4> +{ + template< typename F, typename Args > struct apply + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<5> +{ + template< typename F, typename Args > struct apply + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > + { + }; +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp new file mode 100644 index 0000000..6c6fca5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_chooser; + +} + +namespace aux { + +template<> +struct vector_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct vector_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector_impl +{ + typedef aux::vector_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::vector_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector + : aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp new file mode 100644 index 0000000..894023e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_c_chooser; + +} + +namespace aux { + +template<> +struct vector_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector1_c< + T, T(C0) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector2_c< + T, T(C0), T(C1) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector3_c< + T, T(C0), T(C1), T(C2) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector4_c< + T, T(C0), T(C1), T(C2), T(C3) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector5_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector6_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector7_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector8_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector9_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector10_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector11_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector12_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector13_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector14_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector15_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector16_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector17_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector18_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector19_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector20_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct vector_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c_impl +{ + typedef aux::vector_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::vector_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c + : aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp new file mode 100644 index 0000000..cab8bb6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/and.hpp @@ -0,0 +1,71 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; + + template<> struct result_< true_,true_,true_,true_ > + : true_ + { + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp new file mode 100644 index 0000000..7cdd9d6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply.hpp @@ -0,0 +1,160 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +/// workaround for ETI bug +template<> +struct apply0 +{ + typedef int type; +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +/// workaround for ETI bug +template<> +struct apply1< int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +/// workaround for ETI bug +template<> +struct apply2< int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +/// workaround for ETI bug +template<> +struct apply3< int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +/// workaround for ETI bug +template<> +struct apply4< int,int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// workaround for ETI bug +template<> +struct apply5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp new file mode 100644 index 0000000..606c2ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp new file mode 100644 index 0000000..ba0f5a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp @@ -0,0 +1,138 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + +{ + typedef typename F::template apply< + + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap0 +{ + typedef int type; +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + +{ + typedef typename F::template apply< + T1 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap1< int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + +{ + typedef typename F::template apply< + T1, T2 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap2< int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + +{ + typedef typename F::template apply< + T1, T2, T3 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap3< int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + +{ + typedef typename F::template apply< + T1, T2, T3, T4 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap4< int,int,int,int,int > +{ + typedef int type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + >::type type; + +}; + +/// workaround for ETI bug +template<> +struct apply_wrap5< int,int,int,int,int,int > +{ + typedef int type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp new file mode 100644 index 0000000..5b1d0cc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp @@ -0,0 +1,328 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp new file mode 100644 index 0000000..967e89e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind.hpp @@ -0,0 +1,432 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg< -1 > > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp new file mode 100644 index 0000000..0be46fa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp new file mode 100644 index 0000000..428f6b4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitand.hpp @@ -0,0 +1,151 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitand_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitand_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + + : aux::msvc_eti_base< typename if_< + + is_na + , bitand_2< N1,N2 > + , bitand_< + bitand_2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitand_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitand_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitand_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp new file mode 100644 index 0000000..65a6741 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitor.hpp @@ -0,0 +1,151 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + + : aux::msvc_eti_base< typename if_< + + is_na + , bitor_2< N1,N2 > + , bitor_< + bitor_2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp new file mode 100644 index 0000000..9a6c202 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp @@ -0,0 +1,151 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct bitxor_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitxor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + + : aux::msvc_eti_base< typename if_< + + is_na + , bitxor_2< N1,N2 > + , bitxor_< + bitxor_2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitxor_2 + : aux::msvc_eti_base< typename apply_wrap2< + bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitxor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitxor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp new file mode 100644 index 0000000..fb8ef1a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/deque.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct deque_chooser; + +} + +namespace aux { + +template<> +struct deque_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct deque_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque_impl +{ + typedef aux::deque_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::deque_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque + : aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp new file mode 100644 index 0000000..87449e9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/divides.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct divides_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct divides2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + + : aux::msvc_eti_base< typename if_< + + is_na + , divides2< N1,N2 > + , divides< + divides2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct divides2 + : aux::msvc_eti_base< typename apply_wrap2< + divides_impl< + typename divides_tag::type + , typename divides_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct divides_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::divides_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp new file mode 100644 index 0000000..6c22ddf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + : aux::msvc_eti_base< typename apply_wrap2< + equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp new file mode 100644 index 0000000..07659ae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< int N > +struct fold_chunk; + +template<> struct fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step; + +template< + typename Last + , typename State + > +struct fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , fold_null_step< Last,State > + , fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step +{ + typedef fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl + : fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp new file mode 100644 index 0000000..78cb47c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp new file mode 100644 index 0000000..e647020 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + : aux::msvc_eti_base< typename apply_wrap2< + greater_impl< + typename greater_tag::type + , typename greater_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp new file mode 100644 index 0000000..2511919 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct greater_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + : aux::msvc_eti_base< typename apply_wrap2< + greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp new file mode 100644 index 0000000..c61fc27 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/inherit.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl< false,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl< true,false > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl< true,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2< T1,T2 >,T1, T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp new file mode 100644 index 0000000..aa74420 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< int N > +struct iter_fold_chunk; + +template<> struct iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step; + +template< + typename Last + , typename State + > +struct iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , iter_fold_null_step< Last,State > + , iter_fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step +{ + typedef iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl + : iter_fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp new file mode 100644 index 0000000..e098b12 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + : aux::msvc_eti_base< typename apply_wrap2< + less_impl< + typename less_tag::type + , typename less_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > + BOOST_MPL_AUX_VALUE_WKND(N1)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp new file mode 100644 index 0000000..37316f0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct less_equal_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + : aux::msvc_eti_base< typename apply_wrap2< + less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp new file mode 100644 index 0000000..d1e03d2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_chooser; + +} + +namespace aux { + +template<> +struct list_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef list0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct list_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list_impl +{ + typedef aux::list_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::list_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list + : aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp new file mode 100644 index 0000000..b821770 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/list_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_c_chooser; + +} + +namespace aux { + +template<> +struct list_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct list_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c_impl +{ + typedef aux::list_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::list_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c + : aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp new file mode 100644 index 0000000..0e1ae00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/map.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct map_chooser; + +} + +namespace aux { + +template<> +struct map_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef map0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct map_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map_impl +{ + typedef aux::map_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::map_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map + : aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp new file mode 100644 index 0000000..ed9b5dc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/minus.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct minus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct minus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + + : aux::msvc_eti_base< typename if_< + + is_na + , minus2< N1,N2 > + , minus< + minus2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct minus2 + : aux::msvc_eti_base< typename apply_wrap2< + minus_impl< + typename minus_tag::type + , typename minus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct minus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::minus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp new file mode 100644 index 0000000..6538fef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/modulus.hpp @@ -0,0 +1,115 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct modulus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + : aux::msvc_eti_base< typename apply_wrap2< + modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct modulus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::modulus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp new file mode 100644 index 0000000..7ed70de --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp @@ -0,0 +1,102 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct not_equal_to_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + : aux::msvc_eti_base< typename apply_wrap2< + not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp new file mode 100644 index 0000000..4a94717 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/or.hpp @@ -0,0 +1,71 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; + + template<> struct result_< false_,false_,false_,false_ > + : false_ + { + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp new file mode 100644 index 0000000..f527b99 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/plus.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct plus_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct plus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + + : aux::msvc_eti_base< typename if_< + + is_na + , plus2< N1,N2 > + , plus< + plus2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct plus2 + : aux::msvc_eti_base< typename apply_wrap2< + plus_impl< + typename plus_tag::type + , typename plus_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct plus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::plus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp new file mode 100644 index 0000000..621e440 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/quote.hpp @@ -0,0 +1,116 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { +template< bool > struct quote_impl +{ + template< typename T > struct result_ + : T + { + }; +}; + +template<> struct quote_impl +{ + template< typename T > struct result_ + { + typedef T type; + }; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< aux::has_type< F >::value > + ::template result_< F > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< aux::has_type< F< U1,U2 > >::value > + ::template result_< F< U1,U2 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3 > >::value > + ::template result_< F< U1,U2,U3 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value > + ::template result_< F< U1,U2,U3,U4 > > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value > + ::template result_< F< U1,U2,U3,U4,U5 > > + + { + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp new file mode 100644 index 0000000..5907002 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..b85b2f2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp new file mode 100644 index 0000000..aa1a8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_chooser; + +} + +namespace aux { + +template<> +struct set_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef set0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct set_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set_impl +{ + typedef aux::set_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::set_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set + : aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp new file mode 100644 index 0000000..eb0f084 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/set_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_c_chooser; + +} + +namespace aux { + +template<> +struct set_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct set_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c_impl +{ + typedef aux::set_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::set_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c + : aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp new file mode 100644 index 0000000..3cc36a4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_left_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + : aux::msvc_eti_base< typename apply_wrap2< + shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_left_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n << s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_left_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp new file mode 100644 index 0000000..28a4f4d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp @@ -0,0 +1,114 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct shift_right_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag + : tag< T,na > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + : aux::msvc_eti_base< typename apply_wrap2< + shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_right_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n >> s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_right_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp new file mode 100644 index 0000000..1146ec2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp @@ -0,0 +1,46 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +template<> +struct template_arity + : mpl::int_< -1 > +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp new file mode 100644 index 0000000..ab09b63 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/times.hpp @@ -0,0 +1,150 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + + , BOOST_MPL_AUX_NTTP_DECL(int, tag1_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag1)::value + , BOOST_MPL_AUX_NTTP_DECL(int, tag2_) = BOOST_MPL_AUX_MSVC_VALUE_WKND(Tag2)::value + > +struct times_impl + : if_c< + ( tag1_ > tag2_ ) + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag + : tag< T,na > +{ +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct times2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + + : aux::msvc_eti_base< typename if_< + + is_na + , times2< N1,N2 > + , times< + times2< N1,N2 > + , N3, N4, N5 + > + >::type + + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct times2 + : aux::msvc_eti_base< typename apply_wrap2< + times_impl< + typename times_tag::type + , typename times_tag::type + > + , N1 + , N2 + >::type >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct times_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::times_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp new file mode 100644 index 0000000..17718d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp @@ -0,0 +1,109 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; + +template<> struct unpack_args_impl<0> +{ + template< typename F, typename Args > struct apply + : apply0< + F + > + { + }; +}; + +template<> struct unpack_args_impl<1> +{ + template< typename F, typename Args > struct apply + : apply1< + F + , typename at_c< Args,0 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<2> +{ + template< typename F, typename Args > struct apply + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<3> +{ + template< typename F, typename Args > struct apply + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<4> +{ + template< typename F, typename Args > struct apply + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<5> +{ + template< typename F, typename Args > struct apply + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > + { + }; +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp new file mode 100644 index 0000000..6c6fca5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_chooser; + +} + +namespace aux { + +template<> +struct vector_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct vector_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector_impl +{ + typedef aux::vector_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::vector_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector + : aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp new file mode 100644 index 0000000..894023e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_c_chooser; + +} + +namespace aux { + +template<> +struct vector_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector1_c< + T, T(C0) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector2_c< + T, T(C0), T(C1) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector3_c< + T, T(C0), T(C1), T(C2) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector4_c< + T, T(C0), T(C1), T(C2), T(C3) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector5_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector6_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector7_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector8_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector9_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector10_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector11_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector12_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector13_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector14_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector15_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector16_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector17_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector18_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector19_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector20_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct vector_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c_impl +{ + typedef aux::vector_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::vector_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c + : aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp new file mode 100644 index 0000000..71e3b78 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp new file mode 100644 index 0000000..9508903 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp new file mode 100644 index 0000000..b1c5573 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp new file mode 100644 index 0000000..8603cc3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp @@ -0,0 +1,456 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + int N, typename F + > +struct apply_wrap_impl0; + +template< + typename F + > +struct apply_wrap_impl0< + 0 + , F + + > +{ + typedef typename F::template apply< + +/// since the defaults are "lost", we have to pass *something* even for nullary +/// metafunction classes + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 1 + , F + + > +{ + typedef typename F::template apply< + + na + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 2 + , F + + > +{ + typedef typename F::template apply< + + na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 3 + , F + + > +{ + typedef typename F::template apply< + + na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 4 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap_impl0< + 5 + , F + + > +{ + typedef typename F::template apply< + + na, na, na, na, na + + > type; +}; + +template< + typename F + > +struct apply_wrap0 + : apply_wrap_impl0< + ::boost::mpl::aux::arity< F,0 >::value + , F + + >::type +{ +}; + +template< + int N, typename F, typename T1 + > +struct apply_wrap_impl1; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 1 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 2 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 3 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 4 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap_impl1< + 5 + , F + , T1 + > +{ + typedef typename F::template apply< + T1 + , na, na, na, na + + > type; +}; + +template< + typename F, typename T1 + > +struct apply_wrap1 + : apply_wrap_impl1< + ::boost::mpl::aux::arity< F,1 >::value + , F + , T1 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2 + > +struct apply_wrap_impl2; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 2 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 3 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 4 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap_impl2< + 5 + , F + , T1, T2 + > +{ + typedef typename F::template apply< + T1, T2 + + , na, na, na + + > type; +}; + +template< + typename F, typename T1, typename T2 + > +struct apply_wrap2 + : apply_wrap_impl2< + ::boost::mpl::aux::arity< F,2 >::value + , F + , T1, T2 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 3 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 4 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap_impl3< + 5 + , F + , T1, T2, T3 + > +{ + typedef typename F::template apply< + T1, T2, T3 + + , na, na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply_wrap3 + : apply_wrap_impl3< + ::boost::mpl::aux::arity< F,3 >::value + , F + , T1, T2, T3 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 4 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap_impl4< + 5 + , F + , T1, T2, T3, T4 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4 + + , na + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply_wrap4 + : apply_wrap_impl4< + ::boost::mpl::aux::arity< F,4 >::value + , F + , T1, T2, T3, T4 + >::type +{ +}; + +template< + int N, typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap_impl5< + 5 + , F + , T1, T2, T3, T4, T5 + > +{ + typedef typename F::template apply< + T1, T2, T3, T4, T5 + + > type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply_wrap5 + : apply_wrap_impl5< + ::boost::mpl::aux::arity< F,5 >::value + , F + , T1, T2, T3, T4, T5 + >::type +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp new file mode 100644 index 0000000..74072c9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp @@ -0,0 +1,440 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp new file mode 100644 index 0000000..888fbc6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind.hpp @@ -0,0 +1,561 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp new file mode 100644 index 0000000..e47dd92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp new file mode 100644 index 0000000..38cf55e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitand.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp new file mode 100644 index 0000000..2f4162d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp new file mode 100644 index 0000000..b4daf8d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp @@ -0,0 +1,147 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp new file mode 100644 index 0000000..ede9716 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp new file mode 100644 index 0000000..55d9396 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/divides.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp new file mode 100644 index 0000000..211236e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp new file mode 100644 index 0000000..6d94f48 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp new file mode 100644 index 0000000..78cb47c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp new file mode 100644 index 0000000..e626a2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp new file mode 100644 index 0000000..a4bc28e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp new file mode 100644 index 0000000..3eb3bae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp new file mode 100644 index 0000000..f633d1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp new file mode 100644 index 0000000..01dc25f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp new file mode 100644 index 0000000..233e936 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp new file mode 100644 index 0000000..1dcd58b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp new file mode 100644 index 0000000..578474e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp new file mode 100644 index 0000000..2f22291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp new file mode 100644 index 0000000..afbdda2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/minus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp new file mode 100644 index 0000000..d8f81ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp new file mode 100644 index 0000000..a68e69e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp new file mode 100644 index 0000000..1a05656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp new file mode 100644 index 0000000..631898f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/plus.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp new file mode 100644 index 0000000..4b4e539 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp new file mode 100644 index 0000000..1c4364a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..f06c88b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp new file mode 100644 index 0000000..b7e3f0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp new file mode 100644 index 0000000..acdf68b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp new file mode 100644 index 0000000..81679a1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp new file mode 100644 index 0000000..55b7821 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp new file mode 100644 index 0000000..03f2dbd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp new file mode 100644 index 0000000..46e68cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/times.hpp @@ -0,0 +1,146 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp new file mode 100644 index 0000000..7f8c577 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp new file mode 100644 index 0000000..d1da8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp new file mode 100644 index 0000000..ce33340 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp new file mode 100644 index 0000000..e2b4b08 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/and.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : false_ + { + }; +}; + +template<> struct and_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,true_ > + { + }; +}; + +template<> +struct and_impl + ::result_< true_,true_,true_,true_ > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp new file mode 100644 index 0000000..4525009 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply.hpp @@ -0,0 +1,268 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<0> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply0< + F + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<1> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply1< + F, T1 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<2> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply2< + F, T1, T2 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<3> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply3< + F, T1, T2, T3 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<4> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply4< + F, T1, T2, T3, T4 + > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +namespace aux { + +template<> +struct apply_chooser<5> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef apply5< + F, T1, T2, T3, T4, T5 + > type; + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_apply_arg +{ + static bool const value = true; +}; + +template<> +struct is_apply_arg +{ + static bool const value = false; +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + > +struct apply_count_args +{ + static int const value = is_apply_arg::value + is_apply_arg::value + is_apply_arg::value + is_apply_arg::value + is_apply_arg::value; + +}; + +} + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply + : aux::apply_chooser< + aux::apply_count_args< T1,T2,T3,T4,T5 >::value + >::template result_< F,T1,T2,T3,T4,T5 >::type +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp new file mode 100644 index 0000000..58dda62 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp @@ -0,0 +1,50 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser; +} + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp new file mode 100644 index 0000000..682a80b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp @@ -0,0 +1,78 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp new file mode 100644 index 0000000..b2988d0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp @@ -0,0 +1,486 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +namespace aux { + +template<> +struct bind_chooser<0> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind0 type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +namespace aux { + +template<> +struct bind_chooser<1> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind1< F,T1 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +namespace aux { + +template<> +struct bind_chooser<2> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind2< F,T1,T2 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +namespace aux { + +template<> +struct bind_chooser<3> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind3< F,T1,T2,T3 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +namespace aux { + +template<> +struct bind_chooser<4> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind4< F,T1,T2,T3,T4 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +namespace aux { + +template<> +struct bind_chooser<5> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind5< F,T1,T2,T3,T4,T5 > type; + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + > +struct bind_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + ); + +}; + +} + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : aux::bind_chooser< + aux::bind_count_args< T1,T2,T3,T4,T5 >::value + >::template result_< F,T1,T2,T3,T4,T5 >::type +{ +}; + +BOOST_MPL_AUX_ARITY_SPEC( + 6 + , bind + ) + +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( + 6 + , bind + ) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp new file mode 100644 index 0000000..d54caa6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind.hpp @@ -0,0 +1,590 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool > +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< + typename T, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > + struct result_ + { + typedef typename apply_wrap5< + T + , U1, U2, U3, U4, U5 + >::type type; + }; +}; + +template< typename T > struct is_bind_template; + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,U1,U2,U3,U4,U5 > +{ +}; + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg< -1 > > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +template< int arity_ > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag is_bind_helper(bind< F,T1,T2,T3,T4,T5 >*); + +template< int N > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F + > +aux::yes_tag +is_bind_helper(bind0*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +namespace aux { + +template<> +struct bind_chooser<0> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind0 type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1 + > +aux::yes_tag +is_bind_helper(bind1< F,T1 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +namespace aux { + +template<> +struct bind_chooser<1> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind1< F,T1 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2 + > +aux::yes_tag +is_bind_helper(bind2< F,T1,T2 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +namespace aux { + +template<> +struct bind_chooser<2> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind2< F,T1,T2 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3 + > +aux::yes_tag +is_bind_helper(bind3< F,T1,T2,T3 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +namespace aux { + +template<> +struct bind_chooser<3> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind3< F,T1,T2,T3 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +aux::yes_tag +is_bind_helper(bind4< F,T1,T2,T3,T4 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +namespace aux { + +template<> +struct bind_chooser<4> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind4< F,T1,T2,T3,T4 > type; + }; +}; + +} // namespace aux + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +aux::yes_tag +is_bind_helper(bind5< F,T1,T2,T3,T4,T5 >*); + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +namespace aux { + +template<> +struct bind_chooser<5> +{ + template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > + struct result_ + { + typedef bind5< F,T1,T2,T3,T4,T5 > type; + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_bind_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + > +struct bind_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + is_bind_arg::value + + is_bind_arg::value + ); + +}; + +} + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : aux::bind_chooser< + aux::bind_count_args< T1,T2,T3,T4,T5 >::value + >::template result_< F,T1,T2,T3,T4,T5 >::type +{ +}; + +BOOST_MPL_AUX_ARITY_SPEC( + 6 + , bind + ) + +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( + 6 + , bind + ) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp new file mode 100644 index 0000000..e47dd92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp new file mode 100644 index 0000000..f3649ac --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp @@ -0,0 +1,134 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitand_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitand_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + + : if_< + + is_na + , bitand_2< N1,N2 > + , bitand_< + bitand_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitand_2 + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitand_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp new file mode 100644 index 0000000..10ba883 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp @@ -0,0 +1,134 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + + : if_< + + is_na + , bitor_2< N1,N2 > + , bitor_< + bitor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitor_2 + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp new file mode 100644 index 0000000..5212126 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp @@ -0,0 +1,134 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct bitxor_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct bitxor_2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + + : if_< + + is_na + , bitxor_2< N1,N2 > + , bitxor_< + bitxor_2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct bitxor_2 + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, bitxor_2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp new file mode 100644 index 0000000..fb8ef1a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/deque.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct deque_chooser; + +} + +namespace aux { + +template<> +struct deque_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct deque_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_deque_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct deque_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + + is_deque_arg::value + is_deque_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque_impl +{ + typedef aux::deque_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::deque_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque + : aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::deque_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp new file mode 100644 index 0000000..2497134 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/divides.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct divides_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct divides2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + + : if_< + + is_na + , divides2< N1,N2 > + , divides< + divides2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct divides2 + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, divides2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp new file mode 100644 index 0000000..e5faecd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp new file mode 100644 index 0000000..07659ae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< int N > +struct fold_chunk; + +template<> struct fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step; + +template< + typename Last + , typename State + > +struct fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , fold_null_step< Last,State > + , fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_step +{ + typedef fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl + : fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp new file mode 100644 index 0000000..78cb47c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp new file mode 100644 index 0000000..9cd0cd9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp new file mode 100644 index 0000000..6178c7a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct greater_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp new file mode 100644 index 0000000..c61fc27 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp @@ -0,0 +1,166 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl< false,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl< true,false > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl< true,true > +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2< T1,T2 >,T1, T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp new file mode 100644 index 0000000..aa74420 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp @@ -0,0 +1,245 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< int N > +struct iter_fold_chunk; + +template<> struct iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; + }; +}; + +template<> struct iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; + }; +}; + +template<> struct iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; + }; +}; + +template<> struct iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; + }; +}; + +template< int N > +struct iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step; + +template< + typename Last + , typename State + > +struct iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , iter_fold_null_step< Last,State > + , iter_fold_step< First,Last,State,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_step +{ + typedef iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > chunk_; + + typedef typename chunk_::state state; + typedef typename chunk_::iterator iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl + : iter_fold_chunk + ::template result_< First,Last,State,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp new file mode 100644 index 0000000..5ba156d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp new file mode 100644 index 0000000..d195ee5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct less_equal_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp new file mode 100644 index 0000000..d1e03d2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_chooser; + +} + +namespace aux { + +template<> +struct list_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef list0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct list_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + + is_list_arg::value + is_list_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list_impl +{ + typedef aux::list_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::list_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list + : aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::list_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp new file mode 100644 index 0000000..b821770 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct list_c_chooser; + +} + +namespace aux { + +template<> +struct list_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct list_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_list_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct list_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + + is_list_c_arg::value + is_list_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c_impl +{ + typedef aux::list_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::list_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c + : aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::list_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp new file mode 100644 index 0000000..0e1ae00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/map.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct map_chooser; + +} + +namespace aux { + +template<> +struct map_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef map0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct map_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_map_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct map_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + + is_map_arg::value + is_map_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map_impl +{ + typedef aux::map_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::map_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map + : aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::map_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp new file mode 100644 index 0000000..2f3758f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/minus.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct minus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct minus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + + : if_< + + is_na + , minus2< N1,N2 > + , minus< + minus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct minus2 + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, minus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp new file mode 100644 index 0000000..abe8677 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp @@ -0,0 +1,101 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct modulus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp new file mode 100644 index 0000000..3ac3990 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct not_equal_to_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp new file mode 100644 index 0000000..c404d09 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/or.hpp @@ -0,0 +1,73 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< bool C_ > struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : true_ + { + }; +}; + +template<> struct or_impl +{ + template< + typename T1, typename T2, typename T3, typename T4 + > + struct result_ + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,false_ > + { + }; +}; + +template<> +struct or_impl + ::result_< false_,false_,false_,false_ > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + >::template result_< T2,T3,T4,T5 > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp new file mode 100644 index 0000000..0fb5f9c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/plus.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct plus_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct plus2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + + : if_< + + is_na + , plus2< N1,N2 > + , plus< + plus2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct plus2 + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, plus2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp new file mode 100644 index 0000000..621e440 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/quote.hpp @@ -0,0 +1,116 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { +template< bool > struct quote_impl +{ + template< typename T > struct result_ + : T + { + }; +}; + +template<> struct quote_impl +{ + template< typename T > struct result_ + { + typedef T type; + }; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< aux::has_type< F >::value > + ::template result_< F > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< aux::has_type< F< U1,U2 > >::value > + ::template result_< F< U1,U2 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3 > >::value > + ::template result_< F< U1,U2,U3 > > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4 > >::value > + ::template result_< F< U1,U2,U3,U4 > > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< aux::has_type< F< U1,U2,U3,U4,U5 > >::value > + ::template result_< F< U1,U2,U3,U4,U5 > > + + { + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp new file mode 100644 index 0000000..5907002 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< long N > +struct reverse_fold_chunk; + +template<> struct reverse_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step; + +template< + typename Last + , typename State + > +struct reverse_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_fold_null_step< Last,State > + , reverse_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_step +{ + typedef reverse_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl + : reverse_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..b85b2f2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp @@ -0,0 +1,295 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< long N > +struct reverse_iter_fold_chunk; + +template<> struct reverse_iter_fold_chunk<0> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<2> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<3> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; + }; +}; + +template<> struct reverse_iter_fold_chunk<4> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; + }; +}; + +template< long N > +struct reverse_iter_fold_chunk +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step; + +template< + typename Last + , typename State + > +struct reverse_iter_fold_null_step +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct reverse_iter_fold_chunk< -1 > +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same< First,Last >::type + , reverse_iter_fold_null_step< Last,State > + , reverse_iter_fold_step< First,Last,State,BackwardOp,ForwardOp > + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_step +{ + typedef reverse_iter_fold_chunk< -1 >::template result_< + typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl + : reverse_iter_fold_chunk + ::template result_< First,Last,State,BackwardOp,ForwardOp > +{ +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp new file mode 100644 index 0000000..aa1a8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_chooser; + +} + +namespace aux { + +template<> +struct set_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef set0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct set_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + + is_set_arg::value + is_set_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set_impl +{ + typedef aux::set_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::set_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set + : aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::set_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp new file mode 100644 index 0000000..eb0f084 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct set_c_chooser; + +} + +namespace aux { + +template<> +struct set_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set1_c< + T, C0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set2_c< + T, C0, C1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set3_c< + T, C0, C1, C2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set4_c< + T, C0, C1, C2, C3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set5_c< + T, C0, C1, C2, C3, C4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set6_c< + T, C0, C1, C2, C3, C4, C5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set7_c< + T, C0, C1, C2, C3, C4, C5, C6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set8_c< + T, C0, C1, C2, C3, C4, C5, C6, C7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set9_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set10_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set11_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set12_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set13_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct set_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_set_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct set_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + + is_set_c_arg::value + is_set_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c_impl +{ + typedef aux::set_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::set_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c + : aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::set_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp new file mode 100644 index 0000000..65e0ff5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_left_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp new file mode 100644 index 0000000..f7ce4f0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct shift_right_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp new file mode 100644 index 0000000..b81c2d3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp new file mode 100644 index 0000000..00c2bf7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/times.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< na,integral_c_tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template<> struct times_impl< integral_c_tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +/// forward declaration + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct times2; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + + : if_< + + is_na + , times2< N1,N2 > + , times< + times2< N1,N2 > + , N3, N4, N5 + > + >::type + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1 + , typename N2 + > +struct times2 + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, times2, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp new file mode 100644 index 0000000..17718d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp @@ -0,0 +1,109 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; + +template<> struct unpack_args_impl<0> +{ + template< typename F, typename Args > struct apply + : apply0< + F + > + { + }; +}; + +template<> struct unpack_args_impl<1> +{ + template< typename F, typename Args > struct apply + : apply1< + F + , typename at_c< Args,0 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<2> +{ + template< typename F, typename Args > struct apply + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<3> +{ + template< typename F, typename Args > struct apply + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<4> +{ + template< typename F, typename Args > struct apply + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > + { + }; +}; + +template<> struct unpack_args_impl<5> +{ + template< typename F, typename Args > struct apply + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > + { + }; +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp new file mode 100644 index 0000000..6c6fca5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector.hpp @@ -0,0 +1,556 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_chooser; + +} + +namespace aux { + +template<> +struct vector_chooser<0> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef vector0< + + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<1> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector1< + T0 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<2> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector2< + T0, T1 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<3> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector3< + T0, T1, T2 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<4> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector4< + T0, T1, T2, T3 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<5> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector5< + T0, T1, T2, T3, T4 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<6> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector6< + T0, T1, T2, T3, T4, T5 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<7> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector7< + T0, T1, T2, T3, T4, T5, T6 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<8> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector8< + T0, T1, T2, T3, T4, T5, T6, T7 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<9> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector9< + T0, T1, T2, T3, T4, T5, T6, T7, T8 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<10> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector10< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<11> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector11< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<12> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector12< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<13> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector13< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<14> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector14< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<15> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<16> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<17> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<18> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<19> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_chooser<20> +{ + template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > + struct result_ + { + typedef typename vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< typename T > +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + typename T1, typename T2, typename T3, typename T4, typename T5 + , typename T6, typename T7, typename T8, typename T9, typename T10 + , typename T11, typename T12, typename T13, typename T14, typename T15 + , typename T16, typename T17, typename T18, typename T19, typename T20 + > +struct vector_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + + is_vector_arg::value + is_vector_arg::value + ); + +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector_impl +{ + typedef aux::vector_count_args< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + > arg_num_; + + typedef typename aux::vector_chooser< arg_num_::value > + ::template result_< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +} // namespace aux + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector + : aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type +{ + typedef typename aux::vector_impl< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp new file mode 100644 index 0000000..894023e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp @@ -0,0 +1,534 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { +template< int N > +struct vector_c_chooser; + +} + +namespace aux { + +template<> +struct vector_c_chooser<0> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector0_c< + T + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<1> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector1_c< + T, T(C0) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<2> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector2_c< + T, T(C0), T(C1) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<3> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector3_c< + T, T(C0), T(C1), T(C2) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<4> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector4_c< + T, T(C0), T(C1), T(C2), T(C3) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<5> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector5_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<6> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector6_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<7> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector7_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<8> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector8_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<9> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector9_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<10> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector10_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<11> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector11_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<12> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector12_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<13> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector13_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<14> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector14_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<15> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector15_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<16> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector16_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<17> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector17_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<18> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector18_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<19> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector19_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template<> +struct vector_c_chooser<20> +{ + template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > + struct result_ + { + typedef typename vector20_c< + T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) + >::type type; + + }; +}; + +} // namespace aux + +namespace aux { + +template< long C > +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> +struct is_vector_c_arg +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +template< + long C1, long C2, long C3, long C4, long C5, long C6, long C7, long C8 + , long C9, long C10, long C11, long C12, long C13, long C14, long C15 + , long C16, long C17, long C18, long C19, long C20 + > +struct vector_c_count_args +{ + BOOST_STATIC_CONSTANT(int, value = + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + + is_vector_c_arg::value + is_vector_c_arg::value + ); + +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c_impl +{ + typedef aux::vector_c_count_args< + C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + > arg_num_; + + typedef typename aux::vector_c_chooser< arg_num_::value > + ::template result_< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +} // namespace aux + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c + : aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type +{ + typedef typename aux::vector_c_impl< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19 + >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp new file mode 100644 index 0000000..71e3b78 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/and.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , and_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp new file mode 100644 index 0000000..9508903 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 1 + , apply0 + , (F ) + ) +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 2 + , apply1 + , (F, T1) + ) +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , apply2 + , (F, T1, T2) + ) +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , apply3 + , (F, T1, T2, T3) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , apply4 + , (F, T1, T2, T3, T4) + ) +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , apply5 + , (F, T1, T2, T3, T4, T5) + ) +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp new file mode 100644 index 0000000..b1c5573 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp new file mode 100644 index 0000000..e6de047 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp new file mode 100644 index 0000000..87dbf14 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp @@ -0,0 +1,369 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp new file mode 100644 index 0000000..091cd9c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind.hpp @@ -0,0 +1,466 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp new file mode 100644 index 0000000..e47dd92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp new file mode 100644 index 0000000..503aca0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp @@ -0,0 +1,157 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitand_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitand_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 & n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitand_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp new file mode 100644 index 0000000..215feb7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp @@ -0,0 +1,157 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 | n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp new file mode 100644 index 0000000..b999bd3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp @@ -0,0 +1,157 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , bitxor_ + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct bitxor_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 ^ n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::bitxor_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp new file mode 100644 index 0000000..ede9716 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp new file mode 100644 index 0000000..f1497b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/divides.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , divides + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct divides_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 / n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::divides_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp new file mode 100644 index 0000000..1d05d89 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp new file mode 100644 index 0000000..6d94f48 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp new file mode 100644 index 0000000..78cb47c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp new file mode 100644 index 0000000..99d4a79 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp new file mode 100644 index 0000000..a3e51da --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, greater_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp new file mode 100644 index 0000000..3eb3bae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1, T2)) +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 3 + , inherit3 + , ( T1, T2, T3) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , inherit4 + , ( T1, T2, T3, T4) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , inherit5 + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp new file mode 100644 index 0000000..f633d1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp new file mode 100644 index 0000000..c4ac608 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; + BOOST_MPL_AUX_LAMBDA_SUPPORT(3, lambda, (T, Tag, Protect)) +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp new file mode 100644 index 0000000..ab6dc49 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > + BOOST_MPL_AUX_VALUE_WKND(N1)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp new file mode 100644 index 0000000..f403094 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, less_equal, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp new file mode 100644 index 0000000..1dcd58b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp new file mode 100644 index 0000000..578474e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp new file mode 100644 index 0000000..2f22291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp new file mode 100644 index 0000000..5793b00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/minus.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , minus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct minus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 - n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::minus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp new file mode 100644 index 0000000..9400a45 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp @@ -0,0 +1,111 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, modulus, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct modulus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 % n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::modulus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp new file mode 100644 index 0000000..e23796a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp @@ -0,0 +1,98 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, not_equal_to, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + { + BOOST_STATIC_CONSTANT(bool, value = + ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != + BOOST_MPL_AUX_VALUE_WKND(N2)::value ) + ); + typedef bool_ type; + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp new file mode 100644 index 0000000..1a05656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/or.hpp @@ -0,0 +1,69 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , or_ + , ( T1, T2, T3, T4, T5) + ) +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp new file mode 100644 index 0000000..eba6c0c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/plus.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , plus + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct plus_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 + n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::plus_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp new file mode 100644 index 0000000..df25a69 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/quote.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp new file mode 100644 index 0000000..1c4364a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..f06c88b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp new file mode 100644 index 0000000..b7e3f0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp new file mode 100644 index 0000000..acdf68b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp new file mode 100644 index 0000000..ba9217b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp @@ -0,0 +1,110 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_left, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_left_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n << s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_left_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp new file mode 100644 index 0000000..d161c0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp @@ -0,0 +1,110 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, shift_right, (N1, N2)) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct shift_right_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n >> s)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + : aux::shift_right_wknd< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp new file mode 100644 index 0000000..b81c2d3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp @@ -0,0 +1,40 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_< -1 > + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp new file mode 100644 index 0000000..1d9690a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/times.hpp @@ -0,0 +1,156 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 5 + , times + , ( N1, N2, N3, N4, N5 ) + ) +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { + +namespace aux { +template< typename T, T n1, T n2 > +struct times_wknd +{ + BOOST_STATIC_CONSTANT(T, value = (n1 * n2)); + typedef integral_c< T,value > type; +}; + +} + +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + : aux::times_wknd< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , N1::value + , N2::value + >::type + + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp new file mode 100644 index 0000000..7f8c577 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp new file mode 100644 index 0000000..d1da8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp new file mode 100644 index 0000000..ce33340 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp new file mode 100644 index 0000000..2d65040 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_backward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_backward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_backward; +template<> +struct advance_backward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_backward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_backward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_backward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_backward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename prior::type iter1; + typedef typename prior::type iter2; + typedef typename prior::type iter3; + typedef typename prior::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_backward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_backward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_backward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp new file mode 100644 index 0000000..9762f7b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/advance_forward.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/advance_forward.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< long N > struct advance_forward; +template<> +struct advance_forward<0> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef iter0 type; + }; +}; + +template<> +struct advance_forward<1> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef iter1 type; + }; +}; + +template<> +struct advance_forward<2> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef iter2 type; + }; +}; + +template<> +struct advance_forward<3> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef iter3 type; + }; +}; + +template<> +struct advance_forward<4> +{ + template< typename Iterator > struct apply + { + typedef Iterator iter0; + typedef typename next::type iter1; + typedef typename next::type iter2; + typedef typename next::type iter3; + typedef typename next::type iter4; + typedef iter4 type; + }; +}; + +template< long N > +struct advance_forward +{ + template< typename Iterator > struct apply + { + typedef typename apply_wrap1< + advance_forward<4> + , Iterator + >::type chunk_result_; + + typedef typename apply_wrap1< + advance_forward<( + (N - 4) < 0 + ? 0 + : N - 4 + )> + , chunk_result_ + >::type type; + }; +}; + +}}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/and.hpp new file mode 100644 index 0000000..aae95c5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/and.hpp @@ -0,0 +1,64 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/and.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct and_impl + : false_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct and_impl< true,T1,T2,T3,T4 > + : and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , true_ + > +{ +}; + +template<> +struct and_impl< + true + , true_, true_, true_, true_ + > + : true_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = true_, typename T4 = true_, typename T5 = true_ + > +struct and_ + + : aux::and_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , and_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply.hpp new file mode 100644 index 0000000..d18329c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + > +struct apply0 + + : apply_wrap0< + typename lambda::type + + > +{ +}; + +template< + typename F + > +struct apply< F,na,na,na,na,na > + : apply0 +{ +}; + +template< + typename F, typename T1 + > +struct apply1 + + : apply_wrap1< + typename lambda::type + , T1 + > +{ +}; + +template< + typename F, typename T1 + > +struct apply< F,T1,na,na,na,na > + : apply1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply2 + + : apply_wrap2< + typename lambda::type + , T1, T2 + > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct apply< F,T1,T2,na,na,na > + : apply2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3 + + : apply_wrap3< + typename lambda::type + , T1, T2, T3 + > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply< F,T1,T2,T3,na,na > + : apply3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4 + + : apply_wrap4< + typename lambda::type + , T1, T2, T3, T4 + > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply< F,T1,T2,T3,T4,na > + : apply4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5 + + : apply_wrap5< + typename lambda::type + , T1, T2, T3, T4, T5 + > +{ +}; + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply + : apply5< F,T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp new file mode 100644 index 0000000..b1c5573 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct apply; + +template< + typename F + > +struct apply0; + +template< + typename F, typename T1 + > +struct apply1; + +template< + typename F, typename T1, typename T2 + > +struct apply2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct apply3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct apply4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct apply5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp new file mode 100644 index 0000000..e6de047 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp @@ -0,0 +1,84 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/apply_wrap.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F + + , typename has_apply_ = typename aux::has_apply::type + + > +struct apply_wrap0 + + : F::template apply< > +{ +}; + +template< typename F > +struct apply_wrap0< F,true_ > + : F::apply +{ +}; + +template< + typename F, typename T1 + + > +struct apply_wrap1 + + : F::template apply +{ +}; + +template< + typename F, typename T1, typename T2 + + > +struct apply_wrap2 + + : F::template apply< T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + + > +struct apply_wrap3 + + : F::template apply< T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + + > +struct apply_wrap4 + + : F::template apply< T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + + > +struct apply_wrap5 + + : F::template apply< T1,T2,T3,T4,T5 > +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/arg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/arg.hpp new file mode 100644 index 0000000..a77b8a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/arg.hpp @@ -0,0 +1,123 @@ + +// Copyright Peter Dimov 2001-2002 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/arg.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +template<> struct arg< -1 > +{ + BOOST_STATIC_CONSTANT(int, value = -1); + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<1> +{ + BOOST_STATIC_CONSTANT(int, value = 1); + typedef arg<2> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U1 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<2> +{ + BOOST_STATIC_CONSTANT(int, value = 2); + typedef arg<3> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U2 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<3> +{ + BOOST_STATIC_CONSTANT(int, value = 3); + typedef arg<4> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U3 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<4> +{ + BOOST_STATIC_CONSTANT(int, value = 4); + typedef arg<5> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U4 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +template<> struct arg<5> +{ + BOOST_STATIC_CONSTANT(int, value = 5); + typedef arg<6> next; + BOOST_MPL_AUX_ARG_TYPEDEF(na, tag) + BOOST_MPL_AUX_ARG_TYPEDEF(na, type) + + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + typedef U5 type; + BOOST_MPL_AUX_ASSERT_NOT_NA(type); + }; +}; + +BOOST_MPL_AUX_NONTYPE_ARITY_SPEC(1,int, arg) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp new file mode 100644 index 0000000..74072c9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/basic_bind.hpp @@ -0,0 +1,440 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/basic_bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef typename aux::resolve_bind_arg< F,U1,U2,U3,U4,U5 >::type f_; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef aux::resolve_bind_arg< T4,U1,U2,U3,U4,U5 > t4; + typedef aux::resolve_bind_arg< T5,U1,U2,U3,U4,U5 > t5; + + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::resolve_bind_arg< T1,U1,U2,U3,U4,U5 > t1; + typedef aux::resolve_bind_arg< T2,U1,U2,U3,U4,U5 > t2; + typedef aux::resolve_bind_arg< T3,U1,U2,U3,U4,U5 > t3; + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind.hpp new file mode 100644 index 0000000..888fbc6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind.hpp @@ -0,0 +1,561 @@ + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename T, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg +{ + typedef T type; +}; + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg< -1 >, Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +template< + int N, typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< arg, U1, U2, U3, U4, U5 > +{ + typedef typename apply_wrap5, U1, U2, U3, U4, U5>::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< bind< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 > +{ + typedef bind< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +template< + typename F + > +struct bind0 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + public: + typedef typename apply_wrap0< + f_ + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind0, U1, U2, U3, U4, U5 + > +{ + typedef bind0 f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(1, bind0) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(1, bind0) + +template< + typename F + > +struct bind< F,na,na,na,na,na > + : bind0 +{ +}; + +template< + typename F, typename T1 + > +struct bind1 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + public: + typedef typename apply_wrap1< + f_ + , typename t1::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename U1, typename U2, typename U3 + , typename U4, typename U5 + > +struct resolve_bind_arg< + bind1< F,T1 >, U1, U2, U3, U4, U5 + > +{ + typedef bind1< F,T1 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(2, bind1) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(2, bind1) + +template< + typename F, typename T1 + > +struct bind< F,T1,na,na,na,na > + : bind1< F,T1 > +{ +}; + +template< + typename F, typename T1, typename T2 + > +struct bind2 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + public: + typedef typename apply_wrap2< + f_ + , typename t1::type, typename t2::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename U1, typename U2 + , typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind2< F,T1,T2 >, U1, U2, U3, U4, U5 + > +{ + typedef bind2< F,T1,T2 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(3, bind2) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(3, bind2) + +template< + typename F, typename T1, typename T2 + > +struct bind< F,T1,T2,na,na,na > + : bind2< F,T1,T2 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + public: + typedef typename apply_wrap3< + f_ + , typename t1::type, typename t2::type, typename t3::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename U1 + , typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind3< F,T1,T2,T3 >, U1, U2, U3, U4, U5 + > +{ + typedef bind3< F,T1,T2,T3 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(4, bind3) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(4, bind3) + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind< F,T1,T2,T3,na,na > + : bind3< F,T1,T2,T3 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + public: + typedef typename apply_wrap4< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename U1, typename U2, typename U3, typename U4, typename U5 + > +struct resolve_bind_arg< + bind4< F,T1,T2,T3,T4 >, U1, U2, U3, U4, U5 + > +{ + typedef bind4< F,T1,T2,T3,T4 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(5, bind4) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(5, bind4) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind< F,T1,T2,T3,T4,na > + : bind4< F,T1,T2,T3,T4 > +{ +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5 +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef aux::replace_unnamed_arg< F, mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg< a0,U1,U2,U3,U4,U5 >::type f_; + /// + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef aux::replace_unnamed_arg< T4,n4 > r4; + typedef typename r4::type a4; + typedef typename r4::next n5; + typedef aux::resolve_bind_arg< a4,U1,U2,U3,U4,U5 > t4; + /// + typedef aux::replace_unnamed_arg< T5,n5 > r5; + typedef typename r5::type a5; + typedef typename r5::next n6; + typedef aux::resolve_bind_arg< a5,U1,U2,U3,U4,U5 > t5; + /// + public: + typedef typename apply_wrap5< + f_ + , typename t1::type, typename t2::type, typename t3::type + , typename t4::type, typename t5::type + >::type type; + + }; +}; + +namespace aux { + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename U1, typename U2, typename U3, typename U4 + , typename U5 + > +struct resolve_bind_arg< + bind5< F,T1,T2,T3,T4,T5 >, U1, U2, U3, U4, U5 + > +{ + typedef bind5< F,T1,T2,T3,T4,T5 > f_; + typedef typename apply_wrap5< f_,U1,U2,U3,U4,U5 >::type type; +}; + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(6, bind5) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(6, bind5) + +/// primary template (not a specialization!) + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind + : bind5< F,T1,T2,T3,T4,T5 > +{ +}; + +/// if_/eval_if specializations +template< template< typename T1, typename T2, typename T3 > class F, typename Tag > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct if_; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< if_,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename if_< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +template< + template< typename T1, typename T2, typename T3 > class F, typename Tag + > +struct quote3; + +template< typename T1, typename T2, typename T3 > struct eval_if; + +template< + typename Tag, typename T1, typename T2, typename T3 + > +struct bind3< + quote3< eval_if,Tag > + , T1, T2, T3 + > +{ + template< + typename U1 = na, typename U2 = na, typename U3 = na + , typename U4 = na, typename U5 = na + > + struct apply + { + private: + typedef mpl::arg<1> n1; + typedef aux::replace_unnamed_arg< T1,n1 > r1; + typedef typename r1::type a1; + typedef typename r1::next n2; + typedef aux::resolve_bind_arg< a1,U1,U2,U3,U4,U5 > t1; + /// + typedef aux::replace_unnamed_arg< T2,n2 > r2; + typedef typename r2::type a2; + typedef typename r2::next n3; + typedef aux::resolve_bind_arg< a2,U1,U2,U3,U4,U5 > t2; + /// + typedef aux::replace_unnamed_arg< T3,n3 > r3; + typedef typename r3::type a3; + typedef typename r3::next n4; + typedef aux::resolve_bind_arg< a3,U1,U2,U3,U4,U5 > t3; + /// + typedef typename eval_if< + typename t1::type + , t2, t3 + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp new file mode 100644 index 0000000..e47dd92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp @@ -0,0 +1,52 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bind_fwd.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename F, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na + > +struct bind; + +template< + typename F + > +struct bind0; + +template< + typename F, typename T1 + > +struct bind1; + +template< + typename F, typename T1, typename T2 + > +struct bind2; + +template< + typename F, typename T1, typename T2, typename T3 + > +struct bind3; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + > +struct bind4; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct bind5; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp new file mode 100644 index 0000000..31aa9a8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitand.hpp @@ -0,0 +1,142 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitand.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitand_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitand_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitand_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitand_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitand_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitand_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitand_ + : bitand_< bitand_< bitand_< bitand_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitand_< N1,N2,N3,N4,na > + + : bitand_< bitand_< bitand_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitand_< N1,N2,N3,na,na > + + : bitand_< bitand_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitand_< N1,N2,na,na,na > + : bitand_impl< + typename bitand_tag::type + , typename bitand_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitand_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitand_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitand_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + & BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp new file mode 100644 index 0000000..08e0fec --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitor.hpp @@ -0,0 +1,142 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitor_ + : bitor_< bitor_< bitor_< bitor_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitor_< N1,N2,N3,N4,na > + + : bitor_< bitor_< bitor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitor_< N1,N2,N3,na,na > + + : bitor_< bitor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitor_< N1,N2,na,na,na > + : bitor_impl< + typename bitor_tag::type + , typename bitor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + | BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp new file mode 100644 index 0000000..b2a74ea --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/bitxor.hpp @@ -0,0 +1,142 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/bitxor.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct bitxor_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< bitxor_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< bitxor_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct bitxor_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct bitxor_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct bitxor_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct bitxor_ + : bitxor_< bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct bitxor_< N1,N2,N3,N4,na > + + : bitxor_< bitxor_< bitxor_< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct bitxor_< N1,N2,N3,na,na > + + : bitxor_< bitxor_< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct bitxor_< N1,N2,na,na,na > + : bitxor_impl< + typename bitxor_tag::type + , typename bitxor_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , bitxor_ + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, bitxor_) + +}} + +namespace boost { namespace mpl { +template<> +struct bitxor_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + ^ BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/deque.hpp new file mode 100644 index 0000000..ede9716 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/deque.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/deque.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct deque; + +template< + + > +struct deque< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct deque< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct deque< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct deque< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct deque< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct deque< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct deque< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct deque< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct deque + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/divides.hpp new file mode 100644 index 0000000..e2322d7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/divides.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/divides.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct divides_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< divides_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< divides_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct divides_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct divides_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct divides_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct divides + : divides< divides< divides< divides< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct divides< N1,N2,N3,N4,na > + + : divides< divides< divides< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct divides< N1,N2,N3,na,na > + + : divides< divides< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct divides< N1,N2,na,na,na > + : divides_impl< + typename divides_tag::type + , typename divides_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , divides + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, divides) + +}} + +namespace boost { namespace mpl { +template<> +struct divides_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + / BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp new file mode 100644 index 0000000..d108db4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/equal_to.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct equal_to + + : equal_to_impl< + typename equal_to_tag::type + , typename equal_to_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value == BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp new file mode 100644 index 0000000..6d94f48 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp, state0, typename deref::type >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, state1, typename deref::type >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, state2, typename deref::type >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, state3, typename deref::type >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl +{ + typedef fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,First,Last,State,ForwardOp > + : fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp new file mode 100644 index 0000000..78cb47c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/full_lambda.hpp @@ -0,0 +1,554 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/full_lambda.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +} // namespace aux + +template< + typename T + , typename Tag + + > +struct lambda +{ + typedef false_ is_le; + typedef T result_; + typedef T type; +}; + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +template< int N, typename Tag > +struct lambda< arg, Tag > +{ + typedef true_ is_le; + typedef mpl::arg result_; // qualified for the sake of MIPSpro 7.41 + typedef mpl::protect type; +}; + +template< + typename F + , typename Tag + > +struct lambda< + bind0 + , Tag + + > +{ + typedef false_ is_le; + typedef bind0< + F + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1 +{ + typedef F< + typename L1::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1 > class F + , typename L1 + > +struct le_result1< true_,Tag,F,L1 > +{ + typedef bind1< + quote1< F,Tag > + , typename L1::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1 > class F + , typename T1 + , typename Tag + > +struct lambda< + F + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef typename l1::is_le is_le1; + typedef typename aux::lambda_or< + is_le1::value + >::type is_le; + + typedef aux::le_result1< + is_le, Tag, F, l1 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1 + , typename Tag + > +struct lambda< + bind1< F,T1 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind1< + F + , T1 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2 +{ + typedef F< + typename L1::type, typename L2::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2 > class F + , typename L1, typename L2 + > +struct le_result2< true_,Tag,F,L1,L2 > +{ + typedef bind2< + quote2< F,Tag > + , typename L1::result_, typename L2::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2 > class F + , typename T1, typename T2 + , typename Tag + > +struct lambda< + F< T1,T2 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value + >::type is_le; + + typedef aux::le_result2< + is_le, Tag, F, l1, l2 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2 + , typename Tag + > +struct lambda< + bind2< F,T1,T2 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind2< + F + , T1, T2 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3 > class F + , typename L1, typename L2, typename L3 + > +struct le_result3< true_,Tag,F,L1,L2,L3 > +{ + typedef bind3< + quote3< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3 > class F + , typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + F< T1,T2,T3 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value + >::type is_le; + + typedef aux::le_result3< + is_le, Tag, F, l1, l2, l3 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3 + , typename Tag + > +struct lambda< + bind3< F,T1,T2,T3 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind3< + F + , T1, T2, T3 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4 > class F + , typename L1, typename L2, typename L3, typename L4 + > +struct le_result4< true_,Tag,F,L1,L2,L3,L4 > +{ + typedef bind4< + quote4< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + >::type is_le; + + typedef aux::le_result4< + is_le, Tag, F, l1, l2, l3, l4 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename Tag + > +struct lambda< + bind4< F,T1,T2,T3,T4 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind4< + F + , T1, T2, T3, T4 + > result_; + + typedef result_ type; +}; + +namespace aux { + +template< + typename IsLE, typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5 +{ + typedef F< + typename L1::type, typename L2::type, typename L3::type + , typename L4::type, typename L5::type + > result_; + + typedef result_ type; +}; + +template< + typename Tag + , template< typename P1, typename P2, typename P3, typename P4, typename P5 > class F + , typename L1, typename L2, typename L3, typename L4, typename L5 + > +struct le_result5< true_,Tag,F,L1,L2,L3,L4,L5 > +{ + typedef bind5< + quote5< F,Tag > + , typename L1::result_, typename L2::result_, typename L3::result_ + , typename L4::result_, typename L5::result_ + > result_; + + typedef mpl::protect type; +}; + +} // namespace aux + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename T1, typename T2, typename T3, typename T4, typename T5 + , typename Tag + > +struct lambda< + F< T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef lambda< T1,Tag > l1; + typedef lambda< T2,Tag > l2; + typedef lambda< T3,Tag > l3; + typedef lambda< T4,Tag > l4; + typedef lambda< T5,Tag > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef typename aux::lambda_or< + is_le1::value, is_le2::value, is_le3::value, is_le4::value + , is_le5::value + >::type is_le; + + typedef aux::le_result5< + is_le, Tag, F, l1, l2, l3, l4, l5 + > le_result_; + + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind5< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind5< + F + , T1, T2, T3, T4, T5 + > result_; + + typedef result_ type; +}; + +/// special case for 'protect' +template< typename T, typename Tag > +struct lambda< mpl::protect, Tag > +{ + typedef false_ is_le; + typedef mpl::protect result_; + typedef result_ type; +}; + +/// specializations for the main 'bind' form + +template< + typename F, typename T1, typename T2, typename T3, typename T4 + , typename T5 + , typename Tag + > +struct lambda< + bind< F,T1,T2,T3,T4,T5 > + , Tag + + > +{ + typedef false_ is_le; + typedef bind< F,T1,T2,T3,T4,T5 > result_; + typedef result_ type; +}; + +/// workaround for MWCW 8.3+/EDG < 303, leads to ambiguity on Digital Mars + +template< + typename F, typename Tag1, typename Tag2 + > +struct lambda< + lambda< F,Tag1 > + , Tag2 + > +{ + typedef lambda< F,Tag2 > l1; + typedef lambda< Tag1,Tag2 > l2; + typedef typename l1::is_le is_le; + typedef aux::le_result2 le_result_; + typedef typename le_result_::result_ result_; + typedef typename le_result_::type type; +}; + +BOOST_MPL_AUX_NA_SPEC(2, lambda) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater.hpp new file mode 100644 index 0000000..32f5165 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater + + : greater_impl< + typename greater_tag::type + , typename greater_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value > BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp new file mode 100644 index 0000000..84da0aa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/greater_equal.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/greater_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct greater_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< greater_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< greater_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct greater_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct greater_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct greater_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct greater_equal + + : greater_equal_impl< + typename greater_equal_tag::type + , typename greater_equal_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, greater_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct greater_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value >= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp new file mode 100644 index 0000000..35eb35f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/inherit.hpp @@ -0,0 +1,125 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/inherit.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; +}; + +template< typename T1 > +struct inherit2< T1,empty_base > +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1, empty_base)) +}; + +template< typename T2 > +struct inherit2< empty_base,T2 > +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, T2)) +}; + +template<> +struct inherit2< empty_base,empty_base > +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base, empty_base)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +template< + typename T1 = na, typename T2 = na, typename T3 = na + > +struct inherit3 + : inherit2< + typename inherit2< + T1, T2 + >::type + , T3 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(3, inherit3) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + > +struct inherit4 + : inherit2< + typename inherit3< + T1, T2, T3 + >::type + , T4 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(4, inherit4) + +template< + typename T1 = na, typename T2 = na, typename T3 = na, typename T4 = na + , typename T5 = na + > +struct inherit5 + : inherit2< + typename inherit4< + T1, T2, T3, T4 + >::type + , T5 + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(5, inherit5) + +/// primary template + +template< + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + > +struct inherit + : inherit5< T1,T2,T3,T4,T5 > +{ +}; + +template<> +struct inherit< na,na,na,na,na > +{ + template< + + typename T1 = empty_base, typename T2 = empty_base + , typename T3 = empty_base, typename T4 = empty_base + , typename T5 = empty_base + + > + struct apply + : inherit< T1,T2,T3,T4,T5 > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(5, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(5, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(5, 5, inherit) +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp new file mode 100644 index 0000000..233e7dd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp @@ -0,0 +1,133 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_if_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +template< typename Iterator, typename State > +struct iter_fold_if_null_step +{ + typedef State state; + typedef Iterator iterator; +}; + +template< bool > +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef typename apply2< StateOp,State,Iterator >::type state; + typedef typename IteratorOp::type iterator; + }; +}; + +template<> +struct iter_fold_if_step_impl +{ + template< + typename Iterator + , typename State + , typename StateOp + , typename IteratorOp + > + struct result_ + { + typedef State state; + typedef Iterator iterator; + }; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename Predicate + > +struct iter_fold_if_forward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,ForwardOp, mpl::next > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename BackwardOp + , typename Predicate + > +struct iter_fold_if_backward_step +{ + typedef typename apply2< Predicate,State,Iterator >::type not_last; + typedef typename iter_fold_if_step_impl< + BOOST_MPL_AUX_MSVC_VALUE_WKND(not_last)::value + >::template result_< Iterator,State,BackwardOp, identity > impl_; + + typedef typename impl_::state state; + typedef typename impl_::iterator iterator; +}; + +template< + typename Iterator + , typename State + , typename ForwardOp + , typename ForwardPredicate + , typename BackwardOp + , typename BackwardPredicate + > +struct iter_fold_if_impl +{ + private: + typedef iter_fold_if_null_step< Iterator,State > forward_step0; + typedef iter_fold_if_forward_step< typename forward_step0::iterator, typename forward_step0::state, ForwardOp, ForwardPredicate > forward_step1; + typedef iter_fold_if_forward_step< typename forward_step1::iterator, typename forward_step1::state, ForwardOp, ForwardPredicate > forward_step2; + typedef iter_fold_if_forward_step< typename forward_step2::iterator, typename forward_step2::state, ForwardOp, ForwardPredicate > forward_step3; + typedef iter_fold_if_forward_step< typename forward_step3::iterator, typename forward_step3::state, ForwardOp, ForwardPredicate > forward_step4; + + + typedef typename if_< + typename forward_step4::not_last + , iter_fold_if_impl< + typename forward_step4::iterator + , typename forward_step4::state + , ForwardOp + , ForwardPredicate + , BackwardOp + , BackwardPredicate + > + , iter_fold_if_null_step< + typename forward_step4::iterator + , typename forward_step4::state + > + >::type backward_step4; + + typedef iter_fold_if_backward_step< typename forward_step3::iterator, typename backward_step4::state, BackwardOp, BackwardPredicate > backward_step3; + typedef iter_fold_if_backward_step< typename forward_step2::iterator, typename backward_step3::state, BackwardOp, BackwardPredicate > backward_step2; + typedef iter_fold_if_backward_step< typename forward_step1::iterator, typename backward_step2::state, BackwardOp, BackwardPredicate > backward_step1; + typedef iter_fold_if_backward_step< typename forward_step0::iterator, typename backward_step1::state, BackwardOp, BackwardPredicate > backward_step0; + + + public: + typedef typename backward_step0::state state; + typedef typename backward_step4::iterator iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp new file mode 100644 index 0000000..f633d1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp @@ -0,0 +1,180 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 0,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 1,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + + + typedef state1 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 2,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + + + typedef state2 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 3,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + + + typedef state3 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< 4,First,Last,State,ForwardOp > +{ + typedef First iter0; + typedef State state0; + typedef typename apply2< ForwardOp,state0,iter0 >::type state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,state1,iter1 >::type state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,state2,iter2 >::type state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,state3,iter3 >::type state4; + typedef typename mpl::next::type iter4; + + + typedef state4 state; + typedef iter4 iterator; +}; + +template< + int N + , typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl +{ + typedef iter_fold_impl< + 4 + , First + , Last + , State + , ForwardOp + > chunk_; + + typedef iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , typename chunk_::iterator + , Last + , typename chunk_::state + , ForwardOp + > res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,First,Last,State,ForwardOp > + : iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , ForwardOp + > +{ +}; + +template< + typename Last + , typename State + , typename ForwardOp + > +struct iter_fold_impl< -1,Last,Last,State,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp new file mode 100644 index 0000000..7786a11 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp @@ -0,0 +1,228 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/lambda_no_ctps.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< + bool C1 = false, bool C2 = false, bool C3 = false, bool C4 = false + , bool C5 = false + > +struct lambda_or + : true_ +{ +}; + +template<> +struct lambda_or< false,false,false,false,false > + : false_ +{ +}; + +template< typename Arity > struct lambda_impl +{ + template< typename T, typename Tag, typename Protect > struct result_ + { + typedef T type; + typedef is_placeholder is_le; + }; +}; + +template<> struct lambda_impl< int_<1> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef typename l1::is_le is_le1; + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value + > is_le; + + typedef bind1< + typename F::rebind + , typename l1::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<2> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value + > is_le; + + typedef bind2< + typename F::rebind + , typename l1::type, typename l2::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<3> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value + > is_le; + + typedef bind3< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<4> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value + > is_le; + + typedef bind4< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +template<> struct lambda_impl< int_<5> > +{ + template< typename F, typename Tag, typename Protect > struct result_ + { + typedef lambda< typename F::arg1, Tag, false_ > l1; + typedef lambda< typename F::arg2, Tag, false_ > l2; + typedef lambda< typename F::arg3, Tag, false_ > l3; + typedef lambda< typename F::arg4, Tag, false_ > l4; + typedef lambda< typename F::arg5, Tag, false_ > l5; + + typedef typename l1::is_le is_le1; + typedef typename l2::is_le is_le2; + typedef typename l3::is_le is_le3; + typedef typename l4::is_le is_le4; + typedef typename l5::is_le is_le5; + + + typedef aux::lambda_or< + BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le1)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le2)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le3)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le4)::value, BOOST_MPL_AUX_MSVC_VALUE_WKND(is_le5)::value + > is_le; + + typedef bind5< + typename F::rebind + , typename l1::type, typename l2::type, typename l3::type + , typename l4::type, typename l5::type + > bind_; + + typedef typename if_< + is_le + , if_< Protect, mpl::protect, bind_ > + , identity + >::type type_; + + typedef typename type_::type type; + }; +}; + +} // namespace aux + +template< + typename T + , typename Tag + , typename Protect + > +struct lambda +{ + /// Metafunction forwarding confuses MSVC 6.x + typedef typename aux::template_arity::type arity_; + typedef typename aux::lambda_impl + ::template result_< T,Tag,Protect > l_; + + typedef typename l_::type type; + typedef typename l_::is_le is_le; +}; + +BOOST_MPL_AUX_NA_SPEC2(1, 3, lambda) + +template< + typename T + > +struct is_lambda_expression + : lambda::is_le +{ +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less.hpp new file mode 100644 index 0000000..a79d45b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less + + : less_impl< + typename less_tag::type + , typename less_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N2)::value > BOOST_MPL_AUX_VALUE_WKND(N1)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp new file mode 100644 index 0000000..1a647e5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/less_equal.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/less_equal.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct less_equal_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< less_equal_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< less_equal_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct less_equal_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct less_equal_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct less_equal_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct less_equal + + : less_equal_impl< + typename less_equal_tag::type + , typename less_equal_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, less_equal) + +}} + +namespace boost { namespace mpl { + +template<> +struct less_equal_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value <= BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list.hpp new file mode 100644 index 0000000..1dcd58b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct list; + +template< + + > +struct list< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list0< > +{ + typedef list0< >::type type; +}; + +template< + typename T0 + > +struct list< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list1 +{ + typedef typename list1::type type; +}; + +template< + typename T0, typename T1 + > +struct list< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list2< T0,T1 > +{ + typedef typename list2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list3< T0,T1,T2 > +{ + typedef typename list3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list4< T0,T1,T2,T3 > +{ + typedef typename list4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list5< T0,T1,T2,T3,T4 > +{ + typedef typename list5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename list6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename list7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : list8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename list8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename list9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename list10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename list11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename list12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename list13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename list14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : list15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename list15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : list16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename list16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : list17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename list17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : list18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename list18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : list19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename list19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list + : list20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename list20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp new file mode 100644 index 0000000..578474e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/list_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct list_c; + +template< + typename T + > +struct list_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list0_c +{ + typedef typename list0_c::type type; +}; + +template< + typename T, long C0 + > +struct list_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list1_c< T,C0 > +{ + typedef typename list1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct list_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list2_c< T,C0,C1 > +{ + typedef typename list2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct list_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list3_c< T,C0,C1,C2 > +{ + typedef typename list3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct list_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list4_c< T,C0,C1,C2,C3 > +{ + typedef typename list4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct list_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename list5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename list6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : list7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename list7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename list8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename list9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename list10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename list11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename list12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename list13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename list14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename list15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : list16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename list16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : list17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename list17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : list18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename list18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct list_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : list19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename list19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct list_c + : list20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename list20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/map.hpp new file mode 100644 index 0000000..2f22291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/map.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/map.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct map; + +template< + + > +struct map< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map0< > +{ + typedef map0< >::type type; +}; + +template< + typename T0 + > +struct map< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map1 +{ + typedef typename map1::type type; +}; + +template< + typename T0, typename T1 + > +struct map< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map2< T0,T1 > +{ + typedef typename map2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct map< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map3< T0,T1,T2 > +{ + typedef typename map3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct map< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map4< T0,T1,T2,T3 > +{ + typedef typename map4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct map< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map5< T0,T1,T2,T3,T4 > +{ + typedef typename map5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct map< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename map6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename map7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : map8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename map8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename map9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename map10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename map11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename map12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename map13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename map14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : map15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename map15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : map16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename map16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : map17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename map17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : map18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename map18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct map< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : map19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename map19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct map + : map20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename map20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/minus.hpp new file mode 100644 index 0000000..394e904 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/minus.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/minus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct minus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< minus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< minus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct minus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct minus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct minus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct minus + : minus< minus< minus< minus< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct minus< N1,N2,N3,N4,na > + + : minus< minus< minus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct minus< N1,N2,N3,na,na > + + : minus< minus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct minus< N1,N2,na,na,na > + : minus_impl< + typename minus_tag::type + , typename minus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , minus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, minus) + +}} + +namespace boost { namespace mpl { +template<> +struct minus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + - BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp new file mode 100644 index 0000000..4d7e5d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/modulus.hpp @@ -0,0 +1,99 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/modulus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct modulus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< modulus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< modulus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct modulus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct modulus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct modulus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct modulus + + : modulus_impl< + typename modulus_tag::type + , typename modulus_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, modulus) + +}} + +namespace boost { namespace mpl { +template<> +struct modulus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + % BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp new file mode 100644 index 0000000..9344fab --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/not_equal_to.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct not_equal_to_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< not_equal_to_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< not_equal_to_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct not_equal_to_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct not_equal_to_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct not_equal_to_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct not_equal_to + + : not_equal_to_impl< + typename not_equal_to_tag::type + , typename not_equal_to_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, not_equal_to) + +}} + +namespace boost { namespace mpl { + +template<> +struct not_equal_to_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : bool_< ( BOOST_MPL_AUX_VALUE_WKND(N1)::value != BOOST_MPL_AUX_VALUE_WKND(N2)::value ) > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/or.hpp new file mode 100644 index 0000000..35136b0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/or.hpp @@ -0,0 +1,64 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/or.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< bool C_, typename T1, typename T2, typename T3, typename T4 > +struct or_impl + : true_ +{ +}; + +template< typename T1, typename T2, typename T3, typename T4 > +struct or_impl< false,T1,T2,T3,T4 > + : or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4 + , false_ + > +{ +}; + +template<> +struct or_impl< + false + , false_, false_, false_, false_ + > + : false_ +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename T3 = false_, typename T4 = false_, typename T5 = false_ + > +struct or_ + + : aux::or_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T1)::value + , T2, T3, T4, T5 + > + +{ +}; + +BOOST_MPL_AUX_NA_SPEC2( + 2 + , 5 + , or_ + ) + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp new file mode 100644 index 0000000..df5cb1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/placeholders.hpp @@ -0,0 +1,105 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/placeholders.hpp" header +// -- DO NOT modify by hand! + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg< -1 > _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<1> _1; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_1) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_1; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<2> _2; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_2) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_2; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<3> _3; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_3) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_3; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<4> _4; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_4) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_4; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<5> _5; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_5) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_5; +} + +}} +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<6> _6; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_6) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_6; +} + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/plus.hpp new file mode 100644 index 0000000..461d470 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/plus.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/plus.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct plus_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< plus_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< plus_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct plus_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct plus_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct plus_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct plus + : plus< plus< plus< plus< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct plus< N1,N2,N3,N4,na > + + : plus< plus< plus< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct plus< N1,N2,N3,na,na > + + : plus< plus< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct plus< N1,N2,na,na,na > + : plus_impl< + typename plus_tag::type + , typename plus_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , plus + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, plus) + +}} + +namespace boost { namespace mpl { +template<> +struct plus_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + + BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/quote.hpp new file mode 100644 index 0000000..4b4e539 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/quote.hpp @@ -0,0 +1,123 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/quote.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename T, bool has_type_ > +struct quote_impl + : T +{ +}; + +template< typename T > +struct quote_impl< T,false > +{ + typedef T type; +}; + +template< + template< typename P1 > class F + , typename Tag = void_ + > +struct quote1 +{ + template< typename U1 > struct apply + + : quote_impl< + F + , aux::has_type< F >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2 > class F + , typename Tag = void_ + > +struct quote2 +{ + template< typename U1, typename U2 > struct apply + + : quote_impl< + F< U1,U2 > + , aux::has_type< F< U1,U2 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3 > class F + , typename Tag = void_ + > +struct quote3 +{ + template< typename U1, typename U2, typename U3 > struct apply + + : quote_impl< + F< U1,U2,U3 > + , aux::has_type< F< U1,U2,U3 > >::value + > + + { + }; +}; + +template< + template< typename P1, typename P2, typename P3, typename P4 > class F + , typename Tag = void_ + > +struct quote4 +{ + template< + typename U1, typename U2, typename U3, typename U4 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4 > + , aux::has_type< F< U1,U2,U3,U4 > >::value + > + + { + }; +}; + +template< + template< + typename P1, typename P2, typename P3, typename P4 + , typename P5 + > + class F + , typename Tag = void_ + > +struct quote5 +{ + template< + typename U1, typename U2, typename U3, typename U4 + , typename U5 + > + struct apply + + : quote_impl< + F< U1,U2,U3,U4,U5 > + , aux::has_type< F< U1,U2,U3,U4,U5 > >::value + > + + { + }; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp new file mode 100644 index 0000000..1c4364a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp, fwd_state0, typename deref::type >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp, fwd_state1, typename deref::type >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp, fwd_state2, typename deref::type >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp, fwd_state3, typename deref::type >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp, bkwd_state4, typename deref::type >::type bkwd_state3; + typedef typename apply2< BackwardOp, bkwd_state3, typename deref::type >::type bkwd_state2; + typedef typename apply2< BackwardOp, bkwd_state2, typename deref::type >::type bkwd_state1; + typedef typename apply2< BackwardOp, bkwd_state1, typename deref::type >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2::type>::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , typename deref::type + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..f06c88b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp @@ -0,0 +1,231 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/reverse_iter_fold_impl.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 0,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef fwd_state0 bkwd_state0; + typedef bkwd_state0 state; + typedef iter0 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + + + typedef fwd_state1 bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + typedef bkwd_state0 state; + typedef iter1 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 2,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + + + typedef fwd_state2 bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter2 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 3,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + + + typedef fwd_state3 bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter3 iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< 4,First,Last,State,BackwardOp,ForwardOp > +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef fwd_state4 bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef iter4 iterator; +}; + +template< + long N + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl +{ + typedef First iter0; + typedef State fwd_state0; + typedef typename apply2< ForwardOp,fwd_state0,iter0 >::type fwd_state1; + typedef typename mpl::next::type iter1; + typedef typename apply2< ForwardOp,fwd_state1,iter1 >::type fwd_state2; + typedef typename mpl::next::type iter2; + typedef typename apply2< ForwardOp,fwd_state2,iter2 >::type fwd_state3; + typedef typename mpl::next::type iter3; + typedef typename apply2< ForwardOp,fwd_state3,iter3 >::type fwd_state4; + typedef typename mpl::next::type iter4; + + + typedef reverse_iter_fold_impl< + ( (N - 4) < 0 ? 0 : N - 4 ) + , iter4 + , Last + , fwd_state4 + , BackwardOp + , ForwardOp + > nested_chunk; + + typedef typename nested_chunk::state bkwd_state4; + typedef typename apply2< BackwardOp,bkwd_state4,iter3 >::type bkwd_state3; + typedef typename apply2< BackwardOp,bkwd_state3,iter2 >::type bkwd_state2; + typedef typename apply2< BackwardOp,bkwd_state2,iter1 >::type bkwd_state1; + typedef typename apply2< BackwardOp,bkwd_state1,iter0 >::type bkwd_state0; + + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,First,Last,State,BackwardOp,ForwardOp > +{ + typedef reverse_iter_fold_impl< + -1 + , typename mpl::next::type + , Last + , typename apply2< ForwardOp,State,First >::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , First + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct reverse_iter_fold_impl< -1,Last,Last,State,BackwardOp,ForwardOp > +{ + typedef State state; + typedef Last iterator; +}; + +}}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set.hpp new file mode 100644 index 0000000..b7e3f0b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct set; + +template< + + > +struct set< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set0< > +{ + typedef set0< >::type type; +}; + +template< + typename T0 + > +struct set< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set1 +{ + typedef typename set1::type type; +}; + +template< + typename T0, typename T1 + > +struct set< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set2< T0,T1 > +{ + typedef typename set2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set3< T0,T1,T2 > +{ + typedef typename set3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set4< T0,T1,T2,T3 > +{ + typedef typename set4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set5< T0,T1,T2,T3,T4 > +{ + typedef typename set5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename set6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename set7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : set8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename set12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename set13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename set14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : set15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename set15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : set16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename set16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : set17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename set17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : set18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename set18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct set< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : set19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename set19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set + : set20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename set20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp new file mode 100644 index 0000000..acdf68b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/set_c.hpp @@ -0,0 +1,328 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/set_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct set_c; + +template< + typename T + > +struct set_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set0_c +{ + typedef typename set0_c::type type; +}; + +template< + typename T, long C0 + > +struct set_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set1_c< T,C0 > +{ + typedef typename set1_c< T,C0 >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct set_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set2_c< T,C0,C1 > +{ + typedef typename set2_c< T,C0,C1 >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct set_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set3_c< T,C0,C1,C2 > +{ + typedef typename set3_c< T,C0,C1,C2 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct set_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set4_c< T,C0,C1,C2,C3 > +{ + typedef typename set4_c< T,C0,C1,C2,C3 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct set_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set5_c< T,C0,C1,C2,C3,C4 > +{ + typedef typename set5_c< T,C0,C1,C2,C3,C4 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set6_c< T,C0,C1,C2,C3,C4,C5 > +{ + typedef typename set6_c< T,C0,C1,C2,C3,C4,C5 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : set7_c< T,C0,C1,C2,C3,C4,C5,C6 > +{ + typedef typename set7_c< T,C0,C1,C2,C3,C4,C5,C6 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > +{ + typedef typename set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > +{ + typedef typename set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > +{ + typedef typename set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > +{ + typedef typename set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > +{ + typedef typename set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > +{ + typedef typename set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set14_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + > +{ + typedef typename set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set15_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + > +{ + typedef typename set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : set16_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15 + > +{ + typedef typename set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : set17_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16 + > +{ + typedef typename set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : set18_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17 + > +{ + typedef typename set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct set_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : set19_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18 + > +{ + typedef typename set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct set_c + : set20_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, C19 + > +{ + typedef typename set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp new file mode 100644 index 0000000..376c5d5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_left.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_left.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_left_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_left_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_left_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_left_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_left_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_left_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_left + + : shift_left_impl< + typename shift_left_tag::type + , typename shift_left_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_left) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_left_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + << BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp new file mode 100644 index 0000000..2abc42a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/shift_right.hpp @@ -0,0 +1,97 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/shift_right.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct shift_right_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< shift_right_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< shift_right_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct shift_right_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct shift_right_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct shift_right_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct shift_right + + : shift_right_impl< + typename shift_right_tag::type + , typename shift_right_tag::type + >::template apply< N1,N2 >::type +{ +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 2, shift_right) + +}} + +namespace boost { namespace mpl { +template<> +struct shift_right_impl< integral_c_tag,integral_c_tag > +{ + template< typename N, typename S > struct apply + + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + >> BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp new file mode 100644 index 0000000..03f2dbd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/template_arity.hpp @@ -0,0 +1,11 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/aux_/template_arity.hpp" header +// -- DO NOT modify by hand! + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/times.hpp new file mode 100644 index 0000000..685f246 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/times.hpp @@ -0,0 +1,141 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/times.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename Tag1 + , typename Tag2 + > +struct times_impl + : if_c< + ( BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag1) + > BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Tag2) + ) + + , aux::cast2nd_impl< times_impl< Tag1,Tag1 >,Tag1, Tag2 > + , aux::cast1st_impl< times_impl< Tag2,Tag2 >,Tag1, Tag2 > + >::type +{ +}; + +/// for Digital Mars C++/compilers with no CTPS/TTP support +template<> struct times_impl< na,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< na,Tag > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename Tag > struct times_impl< Tag,na > +{ + template< typename U1, typename U2 > struct apply + { + typedef apply type; + BOOST_STATIC_CONSTANT(int, value = 0); + }; +}; + +template< typename T > struct times_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + , typename N3 = na, typename N4 = na, typename N5 = na + > +struct times + : times< times< times< times< N1,N2 >, N3>, N4>, N5> +{ +}; + +template< + typename N1, typename N2, typename N3, typename N4 + > +struct times< N1,N2,N3,N4,na > + + : times< times< times< N1,N2 >, N3>, N4> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, N4, na ) + ) +}; + +template< + typename N1, typename N2, typename N3 + > +struct times< N1,N2,N3,na,na > + + : times< times< N1,N2 >, N3> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, N3, na, na ) + ) +}; + +template< + typename N1, typename N2 + > +struct times< N1,N2,na,na,na > + : times_impl< + typename times_tag::type + , typename times_tag::type + >::template apply< N1,N2 >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC( + 5 + , times + , ( N1, N2, na, na, na ) + ) + +}; + +BOOST_MPL_AUX_NA_SPEC2(2, 5, times) + +}} + +namespace boost { namespace mpl { +template<> +struct times_impl< integral_c_tag,integral_c_tag > +{ + template< typename N1, typename N2 > struct apply + + : integral_c< + typename aux::largest_int< + typename N1::value_type + , typename N2::value_type + >::type + , ( BOOST_MPL_AUX_VALUE_WKND(N1)::value + * BOOST_MPL_AUX_VALUE_WKND(N2)::value + ) + > + { + }; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp new file mode 100644 index 0000000..7f8c577 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/unpack_args.hpp @@ -0,0 +1,94 @@ + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/unpack_args.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +namespace aux { + +template< int size, typename F, typename Args > +struct unpack_args_impl; + +template< typename F, typename Args > +struct unpack_args_impl< 0,F,Args > + : apply0< + F + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 1,F,Args > + : apply1< + F + , typename at_c< Args,0 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 2,F,Args > + : apply2< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 3,F,Args > + : apply3< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 4,F,Args > + : apply4< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + > +{ +}; + +template< typename F, typename Args > +struct unpack_args_impl< 5,F,Args > + : apply5< + F + , typename at_c< Args,0 >::type, typename at_c< Args,1 >::type + , typename at_c< Args,2 >::type, typename at_c< Args,3 >::type + , typename at_c< Args,4 >::type + > +{ +}; + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply + + : aux::unpack_args_impl< size::value,F, Args > + + { + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector.hpp new file mode 100644 index 0000000..d1da8b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector.hpp @@ -0,0 +1,323 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 = na, typename T1 = na, typename T2 = na, typename T3 = na + , typename T4 = na, typename T5 = na, typename T6 = na, typename T7 = na + , typename T8 = na, typename T9 = na, typename T10 = na, typename T11 = na + , typename T12 = na, typename T13 = na, typename T14 = na + , typename T15 = na, typename T16 = na, typename T17 = na + , typename T18 = na, typename T19 = na + > +struct vector; + +template< + + > +struct vector< + na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector0< > +{ + typedef vector0< >::type type; +}; + +template< + typename T0 + > +struct vector< + T0, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector1 +{ + typedef typename vector1::type type; +}; + +template< + typename T0, typename T1 + > +struct vector< + T0, T1, na, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector2< T0,T1 > +{ + typedef typename vector2< T0,T1 >::type type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct vector< + T0, T1, T2, na, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector3< T0,T1,T2 > +{ + typedef typename vector3< T0,T1,T2 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct vector< + T0, T1, T2, T3, na, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector4< T0,T1,T2,T3 > +{ + typedef typename vector4< T0,T1,T2,T3 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct vector< + T0, T1, T2, T3, T4, na, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector5< T0,T1,T2,T3,T4 > +{ + typedef typename vector5< T0,T1,T2,T3,T4 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct vector< + T0, T1, T2, T3, T4, T5, na, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector6< T0,T1,T2,T3,T4,T5 > +{ + typedef typename vector6< T0,T1,T2,T3,T4,T5 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, na, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector7< T0,T1,T2,T3,T4,T5,T6 > +{ + typedef typename vector7< T0,T1,T2,T3,T4,T5,T6 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, na, na, na, na, na, na, na, na, na + , na, na, na + > + : vector8< T0,T1,T2,T3,T4,T5,T6,T7 > +{ + typedef typename vector8< T0,T1,T2,T3,T4,T5,T6,T7 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, na, na, na, na, na, na, na, na + , na, na, na + > + : vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 > +{ + typedef typename vector9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, na, na, na, na, na, na, na + , na, na, na + > + : vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 > +{ + typedef typename vector10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, na, na, na, na, na, na + , na, na, na + > + : vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > +{ + typedef typename vector11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, na, na, na, na + , na, na, na, na + > + : vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > +{ + typedef typename vector12< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, na, na, na + , na, na, na, na + > + : vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > +{ + typedef typename vector13< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, na, na + , na, na, na, na + > + : vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > +{ + typedef typename vector14< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, na + , na, na, na, na + > + : vector15< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + > +{ + typedef typename vector15< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, na, na, na, na + > + : vector16< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15 + > +{ + typedef typename vector16< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, na, na, na + > + : vector17< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16 + > +{ + typedef typename vector17< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, na, na + > + : vector18< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17 + > +{ + typedef typename vector18< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 >::type type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct vector< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, na + > + : vector19< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18 + > +{ + typedef typename vector19< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct vector + : vector20< + T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 + , T15, T16, T17, T18, T19 + > +{ + typedef typename vector20< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp new file mode 100644 index 0000000..ce33340 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessed/plain/vector_c.hpp @@ -0,0 +1,309 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/vector_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T, long C0 = LONG_MAX, long C1 = LONG_MAX, long C2 = LONG_MAX + , long C3 = LONG_MAX, long C4 = LONG_MAX, long C5 = LONG_MAX + , long C6 = LONG_MAX, long C7 = LONG_MAX, long C8 = LONG_MAX + , long C9 = LONG_MAX, long C10 = LONG_MAX, long C11 = LONG_MAX + , long C12 = LONG_MAX, long C13 = LONG_MAX, long C14 = LONG_MAX + , long C15 = LONG_MAX, long C16 = LONG_MAX, long C17 = LONG_MAX + , long C18 = LONG_MAX, long C19 = LONG_MAX + > +struct vector_c; + +template< + typename T + > +struct vector_c< + T, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector0_c +{ + typedef typename vector0_c::type type; +}; + +template< + typename T, long C0 + > +struct vector_c< + T, C0, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector1_c< T, T(C0) > +{ + typedef typename vector1_c< T, T(C0) >::type type; +}; + +template< + typename T, long C0, long C1 + > +struct vector_c< + T, C0, C1, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector2_c< T, T(C0), T(C1) > +{ + typedef typename vector2_c< T, T(C0), T(C1) >::type type; +}; + +template< + typename T, long C0, long C1, long C2 + > +struct vector_c< + T, C0, C1, C2, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector3_c< T, T(C0), T(C1), T(C2) > +{ + typedef typename vector3_c< T, T(C0), T(C1), T(C2) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3 + > +struct vector_c< + T, C0, C1, C2, C3, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector4_c< T, T(C0), T(C1), T(C2), T(C3) > +{ + typedef typename vector4_c< T, T(C0), T(C1), T(C2), T(C3) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4 + > +struct vector_c< + T, C0, C1, C2, C3, C4, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) > +{ + typedef typename vector5_c< T, T(C0), T(C1), T(C2), T(C3), T(C4) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) > +{ + typedef typename vector6_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX + > + : vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) > +{ + typedef typename vector7_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX + > + : vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) > +{ + typedef typename vector8_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) > +{ + typedef typename vector9_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + , LONG_MAX + > + : vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) > +{ + typedef typename vector10_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, LONG_MAX, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) > +{ + typedef typename vector11_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) > +{ + typedef typename vector12_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, LONG_MAX + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) > +{ + typedef typename vector13_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) > +{ + typedef typename vector14_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) > +{ + typedef typename vector15_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, LONG_MAX, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) > +{ + typedef typename vector16_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, LONG_MAX, LONG_MAX, LONG_MAX + > + : vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) > +{ + typedef typename vector17_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, LONG_MAX, LONG_MAX + > + : vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) > +{ + typedef typename vector18_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17) >::type type; +}; + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18 + > +struct vector_c< + T, C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14 + , C15, C16, C17, C18, LONG_MAX + > + : vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) > +{ + typedef typename vector19_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18) >::type type; +}; + +/// primary template (not a specialization!) + +template< + typename T, long C0, long C1, long C2, long C3, long C4, long C5 + , long C6, long C7, long C8, long C9, long C10, long C11, long C12 + , long C13, long C14, long C15, long C16, long C17, long C18, long C19 + > +struct vector_c + : vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) > +{ + typedef typename vector20_c< T, T(C0), T(C1), T(C2), T(C3), T(C4), T(C5), T(C6), T(C7), T(C8), T(C9), T(C10), T(C11), T(C12), T(C13), T(C14), T(C15), T(C16), T(C17), T(C18), T(C19) >::type type; +}; + +}} + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/add.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/add.hpp new file mode 100644 index 0000000..727e06b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/add.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: add.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) +# include + +# define BOOST_MPL_PP_ADD(i,j) \ + BOOST_MPL_PP_ADD_DELAY(i,j) \ + /**/ + +# define BOOST_MPL_PP_ADD_DELAY(i,j) \ + BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_ADD_##j) \ + /**/ +#else +# define BOOST_MPL_PP_ADD(i,j) \ + BOOST_MPL_PP_ADD_DELAY(i,j) \ + /**/ + +# define BOOST_MPL_PP_ADD_DELAY(i,j) \ + BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_ADD_##j \ + /**/ +#endif + +# define BOOST_MPL_PP_ADD_0 (0,1,2,3,4,5,6,7,8,9,10) +# define BOOST_MPL_PP_ADD_1 (1,2,3,4,5,6,7,8,9,10,0) +# define BOOST_MPL_PP_ADD_2 (2,3,4,5,6,7,8,9,10,0,0) +# define BOOST_MPL_PP_ADD_3 (3,4,5,6,7,8,9,10,0,0,0) +# define BOOST_MPL_PP_ADD_4 (4,5,6,7,8,9,10,0,0,0,0) +# define BOOST_MPL_PP_ADD_5 (5,6,7,8,9,10,0,0,0,0,0) +# define BOOST_MPL_PP_ADD_6 (6,7,8,9,10,0,0,0,0,0,0) +# define BOOST_MPL_PP_ADD_7 (7,8,9,10,0,0,0,0,0,0,0) +# define BOOST_MPL_PP_ADD_8 (8,9,10,0,0,0,0,0,0,0,0) +# define BOOST_MPL_PP_ADD_9 (9,10,0,0,0,0,0,0,0,0,0) +# define BOOST_MPL_PP_ADD_10 (10,0,0,0,0,0,0,0,0,0,0) + +#else + +# include + +# define BOOST_MPL_PP_ADD(i,j) \ + BOOST_PP_ADD(i,j) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_ADD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp new file mode 100644 index 0000000..a40b85e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp @@ -0,0 +1,105 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: def_params_tail.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#include +#include +#include +#include + +// BOOST_MPL_PP_DEF_PARAMS_TAIL(1,T,value): , T1 = value, .., Tn = value +// BOOST_MPL_PP_DEF_PARAMS_TAIL(2,T,value): , T2 = value, .., Tn = value +// BOOST_MPL_PP_DEF_PARAMS_TAIL(n,T,value): + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include +# include + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1( \ + i \ + , BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,i) \ + , param \ + , value_func \ + ) \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_1(i, n, param, value_func) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i,n,param,value_func) \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_DELAY_2(i, n, param, value_func) \ + BOOST_PP_COMMA_IF(BOOST_PP_AND(i,n)) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_##i(n,param,value_func) \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_0(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1 v(),p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v()) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_1(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2 v(),p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_2(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3 v(),p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_3(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4 v(),p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_4(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5 v(),p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_5(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6 v(),p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_6(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7 v(),p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_7(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8 v(),p##9 v(),p1,p2,p3,p4,p5,p6,p7) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_8(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9 v(),p1,p2,p3,p4,p5,p6,p7,p8) +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_9(i,p,v) BOOST_MPL_PP_FILTER_PARAMS_##i(p1,p2,p3,p4,p5,p6,p7,p8,p9) + +#else + +# include +# include +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC(unused, i, op) \ + , BOOST_PP_CAT( \ + BOOST_PP_TUPLE_ELEM(3, 1, op) \ + , BOOST_PP_ADD_D(1, i, BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(3, 0, op))) \ + ) BOOST_PP_TUPLE_ELEM(3, 2, op)() \ + /**/ + +# define BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, value_func) \ + BOOST_PP_REPEAT( \ + BOOST_PP_SUB_D(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, i) \ + , BOOST_MPL_PP_AUX_TAIL_PARAM_FUNC \ + , (i, param, value_func) \ + ) \ + /**/ + + +#endif // BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES + +#define BOOST_MPL_PP_DEF_PARAMS_TAIL(i, param, value) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ + /**/ + +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_IDENTITY(=value)) \ + /**/ +#else +# define BOOST_MPL_PP_NESTED_DEF_PARAMS_TAIL(i, param, value) \ + BOOST_MPL_PP_DEF_PARAMS_TAIL_IMPL(i, param, BOOST_PP_EMPTY) \ + /**/ +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_DEF_PARAMS_TAIL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/default_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/default_params.hpp new file mode 100644 index 0000000..54dc347 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/default_params.hpp @@ -0,0 +1,67 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: default_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +// BOOST_MPL_PP_DEFAULT_PARAMS(0,T,int): +// BOOST_MPL_PP_DEFAULT_PARAMS(1,T,int): T1 = int +// BOOST_MPL_PP_DEFAULT_PARAMS(2,T,int): T1 = int, T2 = int +// BOOST_MPL_PP_DEFAULT_PARAMS(n,T,int): T1 = int, T2 = int, .., Tn = int + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +# define BOOST_MPL_PP_DEFAULT_PARAMS(n,p,v) \ + BOOST_PP_CAT(BOOST_MPL_PP_DEFAULT_PARAMS_,n)(p,v) \ + /**/ + +# define BOOST_MPL_PP_DEFAULT_PARAMS_0(p,v) +# define BOOST_MPL_PP_DEFAULT_PARAMS_1(p,v) p##1=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_2(p,v) p##1=v,p##2=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_3(p,v) p##1=v,p##2=v,p##3=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_4(p,v) p##1=v,p##2=v,p##3=v,p##4=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_5(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_6(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_7(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_8(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v +# define BOOST_MPL_PP_DEFAULT_PARAMS_9(p,v) p##1=v,p##2=v,p##3=v,p##4=v,p##5=v,p##6=v,p##7=v,p##8=v,p##9=v + +#else + +# include +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC(unused, i, pv) \ + BOOST_PP_COMMA_IF(i) \ + BOOST_PP_CAT( BOOST_PP_TUPLE_ELEM(2,0,pv), BOOST_PP_INC(i) ) \ + = BOOST_PP_TUPLE_ELEM(2,1,pv) \ + /**/ + +# define BOOST_MPL_PP_DEFAULT_PARAMS(n, param, value) \ + BOOST_PP_REPEAT( \ + n \ + , BOOST_MPL_PP_AUX_DEFAULT_PARAM_FUNC \ + , (param,value) \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_DEFAULT_PARAMS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/enum.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/enum.hpp new file mode 100644 index 0000000..8c90859 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/enum.hpp @@ -0,0 +1,62 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: enum.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +// BOOST_MPL_PP_ENUM(0,int): +// BOOST_MPL_PP_ENUM(1,int): int +// BOOST_MPL_PP_ENUM(2,int): int, int +// BOOST_MPL_PP_ENUM(n,int): int, int, .., int + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +# define BOOST_MPL_PP_ENUM(n, param) \ + BOOST_PP_CAT(BOOST_MPL_PP_ENUM_,n)(param) \ + /**/ + +# define BOOST_MPL_PP_ENUM_0(p) +# define BOOST_MPL_PP_ENUM_1(p) p +# define BOOST_MPL_PP_ENUM_2(p) p,p +# define BOOST_MPL_PP_ENUM_3(p) p,p,p +# define BOOST_MPL_PP_ENUM_4(p) p,p,p,p +# define BOOST_MPL_PP_ENUM_5(p) p,p,p,p,p +# define BOOST_MPL_PP_ENUM_6(p) p,p,p,p,p,p +# define BOOST_MPL_PP_ENUM_7(p) p,p,p,p,p,p,p +# define BOOST_MPL_PP_ENUM_8(p) p,p,p,p,p,p,p,p +# define BOOST_MPL_PP_ENUM_9(p) p,p,p,p,p,p,p,p,p + +#else + +# include +# include + +# define BOOST_MPL_PP_AUX_ENUM_FUNC(unused, i, param) \ + BOOST_PP_COMMA_IF(i) param \ + /**/ + +# define BOOST_MPL_PP_ENUM(n, param) \ + BOOST_PP_REPEAT( \ + n \ + , BOOST_MPL_PP_AUX_ENUM_FUNC \ + , param \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_ENUM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/ext_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/ext_params.hpp new file mode 100644 index 0000000..c32eb86 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/ext_params.hpp @@ -0,0 +1,78 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: ext_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +// BOOST_MPL_PP_EXT_PARAMS(2,2,T): +// BOOST_MPL_PP_EXT_PARAMS(2,3,T): T2 +// BOOST_MPL_PP_EXT_PARAMS(2,4,T): T2, T3 +// BOOST_MPL_PP_EXT_PARAMS(2,n,T): T2, T3, .., Tn-1 + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include +# include + +# define BOOST_MPL_PP_EXT_PARAMS(i,j,p) \ + BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,BOOST_MPL_PP_SUB(j,i),p) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS_DELAY_1(i,n,p) \ + BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS_DELAY_2(i,n,p) \ + BOOST_MPL_PP_EXT_PARAMS_##i(n,p) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS_1(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9) +# define BOOST_MPL_PP_EXT_PARAMS_2(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1) +# define BOOST_MPL_PP_EXT_PARAMS_3(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##3,p##4,p##5,p##6,p##7,p##8,p##9,p1,p2) +# define BOOST_MPL_PP_EXT_PARAMS_4(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##4,p##5,p##6,p##7,p##8,p##9,p1,p2,p3) +# define BOOST_MPL_PP_EXT_PARAMS_5(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##5,p##6,p##7,p##8,p##9,p1,p2,p3,p4) +# define BOOST_MPL_PP_EXT_PARAMS_6(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##6,p##7,p##8,p##9,p1,p2,p3,p4,p5) +# define BOOST_MPL_PP_EXT_PARAMS_7(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##7,p##8,p##9,p1,p2,p3,p4,p5,p6) +# define BOOST_MPL_PP_EXT_PARAMS_8(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##8,p##9,p1,p2,p3,p4,p5,p6,p7) +# define BOOST_MPL_PP_EXT_PARAMS_9(i,p) BOOST_MPL_PP_FILTER_PARAMS_##i(p##9,p1,p2,p3,p4,p5,p6,p7,p8) + +#else + +# include +# include +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_EXT_PARAM_FUNC(unused, i, op) \ + BOOST_PP_COMMA_IF(i) \ + BOOST_PP_CAT( \ + BOOST_PP_TUPLE_ELEM(2,1,op) \ + , BOOST_PP_ADD_D(1, i, BOOST_PP_TUPLE_ELEM(2,0,op)) \ + ) \ + /**/ + +# define BOOST_MPL_PP_EXT_PARAMS(i, j, param) \ + BOOST_PP_REPEAT( \ + BOOST_PP_SUB_D(1,j,i) \ + , BOOST_MPL_PP_AUX_EXT_PARAM_FUNC \ + , (i,param) \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_EXT_PARAMS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/filter_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/filter_params.hpp new file mode 100644 index 0000000..dbbfed3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/filter_params.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: filter_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9) +#define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1 +#define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2 +#define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3 +#define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4 +#define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5 +#define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6 +#define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7 +#define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8 +#define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9 + +#endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/is_seq.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/is_seq.hpp new file mode 100644 index 0000000..f8b70f8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/is_seq.hpp @@ -0,0 +1,54 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED + +// Copyright Paul Mensonides 2003 +// Copyright Aleksey Gurtovoy 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: is_seq.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +// returns 1 if 'seq' is a PP-sequence, 0 otherwise: +// +// BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_IS_SEQ( int ) ) ) +// BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (int) ) ) +// BOOST_PP_ASSERT( BOOST_MPL_PP_IS_SEQ( (1)(2) ) ) + +#if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC()) || defined(_MSC_VER) && defined(__INTEL_COMPILER) && __INTEL_COMPILER == 1010 + +# define BOOST_MPL_PP_IS_SEQ(seq) BOOST_PP_DEC( BOOST_PP_SEQ_SIZE( BOOST_MPL_PP_IS_SEQ_(seq) ) ) +# define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_MPL_PP_IS_SEQ_SEQ_( BOOST_MPL_PP_IS_SEQ_SPLIT_ seq ) +# define BOOST_MPL_PP_IS_SEQ_SEQ_(x) (x) +# define BOOST_MPL_PP_IS_SEQ_SPLIT_(unused) unused)((unused) + +#else + +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_MWCC_((seq)) +# define BOOST_MPL_PP_IS_SEQ_MWCC_(args) BOOST_MPL_PP_IS_SEQ_ ## args +# else +# define BOOST_MPL_PP_IS_SEQ(seq) BOOST_MPL_PP_IS_SEQ_(seq) +# endif + +# define BOOST_MPL_PP_IS_SEQ_(seq) BOOST_PP_CAT(BOOST_MPL_PP_IS_SEQ_, BOOST_MPL_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) +# define BOOST_MPL_PP_IS_SEQ_0(x) BOOST_MPL_PP_IS_SEQ_1(x +# define BOOST_MPL_PP_IS_SEQ_ALWAYS_0(unused) 0 +# define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_0 BOOST_MPL_PP_IS_SEQ_ALWAYS_0( +# define BOOST_MPL_PP_IS_SEQ_BOOST_MPL_PP_IS_SEQ_1(unused) 1 + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_IS_SEQ_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/params.hpp new file mode 100644 index 0000000..24f3071 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/params.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +// BOOST_MPL_PP_PARAMS(0,T): +// BOOST_MPL_PP_PARAMS(1,T): T1 +// BOOST_MPL_PP_PARAMS(2,T): T1, T2 +// BOOST_MPL_PP_PARAMS(n,T): T1, T2, .., Tn + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +# define BOOST_MPL_PP_PARAMS(n,p) \ + BOOST_PP_CAT(BOOST_MPL_PP_PARAMS_,n)(p) \ + /**/ + +# define BOOST_MPL_PP_PARAMS_0(p) +# define BOOST_MPL_PP_PARAMS_1(p) p##1 +# define BOOST_MPL_PP_PARAMS_2(p) p##1,p##2 +# define BOOST_MPL_PP_PARAMS_3(p) p##1,p##2,p##3 +# define BOOST_MPL_PP_PARAMS_4(p) p##1,p##2,p##3,p##4 +# define BOOST_MPL_PP_PARAMS_5(p) p##1,p##2,p##3,p##4,p##5 +# define BOOST_MPL_PP_PARAMS_6(p) p##1,p##2,p##3,p##4,p##5,p##6 +# define BOOST_MPL_PP_PARAMS_7(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7 +# define BOOST_MPL_PP_PARAMS_8(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8 +# define BOOST_MPL_PP_PARAMS_9(p) p##1,p##2,p##3,p##4,p##5,p##6,p##7,p##8,p##9 + +#else + +# include +# include +# include +# include + +# define BOOST_MPL_PP_AUX_PARAM_FUNC(unused, i, param) \ + BOOST_PP_COMMA_IF(i) \ + BOOST_PP_CAT(param, BOOST_PP_INC(i)) \ + /**/ + +# define BOOST_MPL_PP_PARAMS(n, param) \ + BOOST_PP_REPEAT( \ + n \ + , BOOST_MPL_PP_AUX_PARAM_FUNC \ + , param \ + ) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_PARAMS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp new file mode 100644 index 0000000..a52d9c6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/partial_spec_params.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: partial_spec_params.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +#define BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \ +BOOST_MPL_PP_PARAMS(n, param) \ +BOOST_PP_COMMA_IF(BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n)) \ +BOOST_MPL_PP_ENUM( \ + BOOST_MPL_PP_SUB(BOOST_MPL_LIMIT_METAFUNCTION_ARITY,n) \ + , def \ + ) \ +/**/ + +#endif // BOOST_MPL_AUX_PREPROCESSOR_PARTIAL_SPEC_PARAMS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/range.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/range.hpp new file mode 100644 index 0000000..a4b2be5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/range.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#define BOOST_MPL_PP_RANGE(first, length) \ + BOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \ +/**/ + +#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/repeat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/repeat.hpp new file mode 100644 index 0000000..556a235 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/repeat.hpp @@ -0,0 +1,51 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: repeat.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +# define BOOST_MPL_PP_REPEAT(n,f,param) \ + BOOST_PP_CAT(BOOST_MPL_PP_REPEAT_,n)(f,param) \ + /**/ + +# define BOOST_MPL_PP_REPEAT_0(f,p) +# define BOOST_MPL_PP_REPEAT_1(f,p) f(0,0,p) +# define BOOST_MPL_PP_REPEAT_2(f,p) f(0,0,p) f(0,1,p) +# define BOOST_MPL_PP_REPEAT_3(f,p) f(0,0,p) f(0,1,p) f(0,2,p) +# define BOOST_MPL_PP_REPEAT_4(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) +# define BOOST_MPL_PP_REPEAT_5(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) +# define BOOST_MPL_PP_REPEAT_6(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) +# define BOOST_MPL_PP_REPEAT_7(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) +# define BOOST_MPL_PP_REPEAT_8(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) +# define BOOST_MPL_PP_REPEAT_9(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) +# define BOOST_MPL_PP_REPEAT_10(f,p) f(0,0,p) f(0,1,p) f(0,2,p) f(0,3,p) f(0,4,p) f(0,5,p) f(0,6,p) f(0,7,p) f(0,8,p) f(0,9,p) + +#else + +# include + +# define BOOST_MPL_PP_REPEAT(n,f,param) \ + BOOST_PP_REPEAT(n,f,param) \ + /**/ + +#endif + +#define BOOST_MPL_PP_REPEAT_IDENTITY_FUNC(unused1, unused2, x) x + +#endif // BOOST_MPL_AUX_PREPROCESSOR_REPEAT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/sub.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/sub.hpp new file mode 100644 index 0000000..3819399 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/sub.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: sub.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES) + +# include + +#if defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) +# include + +# define BOOST_MPL_PP_SUB(i,j) \ + BOOST_MPL_PP_SUB_DELAY(i,j) \ + /**/ + +# define BOOST_MPL_PP_SUB_DELAY(i,j) \ + BOOST_PP_CAT(BOOST_MPL_PP_TUPLE_11_ELEM_##i,BOOST_MPL_PP_SUB_##j) \ + /**/ +#else +# define BOOST_MPL_PP_SUB(i,j) \ + BOOST_MPL_PP_SUB_DELAY(i,j) \ + /**/ + +# define BOOST_MPL_PP_SUB_DELAY(i,j) \ + BOOST_MPL_PP_TUPLE_11_ELEM_##i BOOST_MPL_PP_SUB_##j \ + /**/ +#endif + +# define BOOST_MPL_PP_SUB_0 (0,1,2,3,4,5,6,7,8,9,10) +# define BOOST_MPL_PP_SUB_1 (0,0,1,2,3,4,5,6,7,8,9) +# define BOOST_MPL_PP_SUB_2 (0,0,0,1,2,3,4,5,6,7,8) +# define BOOST_MPL_PP_SUB_3 (0,0,0,0,1,2,3,4,5,6,7) +# define BOOST_MPL_PP_SUB_4 (0,0,0,0,0,1,2,3,4,5,6) +# define BOOST_MPL_PP_SUB_5 (0,0,0,0,0,0,1,2,3,4,5) +# define BOOST_MPL_PP_SUB_6 (0,0,0,0,0,0,0,1,2,3,4) +# define BOOST_MPL_PP_SUB_7 (0,0,0,0,0,0,0,0,1,2,3) +# define BOOST_MPL_PP_SUB_8 (0,0,0,0,0,0,0,0,0,1,2) +# define BOOST_MPL_PP_SUB_9 (0,0,0,0,0,0,0,0,0,0,1) +# define BOOST_MPL_PP_SUB_10 (0,0,0,0,0,0,0,0,0,0,0) + +#else + +# include + +# define BOOST_MPL_PP_SUB(i,j) \ + BOOST_PP_SUB(i,j) \ + /**/ + +#endif + +#endif // BOOST_MPL_AUX_PREPROCESSOR_SUB_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/token_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/token_equal.hpp new file mode 100644 index 0000000..830faa6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/token_equal.hpp @@ -0,0 +1,56 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED + +// Copyright Paul Mensonides 2003 +// Copyright Aleksey Gurtovoy 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: token_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#include +#include +#include +#include +#include + +// compares tokens 'a' and 'b' for equality: +// +// #define BOOST_MPL_PP_TOKEN_EQUAL_apple(x) x +// #define BOOST_MPL_PP_TOKEN_EQUAL_orange(x) x +// +// BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, abc) ) ) +// BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(abc, apple) ) ) +// BOOST_PP_ASSERT( BOOST_PP_NOT( BOOST_MPL_PP_TOKEN_EQUAL(apple, orange) ) ) +// BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(apple, apple) ) +// BOOST_PP_ASSERT( BOOST_MPL_PP_TOKEN_EQUAL(orange, orange) ) + +#define BOOST_MPL_PP_TOKEN_EQUAL(a, b) \ + BOOST_PP_IIF( \ + BOOST_PP_BITAND( \ + BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, a)((unused)) ) \ + , BOOST_MPL_PP_IS_SEQ( BOOST_PP_CAT(BOOST_MPL_PP_TOKEN_EQUAL_, b)((unused)) ) \ + ) \ + , BOOST_MPL_PP_TOKEN_EQUAL_I \ + , 0 BOOST_PP_TUPLE_EAT(2) \ + )(a, b) \ +/**/ + +#define BOOST_MPL_PP_TOKEN_EQUAL_I(a, b) \ + BOOST_PP_COMPL(BOOST_MPL_PP_IS_SEQ( \ + BOOST_MPL_PP_TOKEN_EQUAL_ ## a( \ + BOOST_MPL_PP_TOKEN_EQUAL_ ## b \ + )((unused)) \ + )) \ +/**/ + +#endif // BOOST_MPL_AUX_PREPROCESSOR_TOKEN_EQUAL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/tuple.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/tuple.hpp new file mode 100644 index 0000000..ddaec8b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/preprocessor/tuple.hpp @@ -0,0 +1,29 @@ + +#ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED +#define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tuple.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0 +#define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1 +#define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2 +#define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3 +#define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4 +#define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5 +#define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6 +#define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7 +#define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8 +#define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9 +#define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10 + +#endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/ptr_to_ref.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/ptr_to_ref.hpp new file mode 100644 index 0000000..d4f7352 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/ptr_to_ref.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED +#define BOOST_MPL_AUX_PTR_TO_REF_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: ptr_to_ref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + + +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || ( BOOST_WORKAROUND(__EDG_VERSION__, <= 245) \ + && !(defined(__STD_STRICT_ANSI) \ + || defined(__STD_STRICT_ANSI_ERRORS)) ) + +# define BOOST_MPL_AUX_PTR_TO_REF(X) \ + *BOOST_MPL_AUX_STATIC_CAST(X*, 0) \ +/**/ + +#else + +# define BOOST_MPL_AUX_PTR_TO_REF(X) \ + aux::ptr_to_ref(BOOST_MPL_AUX_STATIC_CAST(X*, 0)) \ +/**/ + +#endif + + +namespace boost { namespace mpl { namespace aux { + +template< typename T > static T const& ptr_to_ref(T*); + +}}} + +#endif // BOOST_MPL_AUX_PTR_TO_REF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_back_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_back_impl.hpp new file mode 100644 index 0000000..f5d8045 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_back_impl.hpp @@ -0,0 +1,70 @@ + +#ifndef BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_back_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $ +// $Date: 2009-08-20 03:50:16 -0400 (Thu, 20 Aug 2009) $ +// $Revision: 55679 $ + +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +struct has_push_back_arg {}; + +// agurt 05/feb/04: no default implementation; the stub definition is needed +// to enable the default 'has_push_back' implementation below +template< typename Tag > +struct push_back_impl +{ + template< typename Sequence, typename T > struct apply + { + // should be instantiated only in the context of 'has_push_back_impl'; + // if you've got an assert here, you are requesting a 'push_back' + // specialization that doesn't exist. + BOOST_MPL_ASSERT_MSG( + ( boost::is_same< T, has_push_back_arg >::value ) + , REQUESTED_PUSH_BACK_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST + , ( Sequence ) + ); + }; +}; + +template< typename Tag > +struct has_push_back_impl +{ + template< typename Seq > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : aux::has_type< push_back< Seq, has_push_back_arg > > + { +#else + { + typedef aux::has_type< push_back< Seq, has_push_back_arg > > type; + BOOST_STATIC_CONSTANT(bool, value = + (aux::has_type< push_back< Seq, has_push_back_arg > >::value) + ); +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_back_impl) +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_back_impl) + +}} + +#endif // BOOST_MPL_AUX_PUSH_BACK_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_front_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_front_impl.hpp new file mode 100644 index 0000000..9e3fd82 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/push_front_impl.hpp @@ -0,0 +1,71 @@ + +#ifndef BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_front_impl.hpp 55679 2009-08-20 07:50:16Z agurtovoy $ +// $Date: 2009-08-20 03:50:16 -0400 (Thu, 20 Aug 2009) $ +// $Revision: 55679 $ + +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +struct has_push_front_arg {}; + +// agurt 05/feb/04: no default implementation; the stub definition is needed +// to enable the default 'has_push_front' implementation below + +template< typename Tag > +struct push_front_impl +{ + template< typename Sequence, typename T > struct apply + { + // should be instantiated only in the context of 'has_push_front_impl'; + // if you've got an assert here, you are requesting a 'push_front' + // specialization that doesn't exist. + BOOST_MPL_ASSERT_MSG( + ( boost::is_same< T, has_push_front_arg >::value ) + , REQUESTED_PUSH_FRONT_SPECIALIZATION_FOR_SEQUENCE_DOES_NOT_EXIST + , ( Sequence ) + ); + }; +}; + +template< typename Tag > +struct has_push_front_impl +{ + template< typename Seq > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : aux::has_type< push_front< Seq, has_push_front_arg > > + { +#else + { + typedef aux::has_type< push_front< Seq, has_push_front_arg > > type; + BOOST_STATIC_CONSTANT(bool, value = + (aux::has_type< push_front< Seq, has_push_front_arg > >::value) + ); +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(2, push_front_impl) +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, has_push_front_impl) + +}} + +#endif // BOOST_MPL_AUX_PUSH_FRONT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/O1_size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/O1_size.hpp new file mode 100644 index 0000000..0bcfd22 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/O1_size.hpp @@ -0,0 +1,31 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct O1_size_impl< aux::half_open_range_tag > + : size_impl< aux::half_open_range_tag > +{ +}; + +}} + +#endif // BOOST_MPL_AUX_RANGE_C_O1_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/back.hpp new file mode 100644 index 0000000..8a4e708 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/back.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct back_impl< aux::half_open_range_tag > +{ + template< typename Range > struct apply + { + typedef typename prior< typename Range::finish >::type type; + }; +}; + +}} + +#endif // BOOST_MPL_AUX_RANGE_C_BACK_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/empty.hpp new file mode 100644 index 0000000..bbc03c7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/empty.hpp @@ -0,0 +1,37 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct empty_impl< aux::half_open_range_tag > +{ + template< typename Range > struct apply + : equal_to< + typename Range::start + , typename Range::finish + > + { + }; +}; + +}} + +#endif // BOOST_MPL_AUX_RANGE_C_EMPTY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/front.hpp new file mode 100644 index 0000000..fe53f92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/front.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct front_impl< aux::half_open_range_tag > +{ + template< typename Range > struct apply + { + typedef typename Range::start type; + }; +}; + +}} + +#endif // BOOST_MPL_AUX_RANGE_C_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/iterator.hpp new file mode 100644 index 0000000..001bc8c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/iterator.hpp @@ -0,0 +1,106 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// theoretically will work on any discrete numeric type +template< typename N > struct r_iter +{ + typedef aux::r_iter_tag tag; + typedef random_access_iterator_tag category; + typedef N type; + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + typedef r_iter< typename mpl::next::type > next; + typedef r_iter< typename mpl::prior::type > prior; +#endif +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename N + > +struct next< r_iter > +{ + typedef r_iter< typename mpl::next::type > type; +}; + +template< + typename N + > +struct prior< r_iter > +{ + typedef r_iter< typename mpl::prior::type > type; +}; + +#endif + + +template<> struct advance_impl +{ + template< typename Iter, typename Dist > struct apply + { + typedef typename deref::type n_; +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + typedef typename plus_impl + ::template apply::type m_; +#else + typedef typename plus::type m_; +#endif + // agurt, 10/nov/04: to be generic, the code have to do something along + // the lines below... + // + // typedef typename apply_wrap1< + // numeric_cast< typename m_::tag, typename n_::tag > + // , m_ + // >::type result_; + // + // ... meanwhile: + + typedef integral_c< + typename aux::value_type_wknd::type + , BOOST_MPL_AUX_VALUE_WKND(m_)::value + > result_; + + typedef r_iter type; + }; +}; + +template<> struct distance_impl +{ + template< typename Iter1, typename Iter2 > struct apply + : minus< + typename Iter2::type + , typename Iter1::type + > + { + }; +}; + +}} + +#endif // BOOST_MPL_AUX_RANGE_C_ITERATOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/size.hpp new file mode 100644 index 0000000..05cafc3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/size.hpp @@ -0,0 +1,37 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct size_impl< aux::half_open_range_tag > +{ + template< typename Range > struct apply + : minus< + typename Range::finish + , typename Range::start + > + { + }; +}; + +}} + +#endif // BOOST_MPL_AUX_RANGE_C_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/tag.hpp new file mode 100644 index 0000000..1d4ed2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/range_c/tag.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED +#define BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { namespace aux { + +struct half_open_range_tag; +struct r_iter_tag; + +}}} + +#endif // BOOST_MPL_AUX_RANGE_C_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl.hpp new file mode 100644 index 0000000..88bfcfc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: reverse_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) +# include +# include +# endif +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER reverse_fold_impl.hpp +# include + +#else + +# define AUX778076_FOLD_IMPL_OP(iter) typename deref::type +# define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_fold +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_REVERSE_FOLD_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl_body.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl_body.hpp new file mode 100644 index 0000000..59daafd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_fold_impl_body.hpp @@ -0,0 +1,412 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#if !defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: reverse_fold_impl_body.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +# include +# include +# include +# include + +# include +# include +# include +# include +# include + +// local macros, #undef-ined at the end of the header + +# define AUX778076_ITER_FOLD_FORWARD_STEP(unused, n_, unused2) \ + typedef typename apply2< \ + ForwardOp \ + , BOOST_PP_CAT(fwd_state,n_) \ + , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,n_)) \ + >::type BOOST_PP_CAT(fwd_state,BOOST_PP_INC(n_)); \ + typedef typename mpl::next::type \ + BOOST_PP_CAT(iter,BOOST_PP_INC(n_)); \ + /**/ + +# define AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC(n_) \ + typedef typename apply2< \ + BackwardOp \ + , BOOST_PP_CAT(bkwd_state,n_) \ + , AUX778076_FOLD_IMPL_OP(BOOST_PP_CAT(iter,BOOST_PP_DEC(n_))) \ + >::type BOOST_PP_CAT(bkwd_state,BOOST_PP_DEC(n_)); \ + /**/ + +# define AUX778076_ITER_FOLD_BACKWARD_STEP(unused, n_, j) \ + AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC( \ + BOOST_PP_SUB_D(1,j,n_) \ + ) \ + /**/ + +# define AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(n_) \ + typedef typename nested_chunk::state BOOST_PP_CAT(bkwd_state,n_); + /**/ + +# define AUX778076_FOLD_IMPL_NAME \ + BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_impl) \ + /**/ + +# define AUX778076_FOLD_CHUNK_NAME \ + BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_chunk) \ + /**/ + +namespace boost { namespace mpl { namespace aux { + +/// forward declaration +template< + BOOST_MPL_AUX_NTTP_DECL(long, N) + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< + BOOST_MPL_AUX_NTTP_DECL(long, N) + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef AUX778076_FOLD_IMPL_NAME< + ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) + , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING) + , Last + , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING) + , BackwardOp + , ForwardOp + > nested_chunk; + + AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING) + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_BACKWARD_STEP + , BOOST_MPL_LIMIT_UNROLLING + ) + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; +}; + +// fallback implementation for sequences of unknown size +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME<-1,First,Last,State,BackwardOp,ForwardOp> +{ + typedef AUX778076_FOLD_IMPL_NAME< + -1 + , typename mpl::next::type + , Last + , typename apply2::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , AUX778076_FOLD_IMPL_OP(First) + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME<-1,Last,Last,State,BackwardOp,ForwardOp> +{ + typedef State state; + typedef Last iterator; +}; + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct AUX778076_FOLD_CHUNK_NAME; + +# define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_UNROLLING, )) +# include BOOST_PP_ITERATE() + +// implementation for N that exceeds BOOST_MPL_LIMIT_UNROLLING +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > +struct AUX778076_FOLD_CHUNK_NAME +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef AUX778076_FOLD_IMPL_NAME< + ( (N - BOOST_MPL_LIMIT_UNROLLING) < 0 ? 0 : N - BOOST_MPL_LIMIT_UNROLLING ) + , BOOST_PP_CAT(iter,BOOST_MPL_LIMIT_UNROLLING) + , Last + , BOOST_PP_CAT(fwd_state,BOOST_MPL_LIMIT_UNROLLING) + , BackwardOp + , ForwardOp + > nested_chunk; + + AUX778076_FIRST_BACKWARD_STATE_TYPEDEF(BOOST_MPL_LIMIT_UNROLLING) + + BOOST_MPL_PP_REPEAT( + BOOST_MPL_LIMIT_UNROLLING + , AUX778076_ITER_FOLD_BACKWARD_STEP + , BOOST_MPL_LIMIT_UNROLLING + ) + + typedef bkwd_state0 state; + typedef typename nested_chunk::iterator iterator; + }; +}; + +// fallback implementation for sequences of unknown size +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step); + +template< + typename Last + , typename State + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) +{ + typedef Last iterator; + typedef State state; +}; + +template<> +struct AUX778076_FOLD_CHUNK_NAME<-1> +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef typename if_< + typename is_same::type + , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_null_step) + , BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) + >::type res_; + + typedef typename res_::state state; + typedef typename res_::iterator iterator; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct result_ + { + typedef int state; + typedef int iterator; + }; +#endif +}; + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct BOOST_PP_CAT(AUX778076_FOLD_IMPL_NAME_PREFIX,_step) +{ + typedef AUX778076_FOLD_CHUNK_NAME<-1>::template result_< + typename mpl::next::type + , Last + , typename apply2::type + , BackwardOp + , ForwardOp + > nested_step; + + typedef typename apply2< + BackwardOp + , typename nested_step::state + , AUX778076_FOLD_IMPL_OP(First) + >::type state; + + typedef typename nested_step::iterator iterator; +}; + +template< + BOOST_MPL_AUX_NTTP_DECL(long, N) + , typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME + : AUX778076_FOLD_CHUNK_NAME + ::template result_ +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}}} + +# undef AUX778076_FIRST_BACKWARD_STATE_TYPEDEF +# undef AUX778076_ITER_FOLD_BACKWARD_STEP +# undef AUX778076_ITER_FOLD_BACKWARD_STEP_FUNC +# undef AUX778076_ITER_FOLD_FORWARD_STEP + +#undef AUX778076_FOLD_IMPL_OP +#undef AUX778076_FOLD_IMPL_NAME_PREFIX + +///// iteration + +#else + +# define n_ BOOST_PP_FRAME_ITERATION(1) + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) + +template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > +struct AUX778076_FOLD_IMPL_NAME +{ + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_); + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_BACKWARD_STEP + , n_ + ) + + typedef bkwd_state0 state; + typedef BOOST_PP_CAT(iter,n_) iterator; +}; + +#else + +template<> struct AUX778076_FOLD_CHUNK_NAME +{ + template< + typename First + , typename Last + , typename State + , typename BackwardOp + , typename ForwardOp + > + struct result_ + { + typedef First iter0; + typedef State fwd_state0; + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_FORWARD_STEP + , unused + ) + + typedef BOOST_PP_CAT(fwd_state,n_) BOOST_PP_CAT(bkwd_state,n_); + + BOOST_MPL_PP_REPEAT( + n_ + , AUX778076_ITER_FOLD_BACKWARD_STEP + , n_ + ) + + typedef bkwd_state0 state; + typedef BOOST_PP_CAT(iter,n_) iterator; + }; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + /// ETI workaround + template<> struct result_ + { + typedef int state; + typedef int iterator; + }; +#endif +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +# undef n_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp new file mode 100644 index 0000000..5edb291 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/reverse_iter_fold_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: reverse_iter_fold_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + || defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) +# include +# include +# endif +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER reverse_iter_fold_impl.hpp +# include + +#else + +# define AUX778076_FOLD_IMPL_OP(iter) iter +# define AUX778076_FOLD_IMPL_NAME_PREFIX reverse_iter_fold +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_ITER_FOLD_BACKWARD_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sequence_wrapper.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sequence_wrapper.hpp new file mode 100644 index 0000000..cde921e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sequence_wrapper.hpp @@ -0,0 +1,292 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: sequence_wrapper.hpp 49271 2008-10-11 06:46:00Z agurtovoy $ +// $Date: 2008-10-11 02:46:00 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49271 $ + +# include +# include +# include + +# include +# include +# include +# include +# include +# include +# include +# include + +#if defined(BOOST_MPL_PREPROCESSING_MODE) +# undef LONG_MAX +#endif + +namespace boost { namespace mpl { + +#if !defined(AUX778076_SEQUENCE_BASE_NAME) +# define AUX778076_SEQUENCE_BASE_NAME AUX778076_SEQUENCE_NAME +#endif + +#if !defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) + +# define AUX778076_SEQUENCE_PARAM_NAME T +# define AUX778076_SEQUENCE_TEMPLATE_PARAM typename T +# define AUX778076_SEQUENCE_DEFAULT na + +# define AUX778076_SEQUENCE_NAME_N(n) \ + BOOST_PP_CAT(AUX778076_SEQUENCE_BASE_NAME,n) \ + /**/ + +# define AUX778076_SEQUENCE_PARAMS() \ + BOOST_PP_ENUM_PARAMS( \ + AUX778076_SEQUENCE_LIMIT \ + , AUX778076_SEQUENCE_TEMPLATE_PARAM \ + ) \ + /**/ + +# define AUX778076_SEQUENCE_ARGS() \ + BOOST_PP_ENUM_PARAMS( \ + AUX778076_SEQUENCE_LIMIT \ + , T \ + ) \ + /**/ + +# define AUX778076_SEQUENCE_DEFAULT_PARAMS() \ + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \ + AUX778076_SEQUENCE_LIMIT \ + , AUX778076_SEQUENCE_TEMPLATE_PARAM \ + , AUX778076_SEQUENCE_DEFAULT \ + ) \ + /**/ + +# define AUX778076_SEQUENCE_N_PARAMS(n) \ + BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \ + /**/ + +# define AUX778076_SEQUENCE_N_ARGS(n) \ + BOOST_PP_ENUM_PARAMS(n, T) \ + /**/ + +# define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \ + BOOST_PP_ENUM_PARAMS(n, T) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_PP_ENUM( \ + BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \ + , BOOST_PP_TUPLE_ELEM_3_2 \ + , AUX778076_SEQUENCE_DEFAULT \ + ) \ + /**/ + +#else // AUX778076_SEQUENCE_INTEGRAL_WRAPPER + +# define AUX778076_SEQUENCE_PARAM_NAME C +# define AUX778076_SEQUENCE_TEMPLATE_PARAM BOOST_MPL_AUX_NTTP_DECL(long, C) +# define AUX778076_SEQUENCE_DEFAULT LONG_MAX + +# define AUX778076_SEQUENCE_PARAMS() \ + typename T, BOOST_PP_ENUM_PARAMS( \ + AUX778076_SEQUENCE_LIMIT \ + , AUX778076_SEQUENCE_TEMPLATE_PARAM \ + ) \ + /**/ + +# define AUX778076_SEQUENCE_ARGS() \ + T, BOOST_PP_ENUM_PARAMS( \ + AUX778076_SEQUENCE_LIMIT \ + , C \ + ) \ + /**/ + +# define AUX778076_SEQUENCE_DEFAULT_PARAMS() \ + typename T, \ + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( \ + AUX778076_SEQUENCE_LIMIT \ + , AUX778076_SEQUENCE_TEMPLATE_PARAM \ + , AUX778076_SEQUENCE_DEFAULT \ + ) \ + /**/ + +# define AUX778076_SEQUENCE_N_PARAMS(n) \ + typename T BOOST_PP_COMMA_IF(n) \ + BOOST_PP_ENUM_PARAMS(n, AUX778076_SEQUENCE_TEMPLATE_PARAM) \ + /**/ + +# if !defined(AUX778076_SEQUENCE_CONVERT_CN_TO) +# define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) BOOST_PP_CAT(C,n) +# endif + +# define AUX778076_SEQUENCE_N_ARGS(n) \ + T BOOST_PP_COMMA_IF(n) \ + BOOST_PP_ENUM(n,AUX778076_SEQUENCE_CONVERT_CN_TO,T) \ + /**/ + +# define AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(n) \ + T, BOOST_PP_ENUM_PARAMS(n, C) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_PP_ENUM( \ + BOOST_PP_SUB_D(1,AUX778076_SEQUENCE_LIMIT,n) \ + , BOOST_PP_TUPLE_ELEM_3_2 \ + , AUX778076_SEQUENCE_DEFAULT \ + ) \ + /**/ + +#endif // AUX778076_SEQUENCE_INTEGRAL_WRAPPER + + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +// forward declaration +template< + AUX778076_SEQUENCE_DEFAULT_PARAMS() + > +struct AUX778076_SEQUENCE_NAME; +#else +namespace aux { +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser); +} +#endif + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, AUX778076_SEQUENCE_LIMIT, )) +#include BOOST_PP_ITERATE() + +// real C++ version is already taken care of +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +namespace aux { +// ???_count_args +#define AUX778076_COUNT_ARGS_PREFIX AUX778076_SEQUENCE_NAME +#define AUX778076_COUNT_ARGS_DEFAULT AUX778076_SEQUENCE_DEFAULT +#define AUX778076_COUNT_ARGS_PARAM_NAME AUX778076_SEQUENCE_PARAM_NAME +#define AUX778076_COUNT_ARGS_TEMPLATE_PARAM AUX778076_SEQUENCE_TEMPLATE_PARAM +#define AUX778076_COUNT_ARGS_ARITY AUX778076_SEQUENCE_LIMIT +#define AUX778076_COUNT_ARGS_USE_STANDARD_PP_PRIMITIVES +#include + +template< + AUX778076_SEQUENCE_PARAMS() + > +struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl) +{ + typedef aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_count_args)< + BOOST_PP_ENUM_PARAMS(AUX778076_SEQUENCE_LIMIT, AUX778076_SEQUENCE_PARAM_NAME) + > arg_num_; + + typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser)< arg_num_::value > + ::template result_< AUX778076_SEQUENCE_ARGS() >::type type; +}; + +} // namespace aux + +template< + AUX778076_SEQUENCE_DEFAULT_PARAMS() + > +struct AUX778076_SEQUENCE_NAME + : aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)< + AUX778076_SEQUENCE_ARGS() + >::type +{ + typedef typename aux::BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_impl)< + AUX778076_SEQUENCE_ARGS() + >::type type; +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +# undef AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS +# undef AUX778076_SEQUENCE_N_ARGS +# undef AUX778076_SEQUENCE_CONVERT_CN_TO +# undef AUX778076_SEQUENCE_N_PARAMS +# undef AUX778076_SEQUENCE_DEFAULT_PARAMS +# undef AUX778076_SEQUENCE_ARGS +# undef AUX778076_SEQUENCE_PARAMS +# undef AUX778076_SEQUENCE_NAME_N +# undef AUX778076_SEQUENCE_DEFAULT +# undef AUX778076_SEQUENCE_TEMPLATE_PARAM +# undef AUX778076_SEQUENCE_PARAM_NAME +# undef AUX778076_SEQUENCE_LIMIT +# undef AUX778076_SEQUENCE_BASE_NAME +# undef AUX778076_SEQUENCE_NAME +# undef AUX778076_SEQUENCE_INTEGRAL_WRAPPER + +}} + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +#if i_ == AUX778076_SEQUENCE_LIMIT + +/// primary template (not a specialization!) +template< + AUX778076_SEQUENCE_N_PARAMS(i_) + > +struct AUX778076_SEQUENCE_NAME + : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) > +{ + typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; +}; + +#else + +template< + AUX778076_SEQUENCE_N_PARAMS(i_) + > +struct AUX778076_SEQUENCE_NAME< AUX778076_SEQUENCE_N_PARTIAL_SPEC_ARGS(i_) > + : AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) > +{ +#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) + typedef typename AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; +#else + typedef AUX778076_SEQUENCE_NAME_N(i_)< AUX778076_SEQUENCE_N_ARGS(i_) >::type type; +#endif +}; + +#endif // i_ == AUX778076_SEQUENCE_LIMIT + +# else + +namespace aux { + +template<> +struct BOOST_PP_CAT(AUX778076_SEQUENCE_NAME,_chooser) +{ + template< + AUX778076_SEQUENCE_PARAMS() + > + struct result_ + { +#if i_ > 0 || defined(AUX778076_SEQUENCE_INTEGRAL_WRAPPER) + typedef typename AUX778076_SEQUENCE_NAME_N(i_)< + AUX778076_SEQUENCE_N_ARGS(i_) + >::type type; +#else + typedef AUX778076_SEQUENCE_NAME_N(i_)< + AUX778076_SEQUENCE_N_ARGS(i_) + >::type type; +#endif + }; +}; + +} // namespace aux + +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/shift_op.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/shift_op.hpp new file mode 100644 index 0000000..8a6561c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/shift_op.hpp @@ -0,0 +1,87 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: shift_op.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +#endif + +#if !defined(AUX778076_OP_PREFIX) +# define AUX778076_OP_PREFIX AUX778076_OP_NAME +#endif + +#define AUX778076_OP_ARITY 2 + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER AUX778076_OP_PREFIX.hpp +# include + +#else + +# include +# include + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) +namespace aux { +template< typename T, typename Shift, T n, Shift s > +struct BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd) +{ + BOOST_STATIC_CONSTANT(T, value = (n AUX778076_OP_TOKEN s)); + typedef integral_c type; +}; +} +#endif + +template<> +struct AUX778076_OP_IMPL_NAME +{ + template< typename N, typename S > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) + : integral_c< + typename N::value_type + , ( BOOST_MPL_AUX_VALUE_WKND(N)::value + AUX778076_OP_TOKEN BOOST_MPL_AUX_VALUE_WKND(S)::value + ) + > +#else + : aux::BOOST_PP_CAT(AUX778076_OP_PREFIX,_wknd)< + typename N::value_type + , typename S::value_type + , N::value + , S::value + >::type +#endif + { + }; +}; + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + +#undef AUX778076_OP_TAG_NAME +#undef AUX778076_OP_IMPL_NAME +#undef AUX778076_OP_ARITY +#undef AUX778076_OP_PREFIX +#undef AUX778076_OP_NAME +#undef AUX778076_OP_TOKEN diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/single_element_iter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/single_element_iter.hpp new file mode 100644 index 0000000..0b37acc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/single_element_iter.hpp @@ -0,0 +1,118 @@ + +#ifndef BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED +#define BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_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: single_element_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +namespace aux { + +template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) > +struct sel_iter; + +template< typename T > +struct sel_iter +{ + typedef random_access_iterator_tag category; + typedef sel_iter next; + typedef T type; +}; + +template< typename T > +struct sel_iter +{ + typedef random_access_iterator_tag category; + typedef sel_iter prior; +}; + +} // namespace aux + +template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_), typename Distance > +struct advance< aux::sel_iter,Distance> +{ + typedef aux::sel_iter< + T + , ( is_last_ + BOOST_MPL_AUX_NESTED_VALUE_WKND(int, Distance) ) + > type; +}; + +template< + typename T + , BOOST_MPL_AUX_NTTP_DECL(int, l1) + , BOOST_MPL_AUX_NTTP_DECL(int, l2) + > +struct distance< aux::sel_iter, aux::sel_iter > + : int_<( l2 - l1 )> +{ +}; + +#else + +namespace aux { + +struct sel_iter_tag; + +template< typename T, BOOST_MPL_AUX_NTTP_DECL(int, is_last_) > +struct sel_iter +{ + enum { pos_ = is_last_ }; + typedef aux::sel_iter_tag tag; + typedef random_access_iterator_tag category; + + typedef sel_iter next; + typedef sel_iter prior; + typedef T type; +}; + +} // namespace aux + +template<> struct advance_impl +{ + template< typename Iterator, typename N > struct apply + { + enum { pos_ = Iterator::pos_, n_ = N::value }; + typedef aux::sel_iter< + typename Iterator::type + , (pos_ + n_) + > type; + }; +}; + +template<> struct distance_impl +{ + template< typename Iter1, typename Iter2 > struct apply + { + enum { pos1_ = Iter1::pos_, pos2_ = Iter2::pos_ }; + typedef int_<( pos2_ - pos1_ )> type; + BOOST_STATIC_CONSTANT(int, value = ( pos2_ - pos1_ )); + }; +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}} + +#endif // BOOST_MPL_AUX_SINGLE_ELEMENT_ITER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/size_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/size_impl.hpp new file mode 100644 index 0000000..1c4d010 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/size_impl.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// default implementation; conrete sequences might override it by +// specializing either the 'size_impl' or the primary 'size' template + +template< typename Tag > +struct size_impl +{ + template< typename Sequence > struct apply +#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) + : distance< + typename begin::type + , typename end::type + > + { +#else + { + typedef typename distance< + typename begin::type + , typename end::type + >::type type; +#endif + }; +}; + +BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1, size_impl) + +}} + +#endif // BOOST_MPL_AUX_SIZE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sort_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sort_impl.hpp new file mode 100644 index 0000000..320b756 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/sort_impl.hpp @@ -0,0 +1,121 @@ + +#ifndef BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED +#define BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED + +// Copyright Eric Friedman 2002-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: sort_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename Seq, typename Pred > +struct quick_sort; + +// agurt, 10/nov/04: for the sake of deficeint compilers +template< typename Pred, typename Pivot > +struct quick_sort_pred +{ + template< typename T > struct apply + { + typedef typename apply2::type type; + }; +}; + +template< + typename Seq + , typename Pred + > +struct quick_sort_impl +{ + typedef typename begin::type pivot; + typedef typename partition< + iterator_range< + typename next::type + , typename end::type + > + , protect< aux::quick_sort_pred< Pred, typename deref::type > > + , back_inserter< vector<> > + , back_inserter< vector<> > + >::type partitioned; + + typedef typename quick_sort< typename partitioned::first, Pred >::type part1; + typedef typename quick_sort< typename partitioned::second, Pred >::type part2; + + typedef joint_view< + joint_view< part1, single_view< typename deref::type > > + , part2 + > type; +}; + +template< + typename Seq + , typename Pred + > +struct quick_sort + : eval_if< + empty + , identity + , quick_sort_impl + > +{ +}; + + +template < + typename Sequence + , typename Pred + , typename In + > +struct sort_impl +{ + typedef typename quick_sort< + Sequence + , typename if_na >::type + >::type result_; + + typedef typename copy::type type; +}; + +template < + typename Sequence + , typename Pred + , typename In + > +struct reverse_sort_impl +{ + typedef typename quick_sort< + Sequence + , typename if_na >::type + >::type result_; + + typedef typename reverse_copy::type type; +}; + +}}} + +#endif // BOOST_MPL_AUX_SORT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/static_cast.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/static_cast.hpp new file mode 100644 index 0000000..35e3461 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/static_cast.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED +#define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: static_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \ + || BOOST_WORKAROUND(__GNUC__, < 3) \ + || BOOST_WORKAROUND(__MWERKS__, <= 0x3001) +# define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr) +#else +# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast(expr) +#endif + +#endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity.hpp new file mode 100644 index 0000000..157fe56 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity.hpp @@ -0,0 +1,189 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED +#define BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: template_arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) +# include +# endif +# else +# include +# endif +#endif + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER template_arity.hpp +# include + +#else + +# if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# if defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) + +# include +# include +# include +# include +# include + +# include +# include +# include +# include +# include + +# define AUX778076_ARITY BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) + +namespace boost { namespace mpl { namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct arity_tag +{ + typedef char (&type)[N + 1]; +}; + +# define AUX778076_MAX_ARITY_OP(unused, state, i_) \ + ( BOOST_PP_CAT(C,i_) > 0 ? BOOST_PP_CAT(C,i_) : state ) \ +/**/ + +template< + BOOST_MPL_PP_PARAMS(AUX778076_ARITY, BOOST_MPL_AUX_NTTP_DECL(int, C)) + > +struct max_arity +{ + BOOST_STATIC_CONSTANT(int, value = + BOOST_PP_SEQ_FOLD_LEFT( + AUX778076_MAX_ARITY_OP + , -1 + , BOOST_MPL_PP_RANGE(1, AUX778076_ARITY) + ) + ); +}; + +# undef AUX778076_MAX_ARITY_OP + +arity_tag<0>::type arity_helper(...); + +# define BOOST_PP_ITERATION_LIMITS (1, AUX778076_ARITY) +# define BOOST_PP_FILENAME_1 +# include BOOST_PP_ITERATE() + +template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct template_arity_impl +{ + BOOST_STATIC_CONSTANT(int, value = + sizeof(arity_helper(type_wrapper(),arity_tag())) - 1 + ); +}; + +# define AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION(unused, i_, F) \ + BOOST_PP_COMMA_IF(i_) template_arity_impl::value \ +/**/ + +template< typename F > +struct template_arity +{ + BOOST_STATIC_CONSTANT(int, value = ( + max_arity< BOOST_MPL_PP_REPEAT( + AUX778076_ARITY + , AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION + , F + ) >::value + )); + + typedef mpl::int_ type; +}; + +# undef AUX778076_TEMPLATE_ARITY_IMPL_INVOCATION + +# undef AUX778076_ARITY + +}}} + +# endif // BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING +# else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +# include + +namespace boost { namespace mpl { namespace aux { + +template< bool > +struct template_arity_impl +{ + template< typename F > struct result_ + : mpl::int_<-1> + { + }; +}; + +template<> +struct template_arity_impl +{ + template< typename F > struct result_ + : F::arity + { + }; +}; + +template< typename F > +struct template_arity + : template_arity_impl< ::boost::mpl::aux::has_rebind::value > + ::template result_ +{ +}; + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +template<> +struct template_arity + : mpl::int_<-1> +{ +}; +#endif + +}}} + +# endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F + , BOOST_MPL_PP_PARAMS(i_, typename T) + > +typename arity_tag::type +arity_helper(type_wrapper< F >, arity_tag); + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity_fwd.hpp new file mode 100644 index 0000000..06f4ff3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/template_arity_fwd.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED +#define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: template_arity_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { namespace aux { + +template< typename F > struct template_arity; + +}}} + +#endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test.hpp new file mode 100644 index 0000000..6af245b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_AUX_TEST_HPP_INCLUDED +#define BOOST_MPL_AUX_TEST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: test.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#include + +int main() +{ + return boost::report_errors(); +} + +using namespace boost; +using namespace mpl; + +#endif // BOOST_MPL_AUX_TEST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/assert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/assert.hpp new file mode 100644 index 0000000..8117b88 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/assert.hpp @@ -0,0 +1,29 @@ + +#ifndef BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED +#define BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: assert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#define MPL_ASSERT(pred) BOOST_MPL_ASSERT(pred) +#define MPL_ASSERT_NOT(pred) BOOST_MPL_ASSERT_NOT(pred) +#define MPL_ASSERT_MSG(c, msg, types) BOOST_MPL_ASSERT_MSG(c, msg, types) +#define MPL_ASSERT_RELATION(x, rel, y) BOOST_MPL_ASSERT_RELATION(x, rel, y) + +#define MPL_ASSERT_INSTANTIATION(x) \ + enum { BOOST_PP_CAT(instantiation_test, __LINE__) = sizeof( x ) } \ +/**/ + +#endif // BOOST_MPL_AUX_TEST_ASSERT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/data.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/data.hpp new file mode 100644 index 0000000..e6be8ed --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/data.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED +#define BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: data.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +enum enum_ {}; +struct UDT {}; +struct incomplete; +class abstract { public: virtual ~abstract() = 0; }; +using boost::noncopyable; + +#endif // BOOST_MPL_AUX_TEST_DATA_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/test_case.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/test_case.hpp new file mode 100644 index 0000000..13f0342 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/test/test_case.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED +#define BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: test_case.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#define MPL_TEST_CASE() void BOOST_PP_CAT(test,__LINE__)() + +#endif // BOOST_MPL_AUX_TEST_TEST_CASE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/traits_lambda_spec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/traits_lambda_spec.hpp new file mode 100644 index 0000000..a38f8aa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/traits_lambda_spec.hpp @@ -0,0 +1,63 @@ + +#ifndef BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED +#define BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: traits_lambda_spec.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) + +# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) /**/ + +#elif !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) + +# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \ +template<> struct trait \ +{ \ + template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \ + { \ + }; \ +}; \ +/**/ + +#else + +# define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \ +template<> struct trait \ +{ \ + template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \ + { \ + }; \ +}; \ +template<> struct trait \ +{ \ + template< BOOST_MPL_PP_PARAMS(i, typename T) > struct apply \ + { \ + typedef int type; \ + }; \ +}; \ +/**/ + +#endif // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + + +#define BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(i, trait) \ + BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC_IMPL(i, trait) \ + template<> struct trait {}; \ +/**/ + +#endif // BOOST_MPL_AUX_TRAITS_LAMBDA_SPEC_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/transform_iter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/transform_iter.hpp new file mode 100644 index 0000000..9ca7106 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/transform_iter.hpp @@ -0,0 +1,123 @@ + +#ifndef BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED +#define BOOST_MPL_AUX_TRANSFORM_ITER_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: transform_iter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename Iterator + , typename LastIterator + , typename F + > +struct transform_iter +{ + typedef Iterator base; + typedef forward_iterator_tag category; + typedef transform_iter< typename mpl::next::type,LastIterator,F > next; + + typedef typename apply1< + F + , typename deref::type + >::type type; +}; + +template< + typename LastIterator + , typename F + > +struct transform_iter< LastIterator,LastIterator,F > +{ + typedef LastIterator base; + typedef forward_iterator_tag category; +}; + +#else + +template< + typename Iterator + , typename LastIterator + , typename F + > +struct transform_iter; + +template< bool > +struct transform_iter_impl +{ + template< + typename Iterator + , typename LastIterator + , typename F + > + struct result_ + { + typedef Iterator base; + typedef forward_iterator_tag category; + typedef transform_iter< typename mpl::next::type,LastIterator,F > next; + + typedef typename apply1< + F + , typename deref::type + >::type type; + }; +}; + +template<> +struct transform_iter_impl +{ + template< + typename Iterator + , typename LastIterator + , typename F + > + struct result_ + { + typedef Iterator base; + typedef forward_iterator_tag category; + }; +}; + +template< + typename Iterator + , typename LastIterator + , typename F + > +struct transform_iter + : transform_iter_impl< + ::boost::is_same::value + >::template result_< Iterator,LastIterator,F > +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(3, aux::transform_iter) + +}} + +#endif // BOOST_MPL_AUX_TRANSFORM_ITER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/type_wrapper.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/type_wrapper.hpp new file mode 100644 index 0000000..02ae1a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/type_wrapper.hpp @@ -0,0 +1,47 @@ + +#ifndef BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED +#define BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Peter Dimov 2000-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: type_wrapper.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename T > struct type_wrapper +{ + typedef T type; +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +// agurt 08/may/03: a complicated way to extract the wrapped type; need it +// mostly for the sake of GCC (3.2.x), which ICEs if you try to extract the +// nested 'type' from 'type_wrapper' when the latter was the result of a +// 'typeof' expression +template< typename T > struct wrapped_type; + +template< typename T > struct wrapped_type< type_wrapper > +{ + typedef T type; +}; +#else +template< typename W > struct wrapped_type +{ + typedef typename W::type type; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_TYPE_WRAPPER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/unwrap.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/unwrap.hpp new file mode 100644 index 0000000..db19c0f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/unwrap.hpp @@ -0,0 +1,47 @@ + +#ifndef BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED +#define BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED + +// Copyright Peter Dimov and Multi Media Ltd 2001, 2002 +// Copyright David Abrahams 2001 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: unwrap.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { namespace aux { + +template< typename F > +inline +F& unwrap(F& f, long) +{ + return f; +} + +template< typename F > +inline +F& +unwrap(reference_wrapper& f, int) +{ + return f; +} + +template< typename F > +inline +F& +unwrap(reference_wrapper const& f, int) +{ + return f; +} + +}}} + +#endif // BOOST_MPL_AUX_UNWRAP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/value_wknd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/value_wknd.hpp new file mode 100644 index 0000000..513108a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/value_wknd.hpp @@ -0,0 +1,89 @@ + +#ifndef BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED +#define BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: value_wknd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \ + || defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) + +# include + +namespace boost { namespace mpl { namespace aux { +template< typename C_ > struct value_wknd + : C_ +{ +}; + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) +template<> struct value_wknd + : int_<1> +{ + using int_<1>::value; +}; +#endif +}}} + + +#if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) +# define BOOST_MPL_AUX_VALUE_WKND(C) \ + ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::aux::value_wknd< C > \ +/**/ +# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) BOOST_MPL_AUX_VALUE_WKND(C) +#else +# define BOOST_MPL_AUX_VALUE_WKND(C) C +# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) \ + ::boost::mpl::aux::value_wknd< C > \ +/**/ +#endif + +#else // BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS + +# define BOOST_MPL_AUX_VALUE_WKND(C) C +# define BOOST_MPL_AUX_MSVC_VALUE_WKND(C) C + +#endif + +#if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) +# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ + BOOST_MPL_AUX_STATIC_CAST(T, C::value) \ +/**/ +#else +# define BOOST_MPL_AUX_NESTED_VALUE_WKND(T, C) \ + BOOST_MPL_AUX_VALUE_WKND(C)::value \ +/**/ +#endif + + +namespace boost { namespace mpl { namespace aux { + +template< typename T > struct value_type_wknd +{ + typedef typename T::value_type type; +}; + +#if defined(BOOST_MPL_CFG_MSVC_ETI_BUG) +template<> struct value_type_wknd +{ + typedef int type; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_VALUE_WKND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/yes_no.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/yes_no.hpp new file mode 100644 index 0000000..3aa1c1a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/aux_/yes_no.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED +#define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: yes_no.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + + +namespace boost { namespace mpl { namespace aux { + +typedef char (&no_tag)[1]; +typedef char (&yes_tag)[2]; + +template< bool C_ > struct yes_no_tag +{ + typedef no_tag type; +}; + +template<> struct yes_no_tag +{ + typedef yes_tag type; +}; + + +template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag +{ +#if !BOOST_WORKAROUND(BOOST_MSVC, < 1300) + typedef char (&type)[n]; +#else + char buf[n]; + typedef weighted_tag type; +#endif +}; + +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) +template<> struct weighted_tag<0> +{ + typedef char (&type)[1]; +}; +#endif + +}}} + +#endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back.hpp new file mode 100644 index 0000000..b4bba6c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_BACK_HPP_INCLUDED +#define BOOST_MPL_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct back + : back_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,back,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, back) + +}} + +#endif // BOOST_MPL_BACK_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_fwd.hpp new file mode 100644 index 0000000..f5dcbf5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_BACK_FWD_HPP_INCLUDED +#define BOOST_MPL_BACK_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct back_impl; +template< typename Sequence > struct back; + +}} + +#endif // BOOST_MPL_BACK_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_inserter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_inserter.hpp new file mode 100644 index 0000000..f4f2656 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/back_inserter.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_BACK_INSERTER_HPP_INCLUDED +#define BOOST_MPL_BACK_INSERTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: back_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { +namespace mpl { + +template< + typename Sequence + > +struct back_inserter + : inserter< Sequence,push_back<> > +{ +}; + +}} + +#endif // BOOST_MPL_BACK_INSERTER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/base.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/base.hpp new file mode 100644 index 0000000..cc3b844 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/base.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_BASE_HPP_INCLUDED +#define BOOST_MPL_BASE_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: base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct base +{ + typedef typename T::base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,base,(T)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, base) + +}} + +#endif // BOOST_MPL_BASE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin.hpp new file mode 100644 index 0000000..7387497 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_BEGIN_HPP_INCLUDED +#define BOOST_MPL_BEGIN_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_BEGIN_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end.hpp new file mode 100644 index 0000000..b28368a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_BEGIN_END_HPP_INCLUDED +#define BOOST_MPL_BEGIN_END_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// agurt, 13/sep/02: switched from inheritance to typedef; MSVC is more +// happy this way (less ETI-related errors), and it doesn't affect +// anything else +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct begin +{ + typedef typename sequence_tag::type tag_; + typedef typename begin_impl< tag_ > + ::template apply< Sequence >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,begin,(Sequence)) +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct end +{ + typedef typename sequence_tag::type tag_; + typedef typename end_impl< tag_ > + ::template apply< Sequence >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,end,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, begin) +BOOST_MPL_AUX_NA_SPEC(1, end) + +}} + +#endif // BOOST_MPL_BEGIN_END_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end_fwd.hpp new file mode 100644 index 0000000..29d0a51 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/begin_end_fwd.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED +#define BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct begin_impl; +template< typename Tag > struct end_impl; + +template< typename Sequence > struct begin; +template< typename Sequence > struct end; + +}} + +#endif // BOOST_MPL_BEGIN_END_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind.hpp new file mode 100644 index 0000000..2a045c1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind.hpp @@ -0,0 +1,551 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_BIND_HPP_INCLUDED +#define BOOST_MPL_BIND_HPP_INCLUDED + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bind.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +# include +# endif +#endif + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# if defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) +# define BOOST_MPL_PREPROCESSED_HEADER basic_bind.hpp +# else +# define BOOST_MPL_PREPROCESSED_HEADER bind.hpp +# endif +# include + +#else + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header +# define AUX778076_APPLY \ + BOOST_PP_CAT(apply_wrap,BOOST_MPL_LIMIT_METAFUNCTION_ARITY) \ + /**/ + +# if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) +# define AUX778076_DMC_PARAM() , int dummy_ +# else +# define AUX778076_DMC_PARAM() +# endif + +# define AUX778076_BIND_PARAMS(param) \ + BOOST_MPL_PP_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + ) \ + /**/ + +# define AUX778076_BIND_DEFAULT_PARAMS(param, value) \ + BOOST_MPL_PP_DEFAULT_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + , value \ + ) \ + /**/ + +# define AUX778076_BIND_N_PARAMS(n, param) \ + BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \ + /**/ + +# define AUX778076_BIND_N_SPEC_PARAMS(n, param, def) \ + BOOST_PP_COMMA_IF(n) \ + BOOST_MPL_PP_PARTIAL_SPEC_PARAMS(n, param, def) \ + /**/ + +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +# define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \ + AUX778076_BIND_DEFAULT_PARAMS(param, value) \ + /**/ +#else +# define AUX778076_BIND_NESTED_DEFAULT_PARAMS(param, value) \ + AUX778076_BIND_PARAMS(param) \ + /**/ +#endif + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename T, AUX778076_BIND_PARAMS(typename U) + > +struct resolve_bind_arg +{ + typedef T type; +}; + +# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) + +template< + typename T + , typename Arg + > +struct replace_unnamed_arg +{ + typedef Arg next; + typedef T type; +}; + +template< + typename Arg + > +struct replace_unnamed_arg< arg<-1>,Arg > +{ + typedef typename Arg::next next; + typedef Arg type; +}; + +# endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT + +template< + BOOST_MPL_AUX_NTTP_DECL(int, N), AUX778076_BIND_PARAMS(typename U) + > +struct resolve_bind_arg< arg,AUX778076_BIND_PARAMS(U) > +{ + typedef typename AUX778076_APPLY, AUX778076_BIND_PARAMS(U)>::type type; +}; + +#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) +template< + typename F, AUX778076_BIND_PARAMS(typename T), AUX778076_BIND_PARAMS(typename U) + > +struct resolve_bind_arg< bind,AUX778076_BIND_PARAMS(U) > +{ + typedef bind f_; + typedef typename AUX778076_APPLY::type type; +}; +#endif + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +// agurt, 15/jan/02: it's not a intended to be used as a function class, and +// MSVC6.5 has problems with 'apply' name here (the code compiles, but doesn't +// work), so I went with the 'result_' here, and in all other similar cases +template< bool > +struct resolve_arg_impl +{ + template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_ + { + typedef T type; + }; +}; + +template<> +struct resolve_arg_impl +{ + template< typename T, AUX778076_BIND_PARAMS(typename U) > struct result_ + { + typedef typename AUX778076_APPLY< + T + , AUX778076_BIND_PARAMS(U) + >::type type; + }; +}; + +// for 'resolve_bind_arg' +template< typename T > struct is_bind_template; + +template< + typename T, AUX778076_BIND_PARAMS(typename U) + > +struct resolve_bind_arg + : resolve_arg_impl< is_bind_template::value > + ::template result_< T,AUX778076_BIND_PARAMS(U) > +{ +}; + +# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) + +template< typename T > +struct replace_unnamed_arg_impl +{ + template< typename Arg > struct result_ + { + typedef Arg next; + typedef T type; + }; +}; + +template<> +struct replace_unnamed_arg_impl< arg<-1> > +{ + template< typename Arg > struct result_ + { + typedef typename next::type next; + typedef Arg type; + }; +}; + +template< typename T, typename Arg > +struct replace_unnamed_arg + : replace_unnamed_arg_impl::template result_ +{ +}; + +# endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT + +// agurt, 10/mar/02: the forward declaration has to appear before any of +// 'is_bind_helper' overloads, otherwise MSVC6.5 issues an ICE on it +template< BOOST_MPL_AUX_NTTP_DECL(int, arity_) > struct bind_chooser; + +aux::no_tag is_bind_helper(...); +template< typename T > aux::no_tag is_bind_helper(protect*); + +// overload for "main" form +// agurt, 15/mar/02: MSVC 6.5 fails to properly resolve the overload +// in case if we use 'aux::type_wrapper< bind<...> >' here, and all +// 'bind' instantiations form a complete type anyway +#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) +template< + typename F, AUX778076_BIND_PARAMS(typename T) + > +aux::yes_tag is_bind_helper(bind*); +#endif + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > +aux::yes_tag is_bind_helper(arg*); + +template< bool is_ref_ = true > +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = false); + }; +}; + +template<> +struct is_bind_template_impl +{ + template< typename T > struct result_ + { + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_bind_helper(static_cast(0))) + == sizeof(aux::yes_tag) + ); + }; +}; + +template< typename T > struct is_bind_template + : is_bind_template_impl< ::boost::detail::is_reference_impl::value > + ::template result_ +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) +/// if_/eval_if specializations +# define AUX778076_SPEC_NAME if_ +# define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, )) +# include BOOST_PP_ITERATE() + +#if !defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) +# define AUX778076_SPEC_NAME eval_if +# define BOOST_PP_ITERATION_PARAMS_1 (3,(3, 3, )) +# include BOOST_PP_ITERATE() +#endif +#endif + +// real C++ version is already taken care of +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) + +namespace aux { +// apply_count_args +#define AUX778076_COUNT_ARGS_PREFIX bind +#define AUX778076_COUNT_ARGS_DEFAULT na +#define AUX778076_COUNT_ARGS_ARITY BOOST_MPL_LIMIT_METAFUNCTION_ARITY +#include +} + +// bind +template< + typename F, AUX778076_BIND_PARAMS(typename T) AUX778076_DMC_PARAM() + > +struct bind + : aux::bind_chooser< + aux::bind_count_args::value + >::template result_< F,AUX778076_BIND_PARAMS(T) >::type +{ +}; + +BOOST_MPL_AUX_ARITY_SPEC( + BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) + , bind + ) + +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC( + BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) + , bind + ) + + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +# undef AUX778076_BIND_NESTED_DEFAULT_PARAMS +# undef AUX778076_BIND_N_SPEC_PARAMS +# undef AUX778076_BIND_N_PARAMS +# undef AUX778076_BIND_DEFAULT_PARAMS +# undef AUX778076_BIND_PARAMS +# undef AUX778076_DMC_PARAM +# undef AUX778076_APPLY + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_BIND_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 + +# define i_ BOOST_PP_FRAME_ITERATION(1) + +#if defined(AUX778076_SPEC_NAME) + +// lazy metafunction specialization +template< template< BOOST_MPL_PP_PARAMS(i_, typename T) > class F, typename Tag > +struct BOOST_PP_CAT(quote,i_); + +template< BOOST_MPL_PP_PARAMS(i_, typename T) > struct AUX778076_SPEC_NAME; + +template< + typename Tag AUX778076_BIND_N_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(bind,i_)< + BOOST_PP_CAT(quote,i_) + AUX778076_BIND_N_PARAMS(i_,T) + > +{ + template< + AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na) + > + struct apply + { + private: + typedef mpl::arg<1> n1; +# define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, )) +# include BOOST_PP_ITERATE() + + typedef typename AUX778076_SPEC_NAME< + typename t1::type + , BOOST_MPL_PP_EXT_PARAMS(2, BOOST_PP_INC(i_), t) + >::type f_; + + public: + typedef typename f_::type type; + }; +}; + +#undef AUX778076_SPEC_NAME + +#else // AUX778076_SPEC_NAME + +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM() + > +struct BOOST_PP_CAT(bind,i_) +{ + template< + AUX778076_BIND_NESTED_DEFAULT_PARAMS(typename U, na) + > + struct apply + { + private: +# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) + + typedef aux::replace_unnamed_arg< F,mpl::arg<1> > r0; + typedef typename r0::type a0; + typedef typename r0::next n1; + typedef typename aux::resolve_bind_arg::type f_; + /// +# else + typedef typename aux::resolve_bind_arg::type f_; + +# endif // BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT + +# if i_ > 0 +# define BOOST_PP_ITERATION_PARAMS_2 (3,(1, i_, )) +# include BOOST_PP_ITERATE() +# endif + + public: + +# define AUX778076_ARG(unused, i_, t) \ + BOOST_PP_COMMA_IF(i_) \ + typename BOOST_PP_CAT(t,BOOST_PP_INC(i_))::type \ +/**/ + + typedef typename BOOST_PP_CAT(apply_wrap,i_)< + f_ + BOOST_PP_COMMA_IF(i_) BOOST_MPL_PP_REPEAT(i_, AUX778076_ARG, t) + >::type type; + +# undef AUX778076_ARG + }; +}; + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T), AUX778076_BIND_PARAMS(typename U) + > +struct resolve_bind_arg< + BOOST_PP_CAT(bind,i_),AUX778076_BIND_PARAMS(U) + > +{ + typedef BOOST_PP_CAT(bind,i_) f_; + typedef typename AUX778076_APPLY::type type; +}; + +#else + +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T) + > +aux::yes_tag +is_bind_helper(BOOST_PP_CAT(bind,i_)*); + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +} // namespace aux + +BOOST_MPL_AUX_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_)) +BOOST_MPL_AUX_TEMPLATE_ARITY_SPEC(BOOST_PP_INC(i_), BOOST_PP_CAT(bind,i_)) + +# if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +#if i_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY +/// primary template (not a specialization!) +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM() + > +struct bind + : BOOST_PP_CAT(bind,i_) +{ +}; +#else +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T) AUX778076_DMC_PARAM() + > +struct bind< F AUX778076_BIND_N_SPEC_PARAMS(i_, T, na) > + : BOOST_PP_CAT(bind,i_) +{ +}; +#endif + +# else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +namespace aux { + +template<> +struct bind_chooser +{ + template< + typename F, AUX778076_BIND_PARAMS(typename T) + > + struct result_ + { + typedef BOOST_PP_CAT(bind,i_)< F AUX778076_BIND_N_PARAMS(i_,T) > type; + }; +}; + +} // namespace aux + +# endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +# endif // BOOST_MPL_CFG_NO_BIND_TEMPLATE + +#endif // AUX778076_SPEC_NAME + +# undef i_ + +///// iteration, depth == 2 + +#elif BOOST_PP_ITERATION_DEPTH() == 2 + +# define j_ BOOST_PP_FRAME_ITERATION(2) +# if !defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) + + typedef aux::replace_unnamed_arg< BOOST_PP_CAT(T,j_),BOOST_PP_CAT(n,j_) > BOOST_PP_CAT(r,j_); + typedef typename BOOST_PP_CAT(r,j_)::type BOOST_PP_CAT(a,j_); + typedef typename BOOST_PP_CAT(r,j_)::next BOOST_PP_CAT(n,BOOST_PP_INC(j_)); + typedef aux::resolve_bind_arg BOOST_PP_CAT(t,j_); + /// +# else + typedef aux::resolve_bind_arg< BOOST_PP_CAT(T,j_),AUX778076_BIND_PARAMS(U)> BOOST_PP_CAT(t,j_); + +# endif +# undef j_ + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind_fwd.hpp new file mode 100644 index 0000000..1619916 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bind_fwd.hpp @@ -0,0 +1,99 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_BIND_FWD_HPP_INCLUDED +#define BOOST_MPL_BIND_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bind_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +#endif + +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER bind_fwd.hpp +# include + +#else + +# include +# include +# include +# include + +# include +# include +# include + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header + +# if defined(BOOST_MPL_CFG_DMC_AMBIGUOUS_CTPS) +# define AUX778076_DMC_PARAM() , int dummy_ = 0 +# else +# define AUX778076_DMC_PARAM() +# endif + +# define AUX778076_BIND_DEFAULT_PARAMS(param, value) \ + BOOST_MPL_PP_DEFAULT_PARAMS( \ + BOOST_MPL_LIMIT_METAFUNCTION_ARITY \ + , param \ + , value \ + ) \ + AUX778076_DMC_PARAM() \ + /**/ + +# define AUX778076_BIND_N_PARAMS(n, param) \ + BOOST_PP_COMMA_IF(n) BOOST_MPL_PP_PARAMS(n, param) \ + AUX778076_DMC_PARAM() \ + /**/ + +#if !defined(BOOST_MPL_CFG_NO_BIND_TEMPLATE) +template< + typename F, AUX778076_BIND_DEFAULT_PARAMS(typename T, na) + > +struct bind; +#endif + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +# undef AUX778076_BIND_N_PARAMS +# undef AUX778076_BIND_DEFAULT_PARAMS +# undef AUX778076_DMC_PARAM +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_BIND_FWD_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + typename F AUX778076_BIND_N_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(bind,i_); + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitand.hpp new file mode 100644 index 0000000..561f633 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitand.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_BITAND_HPP_INCLUDED +#define BOOST_MPL_BITAND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bitand.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME bitand_ +#define AUX778076_OP_PREFIX bitand +#define AUX778076_OP_TOKEN & +#include + +#endif // BOOST_MPL_BITAND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitor.hpp new file mode 100644 index 0000000..6070981 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitor.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_BITOR_HPP_INCLUDED +#define BOOST_MPL_BITOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bitor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME bitor_ +#define AUX778076_OP_PREFIX bitor +#define AUX778076_OP_TOKEN | +#include + +#endif // BOOST_MPL_BITOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitwise.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitwise.hpp new file mode 100644 index 0000000..a538da3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitwise.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_BITWISE_HPP_INCLUDED +#define BOOST_MPL_BITWISE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bitwise.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +#endif // BOOST_MPL_BITWISE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitxor.hpp new file mode 100644 index 0000000..d603659 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bitxor.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_BITXOR_HPP_INCLUDED +#define BOOST_MPL_BITXOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bitxor.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME bitxor_ +#define AUX778076_OP_PREFIX bitxor +#define AUX778076_OP_TOKEN ^ +#include + +#endif // BOOST_MPL_BITXOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool.hpp new file mode 100644 index 0000000..9c4dbb2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_BOOL_HPP_INCLUDED +#define BOOST_MPL_BOOL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bool.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< bool C_ > struct bool_ +{ + BOOST_STATIC_CONSTANT(bool, value = C_); + typedef integral_c_tag tag; + typedef bool_ type; + typedef bool value_type; + operator bool() const { return this->value; } +}; + +#if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) +template< bool C_ > +bool const bool_::value; +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +#endif // BOOST_MPL_BOOL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool_fwd.hpp new file mode 100644 index 0000000..a3787b8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/bool_fwd.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED +#define BOOST_MPL_BOOL_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: bool_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< bool C_ > struct bool_; + +// shorcuts +typedef bool_ true_; +typedef bool_ false_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_) +BOOST_MPL_AUX_ADL_BARRIER_DECL(true_) +BOOST_MPL_AUX_ADL_BARRIER_DECL(false_) + +#endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char.hpp new file mode 100644 index 0000000..366ec05 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char.hpp @@ -0,0 +1,22 @@ + +#ifndef BOOST_MPL_CHAR_HPP_INCLUDED +#define BOOST_MPL_CHAR_HPP_INCLUDED + +// Copyright Eric Niebler 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. + +// $Source$ +// $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $ +// $Revision: 24874 $ + +#include + +#define AUX_WRAPPER_VALUE_TYPE char +#include + +#endif // BOOST_MPL_CHAR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char_fwd.hpp new file mode 100644 index 0000000..65d741c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/char_fwd.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_CHAR_FWD_HPP_INCLUDED +#define BOOST_MPL_CHAR_FWD_HPP_INCLUDED + +// Copyright Eric Niebler 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. + +// $Source$ +// $Date: 2008-06-14 08:41:37 -0700 (Sat, 16 Jun 2008) $ +// $Revision: 24874 $ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< BOOST_MPL_AUX_NTTP_DECL(char, N) > struct char_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(char_) + +#endif // BOOST_MPL_CHAR_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear.hpp new file mode 100644 index 0000000..74ffa3e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_CLEAR_HPP_INCLUDED +#define BOOST_MPL_CLEAR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct clear + : clear_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,clear,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, clear) + +}} + +#endif // BOOST_MPL_CLEAR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear_fwd.hpp new file mode 100644 index 0000000..656d77b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/clear_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_CLEAR_FWD_HPP_INCLUDED +#define BOOST_MPL_CLEAR_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct clear_impl; +template< typename Sequence > struct clear; + +}} + +#endif // BOOST_MPL_CLEAR_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/comparison.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/comparison.hpp new file mode 100644 index 0000000..26cc415 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/comparison.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_COMPARISON_HPP_INCLUDED +#define BOOST_MPL_COMPARISON_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: comparison.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +#endif // BOOST_MPL_COMPARISON_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains.hpp new file mode 100644 index 0000000..c3aa0f7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_CONTAINS_HPP_INCLUDED +#define BOOST_MPL_CONTAINS_HPP_INCLUDED + +// Copyright Eric Friedman 2002 +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: contains.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains_fwd.hpp new file mode 100644 index 0000000..d6f5bf8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/contains_fwd.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED +#define BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED + +// Copyright Eric Friedman 2002 +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: contains_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct contains_impl; +template< typename Sequence, typename T > struct contains; + +}} + +#endif // BOOST_MPL_CONTAINS_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy.hpp new file mode 100644 index 0000000..8fdbd61 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_COPY_HPP_INCLUDED +#define BOOST_MPL_COPY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: copy.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Sequence + , typename Inserter + > +struct copy_impl + : fold< + Sequence + , typename Inserter::state + , typename Inserter::operation + > +{ +}; + +template< + typename Sequence + , typename Inserter + > +struct reverse_copy_impl + : reverse_fold< + Sequence + , typename Inserter::state + , typename Inserter::operation + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(2, copy) + +}} + +#endif // BOOST_MPL_COPY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy_if.hpp new file mode 100644 index 0000000..ffe0110 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/copy_if.hpp @@ -0,0 +1,96 @@ + +#ifndef BOOST_MPL_COPY_IF_HPP_INCLUDED +#define BOOST_MPL_COPY_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: copy_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Operation + , typename Predicate + > +struct copy_if_op +{ + template< typename Sequence, typename T > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : eval_if< + typename apply1::type + , apply2 + , identity + > + { +#else + { + typedef typename eval_if< + typename apply1::type + , apply2 + , identity + >::type type; +#endif + }; +}; + +template< + typename Sequence + , typename Predicate + , typename Inserter + > +struct copy_if_impl + : fold< + Sequence + , typename Inserter::state + , protect< aux::copy_if_op< + typename Inserter::operation + , Predicate + > > + > +{ +}; + +template< + typename Sequence + , typename Predicate + , typename Inserter + > +struct reverse_copy_if_impl + : reverse_fold< + Sequence + , typename Inserter::state + , protect< aux::copy_if_op< + typename Inserter::operation + , Predicate + > > + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, copy_if) + +}} + +#endif // BOOST_MPL_COPY_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count.hpp new file mode 100644 index 0000000..19b71eb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_COUNT_HPP_INCLUDED +#define BOOST_MPL_COUNT_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: count.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 count + : count_impl< typename sequence_tag::type > + ::template apply +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count,(Sequence,T)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, count) + +}} + +#endif // BOOST_MPL_COUNT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_fwd.hpp new file mode 100644 index 0000000..8e5db04 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_COUNT_FWD_HPP_INCLUDED +#define BOOST_MPL_COUNT_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: count_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct count_impl; +template< typename Sequence, typename T > struct count; + +}} + +#endif // BOOST_MPL_COUNT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_if.hpp new file mode 100644 index 0000000..c3058e4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/count_if.hpp @@ -0,0 +1,79 @@ + +#ifndef BOOST_MPL_COUNT_IF_HPP_INCLUDED +#define BOOST_MPL_COUNT_IF_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: count_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< typename Predicate > +struct next_if +{ + template< + typename N + , typename T + > + struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : eval_if< + typename apply1::type + , next + , identity + > + { +#else + { + typedef typename eval_if< + typename apply1::type + , next + , identity + >::type type; +#endif + }; +}; + +} // namespace aux + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Predicate) + > +struct count_if + : aux::msvc_eti_base< typename fold< + Sequence + , integral_c + , protect< aux::next_if > + >::type > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,count_if,(Sequence,Predicate)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, count_if) + +}} + +#endif // BOOST_MPL_COUNT_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deque.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deque.hpp new file mode 100644 index 0000000..8b58d57 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deque.hpp @@ -0,0 +1,58 @@ + +#ifndef BOOST_MPL_DEQUE_HPP_INCLUDED +#define BOOST_MPL_DEQUE_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: deque.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include + +# include +# include +# include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_DEQUE_HEADER \ + BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE).hpp \ + /**/ +#else +# define AUX778076_DEQUE_HEADER \ + BOOST_PP_CAT(vector, BOOST_MPL_LIMIT_VECTOR_SIZE)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_DEQUE_HEADER) +# undef AUX778076_DEQUE_HEADER +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER deque.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME deque +# define AUX778076_SEQUENCE_BASE_NAME vector +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_DEQUE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deref.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deref.hpp new file mode 100644 index 0000000..3f4473e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/deref.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_DEREF_HPP_INCLUDED +#define BOOST_MPL_DEREF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: deref.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Iterator) + > +struct deref +{ +#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) + typedef typename Iterator::type type; +#else + typedef typename aux::msvc_type::type type; +#endif + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,deref,(Iterator)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, deref) + +}} + +#endif // BOOST_MPL_DEREF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance.hpp new file mode 100644 index 0000000..a943549 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance.hpp @@ -0,0 +1,78 @@ + +#ifndef BOOST_MPL_DISTANCE_HPP_INCLUDED +#define BOOST_MPL_DISTANCE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: distance.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace boost { namespace mpl { + +// default implementation for forward/bidirectional iterators +template< typename Tag > struct distance_impl +{ + template< typename First, typename Last > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : aux::msvc_eti_base< typename iter_fold< + iterator_range + , mpl::long_<0> + , next<> + >::type > + { +#else + { + typedef typename iter_fold< + iterator_range + , mpl::long_<0> + , next<> + >::type type; + + BOOST_STATIC_CONSTANT(long, value = + (iter_fold< + iterator_range + , mpl::long_<0> + , next<> + >::type::value) + ); +#endif + }; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(First) + , typename BOOST_MPL_AUX_NA_PARAM(Last) + > +struct distance + : distance_impl< typename tag::type > + ::template apply +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, distance, (First, Last)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, distance) + +}} + +#endif // BOOST_MPL_DISTANCE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance_fwd.hpp new file mode 100644 index 0000000..7c946cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/distance_fwd.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED +#define BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: distance_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_COMMON_NAME_WKND(distance) + +template< typename Tag > struct distance_impl; +template< typename First, typename Last > struct distance; + +}} + +#endif // BOOST_MPL_DISTANCE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/divides.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/divides.hpp new file mode 100644 index 0000000..d58db4b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/divides.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_DIVIDES_HPP_INCLUDED +#define BOOST_MPL_DIVIDES_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: divides.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME divides +#define AUX778076_OP_TOKEN / +#include + +#endif // BOOST_MPL_DIVIDES_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty.hpp new file mode 100644 index 0000000..eca39ae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_EMPTY_HPP_INCLUDED +#define BOOST_MPL_EMPTY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct empty + : empty_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,empty,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, empty) + +}} + +#endif // BOOST_MPL_EMPTY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_base.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_base.hpp new file mode 100644 index 0000000..500e438 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_base.hpp @@ -0,0 +1,59 @@ + +#ifndef BOOST_MPL_EMPTY_BASE_HPP_INCLUDED +#define BOOST_MPL_EMPTY_BASE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty_base.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#include + +// should be always the last #include directive +#include + +namespace boost { namespace mpl { + +// empty base class, guaranteed to have no members; inheritance from +// 'empty_base' through the 'inherit' metafunction is a no-op - see +// "mpl/inherit.hpp> header for the details +struct empty_base {}; + +template< typename T > +struct is_empty_base + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +template<> +struct is_empty_base + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +}} + +namespace boost { +BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_empty, mpl::empty_base, true) +} + +#include + +#endif // BOOST_MPL_EMPTY_BASE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_fwd.hpp new file mode 100644 index 0000000..27c659b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_EMPTY_FWD_HPP_INCLUDED +#define BOOST_MPL_EMPTY_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct empty_impl; +template< typename Sequence > struct empty; + +}} + +#endif // BOOST_MPL_EMPTY_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_sequence.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_sequence.hpp new file mode 100644 index 0000000..20c1aa0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/empty_sequence.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED +#define BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// Copyright Alexander Nasonov 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +struct empty_sequence +{ + struct tag; + struct begin { typedef random_access_iterator_tag category; }; + typedef begin end; +}; + +template<> +struct size_impl +{ + template< typename Sequence > struct apply + : int_<0> + { + }; +}; + +}} + +#endif // #ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/end.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/end.hpp new file mode 100644 index 0000000..aebcca5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/end.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_END_HPP_INCLUDED +#define BOOST_MPL_END_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_END_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal.hpp new file mode 100644 index 0000000..45a21f4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal.hpp @@ -0,0 +1,112 @@ + +#ifndef BOOST_MPL_EQUAL_HPP_INCLUDED +#define BOOST_MPL_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: equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Predicate + , typename LastIterator1 + , typename LastIterator2 + > +struct equal_pred +{ + template< + typename Iterator2 + , typename Iterator1 + > + struct apply + { + typedef typename and_< + not_< is_same > + , not_< is_same > + , aux::iter_apply2 + >::type type; + }; +}; + +template< + typename Sequence1 + , typename Sequence2 + , typename Predicate + > +struct equal_impl +{ + typedef typename begin::type first1_; + typedef typename begin::type first2_; + typedef typename end::type last1_; + typedef typename end::type last2_; + + typedef aux::iter_fold_if_impl< + first1_ + , first2_ + , next<> + , protect< aux::equal_pred > + , void_ + , always + > fold_; + + typedef typename fold_::iterator iter1_; + typedef typename fold_::state iter2_; + typedef and_< + is_same + , is_same + > result_; + + typedef typename result_::type type; +}; + + +} // namespace aux + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence1) + , typename BOOST_MPL_AUX_NA_PARAM(Sequence2) + , typename Predicate = is_same<_,_> + > +struct equal + : aux::msvc_eti_base< + typename aux::equal_impl::type + >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,equal,(Sequence1,Sequence2)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, equal) + +}} + +#endif // BOOST_MPL_EQUAL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal_to.hpp new file mode 100644 index 0000000..a3973f5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/equal_to.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_EQUAL_TO_HPP_INCLUDED +#define BOOST_MPL_EQUAL_TO_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME equal_to +#define AUX778076_OP_TOKEN == +#include + +#endif // BOOST_MPL_EQUAL_TO_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase.hpp new file mode 100644 index 0000000..08e395a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_ERASE_HPP_INCLUDED +#define BOOST_MPL_ERASE_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: erase.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(First) + , typename BOOST_MPL_AUX_NA_PARAM(Last) + > +struct erase + : erase_impl< typename sequence_tag::type > + ::template apply< Sequence,First,Last > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,erase,(Sequence,First,Last)) +}; + +BOOST_MPL_AUX_NA_SPEC(3,erase) + +}} + +#endif // BOOST_MPL_ERASE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_fwd.hpp new file mode 100644 index 0000000..860eef4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_ERASE_FWD_HPP_INCLUDED +#define BOOST_MPL_ERASE_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: erase_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct erase_impl; +template< typename Sequence, typename First, typename Last > struct erase; + +}} + +#endif // BOOST_MPL_ERASE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key.hpp new file mode 100644 index 0000000..05e8391 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_ERASE_KEY_HPP_INCLUDED +#define BOOST_MPL_ERASE_KEY_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: erase_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Key) + > +struct erase_key + : erase_key_impl< typename sequence_tag::type > + ::template apply< Sequence,Key > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,erase_key,(Sequence,Key)) +}; + +BOOST_MPL_AUX_NA_SPEC(2,erase_key) + +}} + +#endif // BOOST_MPL_ERASE_KEY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key_fwd.hpp new file mode 100644 index 0000000..98d716f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/erase_key_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED +#define BOOST_MPL_ERASE_KEY_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: erase_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct erase_key_impl; +template< typename Sequence, typename Key > struct erase_key; + +}} + +#endif // BOOST_MPL_ERASE_KEY_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/eval_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/eval_if.hpp new file mode 100644 index 0000000..f5f8a55 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/eval_if.hpp @@ -0,0 +1,71 @@ + +#ifndef BOOST_MPL_EVAL_IF_HPP_INCLUDED +#define BOOST_MPL_EVAL_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: eval_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(C) + , typename BOOST_MPL_AUX_NA_PARAM(F1) + , typename BOOST_MPL_AUX_NA_PARAM(F2) + > +struct eval_if +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ + && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ + ) +{ + typedef typename if_::type f_; + typedef typename f_::type type; +#else + : if_::type +{ +#endif + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,eval_if,(C,F1,F2)) +}; + +// (almost) copy & paste in order to save one more +// recursively nested template instantiation to user +template< + bool C + , typename F1 + , typename F2 + > +struct eval_if_c +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \ + || ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, >= 0x0300) \ + && BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304)) \ + ) +{ + typedef typename if_c::type f_; + typedef typename f_::type type; +#else + : if_c::type +{ +#endif +}; + +BOOST_MPL_AUX_NA_SPEC(3, eval_if) + +}} + +#endif // BOOST_MPL_EVAL_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/filter_view.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/filter_view.hpp new file mode 100644 index 0000000..6391e80 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/filter_view.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_FILTER_VIEW_HPP_INCLUDED +#define BOOST_MPL_FILTER_VIEW_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: filter_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Predicate) + > +struct filter_view +{ + private: + typedef typename lambda::type pred_; + typedef typename begin::type first_; + typedef typename end::type last_; + + public: + struct tag; + typedef filter_view type; + typedef typename aux::next_filter_iter< first_,last_,pred_ >::type begin; + typedef aux::filter_iter< last_,last_,pred_ > end; +}; + +BOOST_MPL_AUX_NA_SPEC(2, filter_view) + +}} + +#endif // BOOST_MPL_FILTER_VIEW_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find.hpp new file mode 100644 index 0000000..482cc05 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_FIND_HPP_INCLUDED +#define BOOST_MPL_FIND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: find.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find_if.hpp new file mode 100644 index 0000000..80953ba --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/find_if.hpp @@ -0,0 +1,50 @@ + +#ifndef BOOST_MPL_FIND_IF_HPP_INCLUDED +#define BOOST_MPL_FIND_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: find_if.hpp 49274 2008-10-11 07:22:05Z agurtovoy $ +// $Date: 2008-10-11 03:22:05 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49274 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_COMMON_NAME_WKND(find_if) + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Predicate) + > +struct find_if +{ + typedef typename iter_fold_if< + Sequence + , void + , mpl::arg<1> // ignore + , protect< aux::find_if_pred > + >::type result_; + + typedef typename second::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,find_if,(Sequence,Predicate)) +}; + +BOOST_MPL_AUX_NA_SPEC(2,find_if) + +}} + +#endif // BOOST_MPL_FIND_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/fold.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/fold.hpp new file mode 100644 index 0000000..50b44b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/fold.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_MPL_FOLD_HPP_INCLUDED +#define BOOST_MPL_FOLD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp) + > +struct fold +{ + typedef typename aux::fold_impl< + ::boost::mpl::O1_size::value + , typename begin::type + , typename end::type + , State + , ForwardOp + >::state type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,fold,(Sequence,State,ForwardOp)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, fold) + +}} + +#endif // BOOST_MPL_FOLD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/for_each.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/for_each.hpp new file mode 100644 index 0000000..da93a5d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/for_each.hpp @@ -0,0 +1,116 @@ + +#ifndef BOOST_MPL_FOR_EACH_HPP_INCLUDED +#define BOOST_MPL_FOR_EACH_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: for_each.hpp 55648 2009-08-18 05:16:53Z agurtovoy $ +// $Date: 2009-08-18 01:16:53 -0400 (Tue, 18 Aug 2009) $ +// $Revision: 55648 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< bool done = true > +struct for_each_impl +{ + template< + typename Iterator + , typename LastIterator + , typename TransformFunc + , typename F + > + static void execute( + Iterator* + , LastIterator* + , TransformFunc* + , F + ) + { + } +}; + +template<> +struct for_each_impl +{ + template< + typename Iterator + , typename LastIterator + , typename TransformFunc + , typename F + > + static void execute( + Iterator* + , LastIterator* + , TransformFunc* + , F f + ) + { + typedef typename deref::type item; + typedef typename apply1::type arg; + + // dwa 2002/9/10 -- make sure not to invoke undefined behavior + // when we pass arg. + value_initialized x; + aux::unwrap(f, 0)(boost::get(x)); + + typedef typename mpl::next::type iter; + for_each_impl::value> + ::execute( static_cast(0), static_cast(0), static_cast(0), f); + } +}; + +} // namespace aux + +// agurt, 17/mar/02: pointer default parameters are necessary to workaround +// MSVC 6.5 function template signature's mangling bug +template< + typename Sequence + , typename TransformOp + , typename F + > +inline +void for_each(F f, Sequence* = 0, TransformOp* = 0) +{ + BOOST_MPL_ASSERT(( is_sequence )); + + typedef typename begin::type first; + typedef typename end::type last; + + aux::for_each_impl< boost::is_same::value > + ::execute(static_cast(0), static_cast(0), static_cast(0), f); +} + +template< + typename Sequence + , typename F + > +inline +void for_each(F f, Sequence* = 0) +{ + for_each >(f); +} + +}} + +#endif // BOOST_MPL_FOR_EACH_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front.hpp new file mode 100644 index 0000000..8fb2ff0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_FRONT_HPP_INCLUDED +#define BOOST_MPL_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct front + : front_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,front,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, front) + +}} + +#endif // BOOST_MPL_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_fwd.hpp new file mode 100644 index 0000000..defb53d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_FRONT_FWD_HPP_INCLUDED +#define BOOST_MPL_FRONT_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct front_impl; +template< typename Sequence > struct front; + +}} + +#endif // BOOST_MPL_FRONT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_inserter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_inserter.hpp new file mode 100644 index 0000000..0e6db97 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/front_inserter.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED +#define BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: front_inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< + typename Sequence + > +struct front_inserter + : inserter< Sequence,push_front<> > +{ +}; + +}} + +#endif // BOOST_MPL_FRONT_INSERTER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater.hpp new file mode 100644 index 0000000..8e8c662 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_GREATER_HPP_INCLUDED +#define BOOST_MPL_GREATER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: greater.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME greater +#define AUX778076_OP_TOKEN > +#include + +#endif // BOOST_MPL_GREATER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater_equal.hpp new file mode 100644 index 0000000..c9eb444 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/greater_equal.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED +#define BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: greater_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME greater_equal +#define AUX778076_OP_TOKEN >= +#include + +#endif // BOOST_MPL_GREATER_EQUAL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key.hpp new file mode 100644 index 0000000..701eee5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_HAS_KEY_HPP_INCLUDED +#define BOOST_MPL_HAS_KEY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_key.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) + , typename BOOST_MPL_AUX_NA_PARAM(Key) + > +struct has_key + : has_key_impl< typename sequence_tag::type > + ::template apply +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,has_key,(AssociativeSequence,Key)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, has_key) + +}} + +#endif // BOOST_MPL_HAS_KEY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key_fwd.hpp new file mode 100644 index 0000000..638044c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_key_fwd.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED +#define BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_key_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct has_key_impl; +template< typename AssociativeSequence, typename Key > struct has_key; + +}} + +#endif // BOOST_MPL_HAS_KEY_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_xxx.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_xxx.hpp new file mode 100644 index 0000000..79f2ebf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/has_xxx.hpp @@ -0,0 +1,274 @@ + +#ifndef BOOST_MPL_HAS_XXX_HPP_INCLUDED +#define BOOST_MPL_HAS_XXX_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2006 +// Copyright David Abrahams 2002-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_xxx.hpp 49273 2008-10-11 06:54:06Z agurtovoy $ +// $Date: 2008-10-11 02:54:06 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49273 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#if BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) ) +# include +#endif + +#if !defined(BOOST_MPL_CFG_NO_HAS_XXX) + +# if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +// agurt, 11/sep/02: MSVC-specific version (< 7.1), based on a USENET +// newsgroup's posting by John Madsen (comp.lang.c++.moderated, +// 1999-11-12 19:17:06 GMT); the code is _not_ standard-conforming, but +// it works way more reliably than the SFINAE-based implementation + +// Modified dwa 8/Oct/02 to handle reference types. + +# include +# include + +namespace boost { namespace mpl { namespace aux { + +struct has_xxx_tag; + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) +template< typename U > struct msvc_incomplete_array +{ + typedef char (&type)[sizeof(U) + 1]; +}; +#endif + +template< typename T > +struct msvc_is_incomplete +{ + // MSVC is capable of some kinds of SFINAE. If U is an incomplete + // type, it won't pick the second overload + static char tester(...); + +#if BOOST_WORKAROUND(BOOST_MSVC, == 1300) + template< typename U > + static typename msvc_incomplete_array::type tester(type_wrapper); +#else + template< typename U > + static char (& tester(type_wrapper) )[sizeof(U)+1]; +#endif + + BOOST_STATIC_CONSTANT(bool, value = + sizeof(tester(type_wrapper())) == 1 + ); +}; + +template<> +struct msvc_is_incomplete +{ + BOOST_STATIC_CONSTANT(bool, value = false); +}; + +}}} + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, default_) \ +template< typename T, typename name = ::boost::mpl::aux::has_xxx_tag > \ +struct BOOST_PP_CAT(trait,_impl) : T \ +{ \ + static boost::mpl::aux::no_tag \ + test(void(*)(::boost::mpl::aux::has_xxx_tag)); \ + \ + static boost::mpl::aux::yes_tag test(...); \ + \ + BOOST_STATIC_CONSTANT(bool, value = \ + sizeof(test(static_cast(0))) \ + != sizeof(boost::mpl::aux::no_tag) \ + ); \ + typedef boost::mpl::bool_ type; \ +}; \ +\ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ + : boost::mpl::if_c< \ + boost::mpl::aux::msvc_is_incomplete::value \ + , boost::mpl::bool_ \ + , BOOST_PP_CAT(trait,_impl) \ + >::type \ +{ \ +}; \ +\ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, void) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, bool) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, char) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed char) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned char) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed short) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned short) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed int) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned int) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, signed long) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, unsigned long) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, float) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, double) \ +BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, long double) \ +/**/ + +# define BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, T) \ +template<> struct trait \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = false); \ + typedef boost::mpl::bool_ type; \ +}; \ +/**/ + +#if !defined(BOOST_NO_INTRINSIC_WCHAR_T) +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ + BOOST_MPL_AUX_HAS_XXX_TRAIT_SPEC(trait, wchar_t) \ +/**/ +#else +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, unused) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF_(trait, name, unused) \ +/**/ +#endif + + +// SFINAE-based implementations below are derived from a USENET newsgroup's +// posting by Rani Sharoni (comp.lang.c++.moderated, 2002-03-17 07:45:09 PST) + +# elif BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__IBMCPP__, <= 700) + +// MSVC 7.1+ & VACPP + +// agurt, 15/jun/05: replace overload-based SFINAE implementation with SFINAE +// applied to partial specialization to fix some apparently random failures +// (thanks to Daniel Wallin for researching this!) + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T > \ +struct BOOST_PP_CAT(trait, _msvc_sfinae_helper) \ +{ \ + typedef void type; \ +};\ +\ +template< typename T, typename U = void > \ +struct BOOST_PP_CAT(trait,_impl_) \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = false); \ + typedef boost::mpl::bool_ type; \ +}; \ +\ +template< typename T > \ +struct BOOST_PP_CAT(trait,_impl_)< \ + T \ + , typename BOOST_PP_CAT(trait, _msvc_sfinae_helper)< typename T::name >::type \ + > \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = true); \ + typedef boost::mpl::bool_ type; \ +}; \ +\ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ + : BOOST_PP_CAT(trait,_impl_) \ +{ \ +}; \ +/**/ + +# elif BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x590) ) + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF(trait, trait_tester, name, default_) \ +template< typename T, bool IS_CLASS > \ +struct trait_tester \ +{ \ + BOOST_STATIC_CONSTANT( bool, value = false ); \ +}; \ +template< typename T > \ +struct trait_tester< T, true > \ +{ \ + struct trait_tester_impl \ + { \ + template < class U > \ + static int resolve( boost::mpl::aux::type_wrapper const volatile * \ + , boost::mpl::aux::type_wrapper* = 0 ); \ + static char resolve( ... ); \ + }; \ + typedef boost::mpl::aux::type_wrapper t_; \ + BOOST_STATIC_CONSTANT( bool, value = ( sizeof( trait_tester_impl::resolve( static_cast< t_ * >(0) ) ) == sizeof(int) ) ); \ +}; \ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ +{ \ + BOOST_STATIC_CONSTANT( bool, value = (trait_tester< T, boost::is_class< T >::value >::value) ); \ + typedef boost::mpl::bool_< trait< T, fallback_ >::value > type; \ +}; + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_BCB_DEF( trait \ + , BOOST_PP_CAT(trait,_tester) \ + , name \ + , default_ ) \ +/**/ + +# else // other SFINAE-capable compilers + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ +{ \ + struct gcc_3_2_wknd \ + { \ + template< typename U > \ + static boost::mpl::aux::yes_tag test( \ + boost::mpl::aux::type_wrapper const volatile* \ + , boost::mpl::aux::type_wrapper* = 0 \ + ); \ + \ + static boost::mpl::aux::no_tag test(...); \ + }; \ + \ + typedef boost::mpl::aux::type_wrapper t_; \ + BOOST_STATIC_CONSTANT(bool, value = \ + sizeof(gcc_3_2_wknd::test(static_cast(0))) \ + == sizeof(boost::mpl::aux::yes_tag) \ + ); \ + typedef boost::mpl::bool_ type; \ +}; \ +/**/ + +# endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + + +#else // BOOST_MPL_CFG_NO_HAS_XXX + +// placeholder implementation + +# define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \ +template< typename T, typename fallback_ = boost::mpl::bool_ > \ +struct trait \ +{ \ + BOOST_STATIC_CONSTANT(bool, value = fallback_::value); \ + typedef fallback_ type; \ +}; \ +/**/ + +#endif + +#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \ + BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(BOOST_PP_CAT(has_,name), name, false) \ +/**/ + +#endif // BOOST_MPL_HAS_XXX_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/identity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/identity.hpp new file mode 100644 index 0000000..9046cf3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/identity.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_IDENTITY_HPP_INCLUDED +#define BOOST_MPL_IDENTITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: identity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct identity +{ + typedef T type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, identity, (T)) +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct make_identity +{ + typedef identity type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, make_identity, (T)) +}; + +BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, identity) +BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, make_identity) + +}} + +#endif // BOOST_MPL_IDENTITY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/if.hpp new file mode 100644 index 0000000..5f8c8f6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/if.hpp @@ -0,0 +1,135 @@ + +#ifndef BOOST_MPL_IF_HPP_INCLUDED +#define BOOST_MPL_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + bool C + , typename T1 + , typename T2 + > +struct if_c +{ + typedef T1 type; +}; + +template< + typename T1 + , typename T2 + > +struct if_c +{ + typedef T2 type; +}; + +// agurt, 05/sep/04: nondescriptive parameter names for the sake of DigitalMars +// (and possibly MWCW < 8.0); see http://article.gmane.org/gmane.comp.lib.boost.devel/108959 +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + , typename BOOST_MPL_AUX_NA_PARAM(T3) + > +struct if_ +{ + private: + // agurt, 02/jan/03: two-step 'type' definition for the sake of aCC + typedef if_c< +#if defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) + BOOST_MPL_AUX_VALUE_WKND(T1)::value +#else + BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value) +#endif + , T2 + , T3 + > almost_type_; + + public: + typedef typename almost_type_::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(T1,T2,T3)) +}; + +#else + +// no partial class template specialization + +namespace aux { + +template< bool C > +struct if_impl +{ + template< typename T1, typename T2 > struct result_ + { + typedef T1 type; + }; +}; + +template<> +struct if_impl +{ + template< typename T1, typename T2 > struct result_ + { + typedef T2 type; + }; +}; + +} // namespace aux + +template< + bool C_ + , typename T1 + , typename T2 + > +struct if_c +{ + typedef typename aux::if_impl< C_ > + ::template result_::type type; +}; + +// (almost) copy & paste in order to save one more +// recursively nested template instantiation to user +template< + typename BOOST_MPL_AUX_NA_PARAM(C_) + , typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct if_ +{ + enum { msvc_wknd_ = BOOST_MPL_AUX_MSVC_VALUE_WKND(C_)::value }; + + typedef typename aux::if_impl< BOOST_MPL_AUX_STATIC_CAST(bool, msvc_wknd_) > + ::template result_::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,if_,(C_,T1,T2)) +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +BOOST_MPL_AUX_NA_SPEC(3, if_) + +}} + +#endif // BOOST_MPL_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_if.hpp new file mode 100644 index 0000000..5c1b717 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_if.hpp @@ -0,0 +1,60 @@ + +#ifndef BOOST_MPL_INDEX_IF_HPP_INCLUDED +#define BOOST_MPL_INDEX_IF_HPP_INCLUDED + +// Copyright Eric Friedman 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: index_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#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(Predicate) + > +struct index_if +{ + typedef typename iter_fold_if< + Sequence + , int_<0> + , next<> + , aux::find_if_pred + >::type result_; + + typedef typename end::type not_found_; + typedef typename first::type result_index_; + typedef typename second::type result_iterator_; + + typedef typename if_< + is_same< result_iterator_,not_found_ > + , void_ + , result_index_ + >::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_if,(Sequence,Predicate)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, index_if) + +}} + +#endif // BOOST_MPL_INDEX_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_of.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_of.hpp new file mode 100644 index 0000000..9b42bef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/index_of.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_INDEX_OF_HPP_INCLUDED +#define BOOST_MPL_INDEX_OF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright Eric Friedman 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: index_of.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct index_of + : index_if< Sequence,same_as > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,index_of,(Sequence,T)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, index_of) + +}} + +#endif // BOOST_MPL_INDEX_OF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit.hpp new file mode 100644 index 0000000..b960446 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit.hpp @@ -0,0 +1,229 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_INHERIT_HPP_INCLUDED +#define BOOST_MPL_INHERIT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: inherit.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER inherit.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include + +# include +# include +# include + +namespace boost { namespace mpl { + +// 'inherit' metafunction; returns an unspecified class type +// produced by public derivation from all metafunction's parameters +// (T1,T2,..,Tn), except the parameters of 'empty_base' class type; +// regardless the position and number of 'empty_base' parameters in the +// metafunction's argument list, derivation from them is always a no-op; +// for instance: +// inherit::type == her +// inherit::type == struct unspecified : her, my {}; +// inherit::type == her +// inherit::type == her +// inherit::type == struct unspecified : her, my {}; +// inherit::type == empty_base + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : T1, T2 +{ + typedef inherit2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2)) +}; + +template< typename T1 > +struct inherit2 +{ + typedef T1 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (T1,empty_base)) +}; + +template< typename T2 > +struct inherit2 +{ + typedef T2 type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,T2)) +}; + +// needed to disambiguate the previous two in case when both +// T1 and T2 == empty_base +template<> +struct inherit2 +{ + typedef empty_base type; + BOOST_MPL_AUX_LAMBDA_SUPPORT_SPEC(2, inherit2, (empty_base,empty_base)) +}; + +#else + +namespace aux { + +template< bool C1, bool C2 > +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1, T2 + { + typedef Derived type_; + }; +}; + +template<> +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T1 + { + typedef T1 type_; + }; +}; + +template<> +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + : T2 + { + typedef T2 type_; + }; +}; + +template<> +struct inherit2_impl +{ + template< typename Derived, typename T1, typename T2 > struct result_ + { + typedef T1 type_; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct inherit2 + : aux::inherit2_impl< + is_empty_base::value + , is_empty_base::value + >::template result_< inherit2,T1,T2 > +{ + typedef typename inherit2::type_ type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(2, inherit2, (T1,T2)) +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +BOOST_MPL_AUX_NA_SPEC(2, inherit2) + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(3, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +}} + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_INHERIT_HPP_INCLUDED + +///// iteration + +#else +#define n_ BOOST_PP_FRAME_ITERATION(1) + +template< + BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, na) + > +struct BOOST_PP_CAT(inherit,n_) + : inherit2< + typename BOOST_PP_CAT(inherit,BOOST_PP_DEC(n_))< + BOOST_MPL_PP_PARAMS(BOOST_PP_DEC(n_), T) + >::type + , BOOST_PP_CAT(T,n_) + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT( + n_ + , BOOST_PP_CAT(inherit,n_) + , (BOOST_MPL_PP_PARAMS(n_, T)) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(n_, BOOST_PP_CAT(inherit,n_)) + +#if n_ == BOOST_MPL_LIMIT_METAFUNCTION_ARITY +/// primary template +template< + BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base) + > +struct inherit + : BOOST_PP_CAT(inherit,n_) +{ +}; + +// 'na' specialization +template<> +struct inherit< BOOST_MPL_PP_ENUM(5, na) > +{ + template< +#if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) + BOOST_MPL_PP_DEFAULT_PARAMS(n_, typename T, empty_base) +#else + BOOST_MPL_PP_PARAMS(n_, typename T) +#endif + > + struct apply + : inherit< BOOST_MPL_PP_PARAMS(n_, T) > + { + }; +}; + +BOOST_MPL_AUX_NA_SPEC_LAMBDA(n_, inherit) +BOOST_MPL_AUX_NA_SPEC_ARITY(n_, inherit) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(n_, n_, inherit) +#endif + +#undef n_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit_linearly.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit_linearly.hpp new file mode 100644 index 0000000..1b05f75 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inherit_linearly.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED +#define BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: inherit_linearly.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Types_) + , typename BOOST_MPL_AUX_NA_PARAM(Node_) + , typename Root_ = empty_base + > +struct inherit_linearly + : fold +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,inherit_linearly,(Types_,Node_,Root_)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, inherit_linearly) + +}} + +#endif // BOOST_MPL_INHERIT_FRONT_TO_BACK_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert.hpp new file mode 100644 index 0000000..e5b1e71 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_INSERT_HPP_INCLUDED +#define BOOST_MPL_INSERT_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: insert.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Pos_or_T) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct insert + : insert_impl< typename sequence_tag::type > + ::template apply< Sequence,Pos_or_T,T > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert,(Sequence,Pos_or_T,T)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, insert) + +}} + +#endif // BOOST_MPL_INSERT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_fwd.hpp new file mode 100644 index 0000000..0733f43 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_INSERT_FWD_HPP_INCLUDED +#define BOOST_MPL_INSERT_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: insert_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct insert_impl; +template< typename Sequence, typename Pos_or_T, typename T > struct insert; + +}} + +#endif // BOOST_MPL_INSERT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range.hpp new file mode 100644 index 0000000..449fccb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_INSERT_RANGE_HPP_INCLUDED +#define BOOST_MPL_INSERT_RANGE_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: insert_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Pos) + , typename BOOST_MPL_AUX_NA_PARAM(Range) + > +struct insert_range + : insert_range_impl< typename sequence_tag::type > + ::template apply< Sequence,Pos,Range > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,insert_range,(Sequence,Pos,Range)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, insert_range) + +}} + +#endif // BOOST_MPL_INSERT_RANGE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range_fwd.hpp new file mode 100644 index 0000000..6848997 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/insert_range_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED +#define BOOST_MPL_INSERT_RANGE_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: insert_range_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct insert_range_impl; +template< typename Sequence, typename Pos, typename Range > struct insert_range; + +}} + +#endif // BOOST_MPL_INSERT_RANGE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inserter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inserter.hpp new file mode 100644 index 0000000..abe49c2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/inserter.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_INSERTER_HPP_INCLUDED +#define BOOST_MPL_INSERTER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: inserter.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< + typename Sequence + , typename Operation + > +struct inserter +{ + typedef Sequence state; + typedef Operation operation; +}; + +}} + +#endif // BOOST_MPL_INSERTER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int.hpp new file mode 100644 index 0000000..af6b2ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int.hpp @@ -0,0 +1,22 @@ + +#ifndef BOOST_MPL_INT_HPP_INCLUDED +#define BOOST_MPL_INT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: int.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#define AUX_WRAPPER_VALUE_TYPE int +#include + +#endif // BOOST_MPL_INT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int_fwd.hpp new file mode 100644 index 0000000..e6ac339 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/int_fwd.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED +#define BOOST_MPL_INT_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: int_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(int_) + +#endif // BOOST_MPL_INT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c.hpp new file mode 100644 index 0000000..378bbf3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c.hpp @@ -0,0 +1,51 @@ + +#ifndef BOOST_MPL_INTEGRAL_C_HPP_INCLUDED +#define BOOST_MPL_INTEGRAL_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: integral_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#if BOOST_WORKAROUND(__HP_aCC, <= 53800) +// the type of non-type template arguments may not depend on template arguments +# define AUX_WRAPPER_PARAMS(N) typename T, long N +#else +# define AUX_WRAPPER_PARAMS(N) typename T, T N +#endif + +#define AUX_WRAPPER_NAME integral_c +#define AUX_WRAPPER_VALUE_TYPE T +#define AUX_WRAPPER_INST(value) AUX_WRAPPER_NAME< T, value > +#include + + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ + && !BOOST_WORKAROUND(__BORLANDC__, <= 0x551) +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +// 'bool' constant doesn't have 'next'/'prior' members +template< bool C > +struct integral_c +{ + BOOST_STATIC_CONSTANT(bool, value = C); + typedef integral_c_tag tag; + typedef integral_c type; + typedef bool value_type; + operator bool() const { return this->value; } +}; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +#endif + +#endif // BOOST_MPL_INTEGRAL_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_fwd.hpp new file mode 100644 index 0000000..f82fa72 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_fwd.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED +#define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: integral_c_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +#if BOOST_WORKAROUND(__HP_aCC, <= 53800) +// the type of non-type template arguments may not depend on template arguments +template< typename T, long N > struct integral_c; +#else +template< typename T, T N > struct integral_c; +#endif + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c) + +#endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_tag.hpp new file mode 100644 index 0000000..77964fb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/integral_c_tag.hpp @@ -0,0 +1,26 @@ + +#ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED +#define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: integral_c_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); }; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag) + +#endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_placeholder.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_placeholder.hpp new file mode 100644 index 0000000..f2282c8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_placeholder.hpp @@ -0,0 +1,67 @@ + +#ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED +#define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: is_placeholder.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename T > +struct is_placeholder + : bool_ +{ +}; + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > +struct is_placeholder< arg > + : bool_ +{ +}; + +#else + +namespace aux { + +aux::no_tag is_placeholder_helper(...); + +template< BOOST_MPL_AUX_NTTP_DECL(int, N) > +aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg >*); + +} // namespace aux + +template< typename T > +struct is_placeholder +{ + static aux::type_wrapper* get(); + BOOST_STATIC_CONSTANT(bool, value = + sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag) + ); + + typedef bool_ type; +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}} + +#endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_sequence.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_sequence.hpp new file mode 100644 index 0000000..e2f12ca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/is_sequence.hpp @@ -0,0 +1,112 @@ + +#ifndef BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED +#define BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: is_sequence.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) +# include +#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) +# include +#endif + +#include + +namespace boost { namespace mpl { + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +namespace aux { + +// agurt, 11/jun/03: +// MSVC 6.5/7.0 fails if 'has_begin' is instantiated on a class type that has a +// 'begin' member that doesn't name a type; e.g. 'has_begin< std::vector >' +// would fail; requiring 'T' to have _both_ 'tag' and 'begin' members workarounds +// the issue for most real-world cases +template< typename T > struct is_sequence_impl + : and_< + identity< aux::has_tag > + , identity< aux::has_begin > + > +{ +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct is_sequence + : if_< +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + aux::msvc_is_class +#else + boost::is_class +#endif + , aux::is_sequence_impl + , bool_ + >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T)) +}; + +#elif defined(BOOST_MPL_CFG_NO_HAS_XXX) + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct is_sequence + : bool_ +{ +}; + +#else + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct is_sequence + : not_< is_same< typename begin::type, void_ > > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_sequence, (T)) +}; + +#endif // BOOST_MSVC + +#if defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) +template<> struct is_sequence + : bool_ +{ +}; +#endif + +BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, is_sequence) + +}} + +#endif // BOOST_MPL_IS_SEQUENCE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold.hpp new file mode 100644 index 0000000..ba1c93b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold.hpp @@ -0,0 +1,49 @@ + +#ifndef BOOST_MPL_ITER_FOLD_HPP_INCLUDED +#define BOOST_MPL_ITER_FOLD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp) + > +struct iter_fold +{ + typedef typename aux::iter_fold_impl< + ::boost::mpl::O1_size::value + , typename begin::type + , typename end::type + , State + , typename lambda::type + >::state type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,iter_fold,(Sequence,State,ForwardOp)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, iter_fold) + +}} + +#endif // BOOST_MPL_ITER_FOLD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold_if.hpp new file mode 100644 index 0000000..8f33c09 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iter_fold_if.hpp @@ -0,0 +1,117 @@ + +#ifndef BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED +#define BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright Eric Friedman 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iter_fold_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< typename Predicate, typename LastIterator > +struct iter_fold_if_pred +{ + template< typename State, typename Iterator > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : and_< + not_< is_same > + , apply1 + > + { +#else + { + typedef and_< + not_< is_same > + , apply1 + > type; +#endif + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(ForwardOp) + , typename BOOST_MPL_AUX_NA_PARAM(ForwardPredicate) + , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp) + , typename BOOST_MPL_AUX_NA_PARAM(BackwardPredicate) + > +struct iter_fold_if +{ + + typedef typename begin::type first_; + typedef typename end::type last_; + + typedef typename eval_if< + is_na + , if_< is_na, always, always > + , identity + >::type backward_pred_; + +// cwpro8 doesn't like 'cut-off' type here (use typedef instead) +#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + struct result_ : +#else + typedef +#endif + aux::iter_fold_if_impl< + first_ + , State + , ForwardOp + , protect< aux::iter_fold_if_pred< ForwardPredicate,last_ > > + , BackwardOp + , backward_pred_ + > +#if !BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3003)) && !BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + { }; +#else + result_; +#endif + +public: + + typedef pair< + typename result_::state + , typename result_::iterator + > type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 6 + , iter_fold_if + , (Sequence,State,ForwardOp,ForwardPredicate,BackwardOp,BackwardPredicate) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(6, iter_fold_if) + +}} + +#endif // BOOST_MPL_ITER_FOLD_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_category.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_category.hpp new file mode 100644 index 0000000..bdb4d93 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_category.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED +#define BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator_category.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Iterator) + > +struct iterator_category +{ + typedef typename Iterator::category type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,iterator_category,(Iterator)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, iterator_category) + +}} + +#endif // BOOST_MPL_ITERATOR_CATEGORY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_range.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_range.hpp new file mode 100644 index 0000000..cc1c19f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_range.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED +#define BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator_range.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +struct iterator_range_tag; + +template< + typename BOOST_MPL_AUX_NA_PARAM(First) + , typename BOOST_MPL_AUX_NA_PARAM(Last) + > +struct iterator_range +{ + typedef iterator_range_tag tag; + typedef iterator_range type; + typedef First begin; + typedef Last end; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,iterator_range,(First,Last)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, iterator_range) + +}} + +#endif // BOOST_MPL_ITERATOR_RANGE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_tags.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_tags.hpp new file mode 100644 index 0000000..4281217 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/iterator_tags.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED +#define BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator_tags.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { + +struct forward_iterator_tag : int_<0> { typedef forward_iterator_tag type; }; +struct bidirectional_iterator_tag : int_<1> { typedef bidirectional_iterator_tag type; }; +struct random_access_iterator_tag : int_<2> { typedef random_access_iterator_tag type; }; + +}} + +#endif // BOOST_MPL_ITERATOR_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/joint_view.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/joint_view.hpp new file mode 100644 index 0000000..1b61ea3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/joint_view.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_JOINT_VIEW_HPP_INCLUDED +#define BOOST_MPL_JOINT_VIEW_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: joint_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { +struct joint_view_tag; +} + +template<> +struct size_impl< aux::joint_view_tag > +{ + template < typename JointView > struct apply + : plus< + size + , size + > + {}; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence1_) + , typename BOOST_MPL_AUX_NA_PARAM(Sequence2_) + > +struct joint_view +{ + typedef typename mpl::begin::type first1_; + typedef typename mpl::end::type last1_; + typedef typename mpl::begin::type first2_; + typedef typename mpl::end::type last2_; + + // agurt, 25/may/03: for the 'size_traits' implementation above + typedef Sequence1_ sequence1_; + typedef Sequence2_ sequence2_; + + typedef joint_view type; + typedef aux::joint_view_tag tag; + typedef joint_iter begin; + typedef joint_iter end; +}; + +BOOST_MPL_AUX_NA_SPEC(2, joint_view) + +}} + +#endif // BOOST_MPL_JOINT_VIEW_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type.hpp new file mode 100644 index 0000000..d45835c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_KEY_TYPE_HPP_INCLUDED +#define BOOST_MPL_KEY_TYPE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: key_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct key_type + : apply_wrap2< + key_type_impl< typename sequence_tag::type > + , AssociativeSequence, T> +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,key_type,(AssociativeSequence,T)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, key_type) + +}} + +#endif // BOOST_MPL_KEY_TYPE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type_fwd.hpp new file mode 100644 index 0000000..311f655 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/key_type_fwd.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED +#define BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: key_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct key_type_impl; +template< typename AssociativeSequence, typename T > struct key_type; + +}} + +#endif // BOOST_MPL_KEY_TYPE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda.hpp new file mode 100644 index 0000000..c1df035 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda.hpp @@ -0,0 +1,29 @@ + +#ifndef BOOST_MPL_LAMBDA_HPP_INCLUDED +#define BOOST_MPL_LAMBDA_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +# include +#else +# include +# include +# define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS +#endif + +#endif // BOOST_MPL_LAMBDA_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda_fwd.hpp new file mode 100644 index 0000000..ae7619a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lambda_fwd.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED +#define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lambda_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) + +# include +# include +# include + +namespace boost { namespace mpl { + +template< + typename T = na + , typename Tag = void_ + BOOST_MPL_AUX_LAMBDA_ARITY_PARAM( + typename Arity = int_< aux::template_arity::value > + ) + > +struct lambda; + +}} + +#else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT + +# include + +namespace boost { namespace mpl { + +template< + typename T = na + , typename Tag = void_ + , typename Protect = true_ + > +struct lambda; + +}} + +#endif + +#endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less.hpp new file mode 100644 index 0000000..3a8d094 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LESS_HPP_INCLUDED +#define BOOST_MPL_LESS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: less.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME less +#define AUX778076_OP_TOKEN < +#include + +#endif // BOOST_MPL_LESS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less_equal.hpp new file mode 100644 index 0000000..e870bc7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/less_equal.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LESS_EQUAL_HPP_INCLUDED +#define BOOST_MPL_LESS_EQUAL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: less_equal.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME less_equal +#define AUX778076_OP_TOKEN <= +#include + +#endif // BOOST_MPL_LESS_EQUAL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/arity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/arity.hpp new file mode 100644 index 0000000..e83fcec --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/arity.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED +#define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: arity.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) +# define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5 +#endif + +#endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/list.hpp new file mode 100644 index 0000000..3a2263a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/list.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_LIST_HPP_INCLUDED +#define BOOST_MPL_LIMITS_LIST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_LIMIT_LIST_SIZE) +# define BOOST_MPL_LIMIT_LIST_SIZE 20 +#endif + +#endif // BOOST_MPL_LIMITS_LIST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/map.hpp new file mode 100644 index 0000000..6a2c4ad --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/map.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_MAP_HPP_INCLUDED +#define BOOST_MPL_LIMITS_MAP_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: map.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_LIMIT_MAP_SIZE) +# define BOOST_MPL_LIMIT_MAP_SIZE 20 +#endif + +#endif // BOOST_MPL_LIMITS_MAP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/set.hpp new file mode 100644 index 0000000..ff0c56f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/set.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_SET_HPP_INCLUDED +#define BOOST_MPL_LIMITS_SET_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: set.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_LIMIT_SET_SIZE) +# define BOOST_MPL_LIMIT_SET_SIZE 20 +#endif + +#endif // BOOST_MPL_LIMITS_SET_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/string.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/string.hpp new file mode 100644 index 0000000..c51c0ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/string.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_STRING_HPP_INCLUDED +#define BOOST_MPL_LIMITS_STRING_HPP_INCLUDED + +// Copyright Eric Niebler 2009 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $ +// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $ +// $Revision: 49239 $ + +#if !defined(BOOST_MPL_LIMIT_STRING_SIZE) +# define BOOST_MPL_LIMIT_STRING_SIZE 32 +#endif + +#endif // BOOST_MPL_LIMITS_STRING_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/unrolling.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/unrolling.hpp new file mode 100644 index 0000000..97b3bca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/unrolling.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED +#define BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: unrolling.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_LIMIT_UNROLLING) +# define BOOST_MPL_LIMIT_UNROLLING 4 +#endif + +#endif // BOOST_MPL_LIMITS_UNROLLING_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/vector.hpp new file mode 100644 index 0000000..e333109 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/limits/vector.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED +#define BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE) +# define BOOST_MPL_LIMIT_VECTOR_SIZE 20 +#endif + +#endif // BOOST_MPL_LIMITS_VECTOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list.hpp new file mode 100644 index 0000000..b2c9261 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_LIST_HPP_INCLUDED +#define BOOST_MPL_LIST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include + +# include +# include +# include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_LIST_HEADER \ + BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE).hpp \ + /**/ +#else +# define AUX778076_LIST_HEADER \ + BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_HEADER) +# undef AUX778076_LIST_HEADER +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER list.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME list +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_LIST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/O1_size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/O1_size.hpp new file mode 100644 index 0000000..f6e9889 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/O1_size.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct O1_size_impl< aux::list_tag > +{ + template< typename List > struct apply + : List::size + { + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_O1_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/begin_end.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/begin_end.hpp new file mode 100644 index 0000000..63b2ee5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/begin_end.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct begin_impl< aux::list_tag > +{ + template< typename List > struct apply + { + typedef l_iter type; + }; +}; + +template<> +struct end_impl< aux::list_tag > +{ + template< typename > struct apply + { + typedef l_iter type; + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_BEGIN_END_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/clear.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/clear.hpp new file mode 100644 index 0000000..7c3a308 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/clear.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct clear_impl< aux::list_tag > +{ + template< typename List > struct apply + { + typedef l_end type; + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_CLEAR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/empty.hpp new file mode 100644 index 0000000..f71646c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/empty.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct empty_impl< aux::list_tag > +{ + template< typename List > struct apply + : not_ + { + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_EMPTY_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/front.hpp new file mode 100644 index 0000000..4d0dec9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/front.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct front_impl< aux::list_tag > +{ + template< typename List > struct apply + { + typedef typename List::item type; + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/include_preprocessed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/include_preprocessed.hpp new file mode 100644 index 0000000..e08139a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/include_preprocessed.hpp @@ -0,0 +1,35 @@ + +// Copyright Aleksey Gurtovoy 2001-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#include + +#include +#include + +# define AUX778076_HEADER \ + aux_/preprocessed/plain/BOOST_MPL_PREPROCESSED_HEADER \ +/**/ + +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) +# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER) +# include AUX778076_INCLUDE_STRING +# undef AUX778076_INCLUDE_STRING +#else +# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_HEADER) +#endif + +# undef AUX778076_HEADER + +#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/item.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/item.hpp new file mode 100644 index 0000000..175ee57 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/item.hpp @@ -0,0 +1,55 @@ + +#ifndef BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename Size + , typename T + , typename Next + > +struct l_item +{ +// agurt, 17/jul/03: to facilitate the deficient 'is_sequence' implementation +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + typedef int begin; +#endif + typedef aux::list_tag tag; + typedef l_item type; + + typedef Size size; + typedef T item; + typedef Next next; +}; + +struct l_end +{ +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + typedef int begin; +#endif + typedef aux::list_tag tag; + typedef l_end type; + typedef long_<0> size; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_NODE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/iterator.hpp new file mode 100644 index 0000000..bc830e4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/iterator.hpp @@ -0,0 +1,76 @@ + +#ifndef BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename Node > +struct l_iter +{ + typedef aux::l_iter_tag tag; + typedef forward_iterator_tag category; +}; + +template< typename Node > +struct deref< l_iter > +{ + typedef typename Node::item type; +}; + +template< typename Node > +struct next< l_iter > +{ + typedef l_iter< typename Node::next > type; +}; + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< typename Node > +struct l_iter +{ + typedef aux::l_iter_tag tag; + typedef forward_iterator_tag category; + typedef typename Node::item type; + typedef l_iter< typename mpl::next::type > next; +}; + +#endif + + +template<> struct l_iter +{ + typedef aux::l_iter_tag tag; + typedef forward_iterator_tag category; +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + typedef na type; + typedef l_iter next; +#endif +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, l_iter) + +}} + +#endif // BOOST_MPL_LIST_AUX_ITERATOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered.hpp new file mode 100644 index 0000000..397b19c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered.hpp @@ -0,0 +1,68 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Peter Dimov 2000-2002 +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include + +#define i BOOST_PP_FRAME_ITERATION(1) + +#if i == 1 + +template< + BOOST_PP_ENUM_PARAMS(i, typename T) + > +struct list1 + : l_item< + long_<1> + , T0 + , l_end + > +{ + typedef list1 type; +}; + +#else + +# define MPL_AUX_LIST_TAIL(list, i, T) \ + BOOST_PP_CAT(list,BOOST_PP_DEC(i))< \ + BOOST_PP_ENUM_SHIFTED_PARAMS(i, T) \ + > \ + /**/ + +template< + BOOST_PP_ENUM_PARAMS(i, typename T) + > +struct BOOST_PP_CAT(list,i) + : l_item< + long_ + , T0 + , MPL_AUX_LIST_TAIL(list,i,T) + > +{ + typedef BOOST_PP_CAT(list,i) type; +}; + +# undef MPL_AUX_LIST_TAIL + +#endif // i == 1 + +#undef i + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered_c.hpp new file mode 100644 index 0000000..b147200 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/numbered_c.hpp @@ -0,0 +1,71 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if defined(BOOST_PP_IS_ITERATING) + +#include +#include +#include +#include + +#define i BOOST_PP_FRAME_ITERATION(1) + +#if i == 1 + +template< + typename T + , BOOST_PP_ENUM_PARAMS(i, T C) + > +struct list1_c + : l_item< + long_<1> + , integral_c + , l_end + > +{ + typedef list1_c type; + typedef T value_type; +}; + +#else + +# define MPL_AUX_LIST_C_TAIL(list, i, C) \ + BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_PP_DEC(i)),_c) \ + /**/ + +template< + typename T + , BOOST_PP_ENUM_PARAMS(i, T C) + > +struct BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) + : l_item< + long_ + , integral_c + , MPL_AUX_LIST_C_TAIL(list,i,C) + > +{ + typedef BOOST_PP_CAT(BOOST_PP_CAT(list,i),_c) type; + typedef T value_type; +}; + +# undef MPL_AUX_LIST_C_TAIL + +#endif // i == 1 + +#undef i + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/pop_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/pop_front.hpp new file mode 100644 index 0000000..afd732c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/pop_front.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct pop_front_impl< aux::list_tag > +{ + template< typename List > struct apply + { + typedef typename mpl::next::type type; + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_POP_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp new file mode 100644 index 0000000..4d0d4c1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list10.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 + > +struct list1 + : l_item< + long_<1> + , T0 + , l_end + > +{ + typedef list1 type; +}; + +template< + typename T0, typename T1 + > +struct list2 + : l_item< + long_<2> + , T0 + , list1 + > +{ + typedef list2 type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct list3 + : l_item< + long_<3> + , T0 + , list2< T1,T2 > + > +{ + typedef list3 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct list4 + : l_item< + long_<4> + , T0 + , list3< T1,T2,T3 > + > +{ + typedef list4 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct list5 + : l_item< + long_<5> + , T0 + , list4< T1,T2,T3,T4 > + > +{ + typedef list5 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct list6 + : l_item< + long_<6> + , T0 + , list5< T1,T2,T3,T4,T5 > + > +{ + typedef list6 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct list7 + : l_item< + long_<7> + , T0 + , list6< T1,T2,T3,T4,T5,T6 > + > +{ + typedef list7 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct list8 + : l_item< + long_<8> + , T0 + , list7< T1,T2,T3,T4,T5,T6,T7 > + > +{ + typedef list8 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct list9 + : l_item< + long_<9> + , T0 + , list8< T1,T2,T3,T4,T5,T6,T7,T8 > + > +{ + typedef list9 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct list10 + : l_item< + long_<10> + , T0 + , list9< T1,T2,T3,T4,T5,T6,T7,T8,T9 > + > +{ + typedef list10 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp new file mode 100644 index 0000000..637fdec --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list10_c.hpp @@ -0,0 +1,164 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list10_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T + , T C0 + > +struct list1_c + : l_item< + long_<1> + , integral_c< T,C0 > + , l_end + > +{ + typedef list1_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1 + > +struct list2_c + : l_item< + long_<2> + , integral_c< T,C0 > + , list1_c< T,C1 > + > +{ + typedef list2_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2 + > +struct list3_c + : l_item< + long_<3> + , integral_c< T,C0 > + , list2_c< T,C1,C2 > + > +{ + typedef list3_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3 + > +struct list4_c + : l_item< + long_<4> + , integral_c< T,C0 > + , list3_c< T,C1,C2,C3 > + > +{ + typedef list4_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4 + > +struct list5_c + : l_item< + long_<5> + , integral_c< T,C0 > + , list4_c< T,C1,C2,C3,C4 > + > +{ + typedef list5_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5 + > +struct list6_c + : l_item< + long_<6> + , integral_c< T,C0 > + , list5_c< T,C1,C2,C3,C4,C5 > + > +{ + typedef list6_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6 + > +struct list7_c + : l_item< + long_<7> + , integral_c< T,C0 > + , list6_c< T,C1,C2,C3,C4,C5,C6 > + > +{ + typedef list7_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7 + > +struct list8_c + : l_item< + long_<8> + , integral_c< T,C0 > + , list7_c< T,C1,C2,C3,C4,C5,C6,C7 > + > +{ + typedef list8_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8 + > +struct list9_c + : l_item< + long_<9> + , integral_c< T,C0 > + , list8_c< T,C1,C2,C3,C4,C5,C6,C7,C8 > + > +{ + typedef list9_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9 + > +struct list10_c + : l_item< + long_<10> + , integral_c< T,C0 > + , list9_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9 > + > +{ + typedef list10_c type; + typedef T value_type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp new file mode 100644 index 0000000..0388c96 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp @@ -0,0 +1,169 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list20.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10 + > +struct list11 + : l_item< + long_<11> + , T0 + , list10< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 > + > +{ + typedef list11 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11 + > +struct list12 + : l_item< + long_<12> + , T0 + , list11< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11 > + > +{ + typedef list12 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12 + > +struct list13 + : l_item< + long_<13> + , T0 + , list12< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12 > + > +{ + typedef list13 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13 + > +struct list14 + : l_item< + long_<14> + , T0 + , list13< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13 > + > +{ + typedef list14 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + > +struct list15 + : l_item< + long_<15> + , T0 + , list14< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14 > + > +{ + typedef list15 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15 + > +struct list16 + : l_item< + long_<16> + , T0 + , list15< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15 > + > +{ + typedef list16 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16 + > +struct list17 + : l_item< + long_<17> + , T0 + , list16< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16 > + > +{ + typedef list17 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17 + > +struct list18 + : l_item< + long_<18> + , T0 + , list17< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17 > + > +{ + typedef list18 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18 + > +struct list19 + : l_item< + long_<19> + , T0 + , list18< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18 > + > +{ + typedef list19 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct list20 + : l_item< + long_<20> + , T0 + , list19< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19 > + > +{ + typedef list20 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp new file mode 100644 index 0000000..197cd84 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list20_c.hpp @@ -0,0 +1,173 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list20_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + > +struct list11_c + : l_item< + long_<11> + , integral_c< T,C0 > + , list10_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > + > +{ + typedef list11_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11 + > +struct list12_c + : l_item< + long_<12> + , integral_c< T,C0 > + , list11_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > + > +{ + typedef list12_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12 + > +struct list13_c + : l_item< + long_<13> + , integral_c< T,C0 > + , list12_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > + > +{ + typedef list13_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13 + > +struct list14_c + : l_item< + long_<14> + , integral_c< T,C0 > + , list13_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 > + > +{ + typedef list14_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14 + > +struct list15_c + : l_item< + long_<15> + , integral_c< T,C0 > + , list14_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 > + > +{ + typedef list15_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15 + > +struct list16_c + : l_item< + long_<16> + , integral_c< T,C0 > + , list15_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 > + > +{ + typedef list16_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16 + > +struct list17_c + : l_item< + long_<17> + , integral_c< T,C0 > + , list16_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 > + > +{ + typedef list17_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17 + > +struct list18_c + : l_item< + long_<18> + , integral_c< T,C0 > + , list17_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 > + > +{ + typedef list18_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18 + > +struct list19_c + : l_item< + long_<19> + , integral_c< T,C0 > + , list18_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 > + > +{ + typedef list19_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19 + > +struct list20_c + : l_item< + long_<20> + , integral_c< T,C0 > + , list19_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 > + > +{ + typedef list20_c type; + typedef T value_type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp new file mode 100644 index 0000000..8db5fdc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30.hpp @@ -0,0 +1,189 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list30.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20 + > +struct list21 + : l_item< + long_<21> + , T0 + , list20< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20 > + > +{ + typedef list21 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21 + > +struct list22 + : l_item< + long_<22> + , T0 + , list21< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21 > + > +{ + typedef list22 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22 + > +struct list23 + : l_item< + long_<23> + , T0 + , list22< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22 > + > +{ + typedef list23 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23 + > +struct list24 + : l_item< + long_<24> + , T0 + , list23< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23 > + > +{ + typedef list24 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + > +struct list25 + : l_item< + long_<25> + , T0 + , list24< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24 > + > +{ + typedef list25 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25 + > +struct list26 + : l_item< + long_<26> + , T0 + , list25< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25 > + > +{ + typedef list26 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26 + > +struct list27 + : l_item< + long_<27> + , T0 + , list26< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26 > + > +{ + typedef list27 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27 + > +struct list28 + : l_item< + long_<28> + , T0 + , list27< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27 > + > +{ + typedef list28 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28 + > +struct list29 + : l_item< + long_<29> + , T0 + , list28< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28 > + > +{ + typedef list29 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + > +struct list30 + : l_item< + long_<30> + , T0 + , list29< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29 > + > +{ + typedef list30 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp new file mode 100644 index 0000000..d81d5d3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list30_c.hpp @@ -0,0 +1,183 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list30_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + > +struct list21_c + : l_item< + long_<21> + , integral_c< T,C0 > + , list20_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 > + > +{ + typedef list21_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21 + > +struct list22_c + : l_item< + long_<22> + , integral_c< T,C0 > + , list21_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21 > + > +{ + typedef list22_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22 + > +struct list23_c + : l_item< + long_<23> + , integral_c< T,C0 > + , list22_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22 > + > +{ + typedef list23_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23 + > +struct list24_c + : l_item< + long_<24> + , integral_c< T,C0 > + , list23_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 > + > +{ + typedef list24_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24 + > +struct list25_c + : l_item< + long_<25> + , integral_c< T,C0 > + , list24_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24 > + > +{ + typedef list25_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25 + > +struct list26_c + : l_item< + long_<26> + , integral_c< T,C0 > + , list25_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25 > + > +{ + typedef list26_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26 + > +struct list27_c + : l_item< + long_<27> + , integral_c< T,C0 > + , list26_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26 > + > +{ + typedef list27_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27 + > +struct list28_c + : l_item< + long_<28> + , integral_c< T,C0 > + , list27_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27 > + > +{ + typedef list28_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28 + > +struct list29_c + : l_item< + long_<29> + , integral_c< T,C0 > + , list28_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28 > + > +{ + typedef list29_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29 + > +struct list30_c + : l_item< + long_<30> + , integral_c< T,C0 > + , list29_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29 > + > +{ + typedef list30_c type; + typedef T value_type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp new file mode 100644 index 0000000..52bf019 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40.hpp @@ -0,0 +1,209 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list40.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30 + > +struct list31 + : l_item< + long_<31> + , T0 + , list30< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30 > + > +{ + typedef list31 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31 + > +struct list32 + : l_item< + long_<32> + , T0 + , list31< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31 > + > +{ + typedef list32 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32 + > +struct list33 + : l_item< + long_<33> + , T0 + , list32< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32 > + > +{ + typedef list33 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33 + > +struct list34 + : l_item< + long_<34> + , T0 + , list33< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33 > + > +{ + typedef list34 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + > +struct list35 + : l_item< + long_<35> + , T0 + , list34< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34 > + > +{ + typedef list35 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35 + > +struct list36 + : l_item< + long_<36> + , T0 + , list35< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35 > + > +{ + typedef list36 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36 + > +struct list37 + : l_item< + long_<37> + , T0 + , list36< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36 > + > +{ + typedef list37 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37 + > +struct list38 + : l_item< + long_<38> + , T0 + , list37< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37 > + > +{ + typedef list38 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38 + > +struct list39 + : l_item< + long_<39> + , T0 + , list38< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38 > + > +{ + typedef list39 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + > +struct list40 + : l_item< + long_<40> + , T0 + , list39< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39 > + > +{ + typedef list40 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp new file mode 100644 index 0000000..ea654b8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list40_c.hpp @@ -0,0 +1,193 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list40_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + > +struct list31_c + : l_item< + long_<31> + , integral_c< T,C0 > + , list30_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30 > + > +{ + typedef list31_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31 + > +struct list32_c + : l_item< + long_<32> + , integral_c< T,C0 > + , list31_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31 > + > +{ + typedef list32_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32 + > +struct list33_c + : l_item< + long_<33> + , integral_c< T,C0 > + , list32_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32 > + > +{ + typedef list33_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33 + > +struct list34_c + : l_item< + long_<34> + , integral_c< T,C0 > + , list33_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33 > + > +{ + typedef list34_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34 + > +struct list35_c + : l_item< + long_<35> + , integral_c< T,C0 > + , list34_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34 > + > +{ + typedef list35_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35 + > +struct list36_c + : l_item< + long_<36> + , integral_c< T,C0 > + , list35_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35 > + > +{ + typedef list36_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36 + > +struct list37_c + : l_item< + long_<37> + , integral_c< T,C0 > + , list36_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36 > + > +{ + typedef list37_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37 + > +struct list38_c + : l_item< + long_<38> + , integral_c< T,C0 > + , list37_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37 > + > +{ + typedef list38_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38 + > +struct list39_c + : l_item< + long_<39> + , integral_c< T,C0 > + , list38_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38 > + > +{ + typedef list39_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39 + > +struct list40_c + : l_item< + long_<40> + , integral_c< T,C0 > + , list39_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39 > + > +{ + typedef list40_c type; + typedef T value_type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp new file mode 100644 index 0000000..33edb5b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50.hpp @@ -0,0 +1,229 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list50.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40 + > +struct list41 + : l_item< + long_<41> + , T0 + , list40< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40 > + > +{ + typedef list41 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41 + > +struct list42 + : l_item< + long_<42> + , T0 + , list41< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41 > + > +{ + typedef list42 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42 + > +struct list43 + : l_item< + long_<43> + , T0 + , list42< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42 > + > +{ + typedef list43 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43 + > +struct list44 + : l_item< + long_<44> + , T0 + , list43< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43 > + > +{ + typedef list44 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43, typename T44 + > +struct list45 + : l_item< + long_<45> + , T0 + , list44< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44 > + > +{ + typedef list45 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43, typename T44 + , typename T45 + > +struct list46 + : l_item< + long_<46> + , T0 + , list45< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45 > + > +{ + typedef list46 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43, typename T44 + , typename T45, typename T46 + > +struct list47 + : l_item< + long_<47> + , T0 + , list46< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46 > + > +{ + typedef list47 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43, typename T44 + , typename T45, typename T46, typename T47 + > +struct list48 + : l_item< + long_<48> + , T0 + , list47< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47 > + > +{ + typedef list48 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43, typename T44 + , typename T45, typename T46, typename T47, typename T48 + > +struct list49 + : l_item< + long_<49> + , T0 + , list48< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48 > + > +{ + typedef list49 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename T20, typename T21, typename T22, typename T23, typename T24 + , typename T25, typename T26, typename T27, typename T28, typename T29 + , typename T30, typename T31, typename T32, typename T33, typename T34 + , typename T35, typename T36, typename T37, typename T38, typename T39 + , typename T40, typename T41, typename T42, typename T43, typename T44 + , typename T45, typename T46, typename T47, typename T48, typename T49 + > +struct list50 + : l_item< + long_<50> + , T0 + , list49< T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40,T41,T42,T43,T44,T45,T46,T47,T48,T49 > + > +{ + typedef list50 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp new file mode 100644 index 0000000..f9136cf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/preprocessed/plain/list50_c.hpp @@ -0,0 +1,203 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// + +// Preprocessed version of "boost/mpl/list/list50_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + > +struct list41_c + : l_item< + long_<41> + , integral_c< T,C0 > + , list40_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40 > + > +{ + typedef list41_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41 + > +struct list42_c + : l_item< + long_<42> + , integral_c< T,C0 > + , list41_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41 > + > +{ + typedef list42_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42 + > +struct list43_c + : l_item< + long_<43> + , integral_c< T,C0 > + , list42_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42 > + > +{ + typedef list43_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43 + > +struct list44_c + : l_item< + long_<44> + , integral_c< T,C0 > + , list43_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43 > + > +{ + typedef list44_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43, T C44 + > +struct list45_c + : l_item< + long_<45> + , integral_c< T,C0 > + , list44_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44 > + > +{ + typedef list45_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43, T C44, T C45 + > +struct list46_c + : l_item< + long_<46> + , integral_c< T,C0 > + , list45_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45 > + > +{ + typedef list46_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43, T C44, T C45, T C46 + > +struct list47_c + : l_item< + long_<47> + , integral_c< T,C0 > + , list46_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46 > + > +{ + typedef list47_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43, T C44, T C45, T C46, T C47 + > +struct list48_c + : l_item< + long_<48> + , integral_c< T,C0 > + , list47_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47 > + > +{ + typedef list48_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48 + > +struct list49_c + : l_item< + long_<49> + , integral_c< T,C0 > + , list48_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48 > + > +{ + typedef list49_c type; + typedef T value_type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8, T C9, T C10 + , T C11, T C12, T C13, T C14, T C15, T C16, T C17, T C18, T C19, T C20 + , T C21, T C22, T C23, T C24, T C25, T C26, T C27, T C28, T C29, T C30 + , T C31, T C32, T C33, T C34, T C35, T C36, T C37, T C38, T C39, T C40 + , T C41, T C42, T C43, T C44, T C45, T C46, T C47, T C48, T C49 + > +struct list50_c + : l_item< + long_<50> + , integral_c< T,C0 > + , list49_c< T,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49 > + > +{ + typedef list50_c type; + typedef T value_type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_back.hpp new file mode 100644 index 0000000..f15db34 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_back.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename Tag > struct has_push_back_impl; + +template<> +struct has_push_back_impl< aux::list_tag > +{ + template< typename Seq > struct apply + : false_ + { + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_PUSH_BACK_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_front.hpp new file mode 100644 index 0000000..ea52cbf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/push_front.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct push_front_impl< aux::list_tag > +{ + template< typename List, typename T > struct apply + { + typedef l_item< + typename next::type + , T + , typename List::type + > type; + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_PUSH_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/size.hpp new file mode 100644 index 0000000..1ea9801 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/size.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct size_impl< aux::list_tag > +{ + template< typename List > struct apply + : List::size + { + }; +}; + +}} + +#endif // BOOST_MPL_LIST_AUX_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/tag.hpp new file mode 100644 index 0000000..161de42 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/aux_/tag.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED +#define BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { namespace aux { + +struct list_tag; +struct l_iter_tag; + +}}} + +#endif // BOOST_MPL_LIST_AUX_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0.hpp new file mode 100644 index 0000000..6a8990f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_LIST_LIST0_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename Dummy = na > struct list0; + +template<> struct list0 + : l_end +{ + typedef l_end type; +}; + +}} + +#endif // BOOST_MPL_LIST_LIST0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0_c.hpp new file mode 100644 index 0000000..21136b7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list0_c.hpp @@ -0,0 +1,31 @@ + +#ifndef BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< typename T > struct list0_c + : l_end +{ + typedef l_end type; + typedef T value_type; +}; + +}} + +#endif // BOOST_MPL_LIST_LIST0_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10.hpp new file mode 100644 index 0000000..d4a2579 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST10_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST10_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list10.hpp +# include + +#else + +# 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_LIST_LIST10_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10_c.hpp new file mode 100644 index 0000000..fcc22ea --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list10_c.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST10_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list10_c.hpp +# include + +#else + +# 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_LIST_LIST10_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20.hpp new file mode 100644 index 0000000..c7412d6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST20_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST20_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list20.hpp +# include + +#else + +# 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_LIST_LIST20_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20_c.hpp new file mode 100644 index 0000000..0cbf524 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list20_c.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST20_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list20_c.hpp +# include + +#else + +# 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_LIST_LIST20_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30.hpp new file mode 100644 index 0000000..954c073 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST30_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST30_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list30.hpp +# include + +#else + +# 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_LIST_LIST30_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30_c.hpp new file mode 100644 index 0000000..5a4170c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list30_c.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST30_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list30_c.hpp +# include + +#else + +# 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_LIST_LIST30_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40.hpp new file mode 100644 index 0000000..e10f7fc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST40_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST40_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list40.hpp +# include + +#else + +# 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_LIST_LIST40_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40_c.hpp new file mode 100644 index 0000000..8b1a773 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list40_c.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST40_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list40_c.hpp +# include + +#else + +# 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_LIST_LIST40_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50.hpp new file mode 100644 index 0000000..05e96ef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST50_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST50_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list50.hpp +# include + +#else + +# 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_LIST_LIST50_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50_c.hpp new file mode 100644 index 0000000..a03a78c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list/list50_c.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED +#define BOOST_MPL_LIST_LIST50_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: list50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 list50_c.hpp +# include + +#else + +# 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_LIST_LIST50_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list_c.hpp new file mode 100644 index 0000000..1cc6757 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/list_c.hpp @@ -0,0 +1,60 @@ + +#ifndef BOOST_MPL_LIST_C_HPP_INCLUDED +#define BOOST_MPL_LIST_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: list_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include + +# include +# include +# include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_LIST_C_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c).hpp \ + /**/ +#else +# define AUX778076_LIST_C_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(list,BOOST_MPL_LIMIT_LIST_SIZE),_c)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/list/AUX778076_LIST_C_HEADER) +# undef AUX778076_LIST_C_HEADER +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER list_c.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME list_c +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_LIST_SIZE +# define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(list,n),_c) +# define AUX778076_SEQUENCE_INTEGRAL_WRAPPER +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_LIST_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/logical.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/logical.hpp new file mode 100644 index 0000000..2449568 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/logical.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_LOGICAL_HPP_INCLUDED +#define BOOST_MPL_LOGICAL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: logical.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#endif // BOOST_MPL_LOGICAL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long.hpp new file mode 100644 index 0000000..decf28a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long.hpp @@ -0,0 +1,22 @@ + +#ifndef BOOST_MPL_LONG_HPP_INCLUDED +#define BOOST_MPL_LONG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: long.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#define AUX_WRAPPER_VALUE_TYPE long +#include + +#endif // BOOST_MPL_LONG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long_fwd.hpp new file mode 100644 index 0000000..3c04e5a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/long_fwd.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_LONG_FWD_HPP_INCLUDED +#define BOOST_MPL_LONG_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: long_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< BOOST_MPL_AUX_NTTP_DECL(long, N) > struct long_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(long_) + +#endif // BOOST_MPL_LONG_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lower_bound.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lower_bound.hpp new file mode 100644 index 0000000..c3e3d73 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/lower_bound.hpp @@ -0,0 +1,143 @@ + +#ifndef BOOST_MPL_LOWER_BOUND_HPP_INCLUDED +#define BOOST_MPL_LOWER_BOUND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: lower_bound.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) +# define BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL +#endif + +#if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL) +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else +# include +# include +# include +#endif + +#include + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL) + +// agurt 23/oct/02: has a wrong complexity etc., but at least it works +// feel free to contribute a better implementation! +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + , typename Predicate = less<> + , typename pred_ = typename lambda::type + > +struct lower_bound + : find_if< Sequence, bind1< not_<>, bind2 > > +{ +}; + +#else + +namespace aux { + +template< + typename Distance + , typename Predicate + , typename T + , typename DeferredIterator + > +struct lower_bound_step_impl; + +template< + typename Distance + , typename Predicate + , typename T + , typename DeferredIterator + > +struct lower_bound_step +{ + typedef typename eval_if< + Distance + , lower_bound_step_impl + , DeferredIterator + >::type type; +}; + +template< + typename Distance + , typename Predicate + , typename T + , typename DeferredIterator + > +struct lower_bound_step_impl +{ + typedef typename divides< Distance, long_<2> >::type offset_; + typedef typename DeferredIterator::type iter_; + typedef typename advance< iter_,offset_ >::type middle_; + typedef typename apply2< + Predicate + , typename deref::type + , T + >::type cond_; + + typedef typename prior< minus< Distance, offset_> >::type step_; + typedef lower_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_; + typedef lower_bound_step< step_,Predicate,T,next > step_backward_; + typedef typename eval_if< + cond_ + , step_backward_ + , step_forward_ + >::type type; +}; + + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + , typename Predicate = less<> + > +struct lower_bound +{ + private: + typedef typename lambda::type pred_; + typedef typename size::type size_; + + public: + typedef typename aux::lower_bound_step< + size_,pred_,T,begin + >::type type; +}; + +#endif // BOOST_MPL_CFG_STRIPPED_DOWN_LOWER_BOUND_IMPL + +BOOST_MPL_AUX_NA_SPEC(2, lower_bound) + +}} + +#endif // BOOST_MPL_LOWER_BOUND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map.hpp new file mode 100644 index 0000000..d839f55 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_MAP_HPP_INCLUDED +#define BOOST_MPL_MAP_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: map.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include + +# include +# include +# include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_MAP_HEADER \ + BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE).hpp \ + /**/ +#else +# define AUX778076_MAP_HEADER \ + BOOST_PP_CAT(map, BOOST_MPL_LIMIT_MAP_SIZE)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/map/AUX778076_MAP_HEADER) +# undef AUX778076_MAP_HEADER +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER map.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME map +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_MAP_SIZE +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_MAP_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/at_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/at_impl.hpp new file mode 100644 index 0000000..b4edbb6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/at_impl.hpp @@ -0,0 +1,144 @@ + +#ifndef BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_AT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) +# include +# include +# include +# include +#endif + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + +template< typename Map, typename Key > +struct m_at +{ + typedef aux::type_wrapper key_; + typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_VALUE_BY_KEY( + Map + , BOOST_MPL_AUX_STATIC_CAST(key_*, 0) + ) ) type; +}; + +template<> +struct at_impl< aux::map_tag > +{ + template< typename Map, typename Key > struct apply + : aux::wrapped_type< typename m_at< + Map + , Key + >::type > + { + }; +}; + +// agurt 31/jan/04: two-step implementation for the sake of GCC 3.x +template< typename Map, long order > +struct item_by_order_impl +{ + typedef __typeof__( BOOST_MPL_AUX_OVERLOAD_CALL_ITEM_BY_ORDER( + Map + , BOOST_MPL_AUX_STATIC_CAST(long_*, 0) + ) ) type; +}; + +template< typename Map, long order > +struct item_by_order + : aux::wrapped_type< + typename item_by_order_impl::type + > +{ +}; + +#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename Map, long n > struct m_at +{ + typedef void_ type; +}; + +# else + +template< long n > struct m_at_impl +{ + template< typename Map > struct result_ + { + typedef void_ type; + }; +}; + +template< typename Map, long n > struct m_at +{ + typedef typename m_at_impl::result_::type type; +}; + +# endif + + +template<> +struct at_impl< aux::map_tag > +{ + template< typename Map, typename Key > struct apply + { + typedef typename m_at< Map, (x_order_impl::value - 2) >::type item_; + typedef typename eval_if< + is_void_ + , void_ + , second + >::type type; + }; +}; + +template< typename Map, long order > struct is_item_masked +{ + BOOST_STATIC_CONSTANT(bool, value = + sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( + Map + , BOOST_MPL_AUX_STATIC_CAST(long_*, 0) + ) ) == sizeof(aux::yes_tag) + ); +}; + +template< typename Map, long order > struct item_by_order +{ + typedef typename eval_if_c< + is_item_masked::value + , void_ + , m_at + >::type type; +}; + +#endif + +}} + +#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/begin_end_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/begin_end_impl.hpp new file mode 100644 index 0000000..16646ae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/begin_end_impl.hpp @@ -0,0 +1,50 @@ + +#ifndef BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct begin_impl< aux::map_tag > +{ + template< typename Map > struct apply + { + typedef typename next< typename Map::order >::type max_order_; + typedef m_iter< + Map + , next_order::value + , max_order_::value + > type; + }; +}; + +template<> +struct end_impl< aux::map_tag > +{ + template< typename Map > struct apply + { + typedef typename next< typename Map::order >::type max_order_; + typedef m_iter< Map,max_order_::value,max_order_::value > type; + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_BEGIN_END_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/clear_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/clear_impl.hpp new file mode 100644 index 0000000..9134a60 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/clear_impl.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct clear_impl< aux::map_tag > +{ + template< typename Map > struct apply + { + typedef map0<> type; + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_CLEAR_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/contains_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/contains_impl.hpp new file mode 100644 index 0000000..097a85f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/contains_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_CONTAINS_IMPL_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: contains_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +template<> +struct contains_impl< aux::map_tag > +{ + template< typename Map, typename Pair > struct apply + : is_same< + typename at_impl::apply< + Map + , typename Pair::first + >::type + , typename Pair::second + > + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_CONTAINS_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/empty_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/empty_impl.hpp new file mode 100644 index 0000000..834d0e8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/empty_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_EMPTY_IMPL_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: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct empty_impl< aux::map_tag > +{ + template< typename Map > struct apply + : not_< typename Map::size > + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_EMPTY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_impl.hpp new file mode 100644 index 0000000..0808d0c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_impl.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct erase_impl< aux::map_tag > +{ + template< + typename Map + , typename Pos + , typename unused_ + > + struct apply + : erase_key_impl + ::apply + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_key_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_key_impl.hpp new file mode 100644 index 0000000..877a3ea --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/erase_key_impl.hpp @@ -0,0 +1,53 @@ + +#ifndef BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +template<> +struct erase_key_impl< aux::map_tag > +{ + template< + typename Map + , typename Key + > + struct apply + : eval_if< + has_key_impl::apply + , eval_if< + is_same< Key,typename Map::key_ > + , base + , identity< m_mask > + > + , identity + > + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_ERASE_KEY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/has_key_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/has_key_impl.hpp new file mode 100644 index 0000000..8f0a4a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/has_key_impl.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct has_key_impl< aux::map_tag > +{ + template< typename Map, typename Key > struct apply +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + : is_not_void_< + typename at_impl + ::apply::type + > +#else + : bool_< ( x_order_impl::value > 1 ) > +#endif + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_HAS_KEY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/include_preprocessed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/include_preprocessed.hpp new file mode 100644 index 0000000..45ec536 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/include_preprocessed.hpp @@ -0,0 +1,53 @@ + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION! + +#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) +# 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/map/aux_/preprocessed/AUX778076_HEADER) +# include AUX778076_INCLUDE_STRING +# undef AUX778076_INCLUDE_STRING +#else +# include BOOST_PP_STRINGIZE(boost/mpl/map/aux_/preprocessed/AUX778076_HEADER) +#endif + +# undef AUX778076_HEADER +# undef AUX778076_INCLUDE_DIR + +#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/insert_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/insert_impl.hpp new file mode 100644 index 0000000..1f60df5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/insert_impl.hpp @@ -0,0 +1,72 @@ + +#ifndef BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: insert_impl.hpp 55751 2009-08-24 04:11:00Z agurtovoy $ +// $Date: 2009-08-24 00:11:00 -0400 (Mon, 24 Aug 2009) $ +// $Revision: 55751 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { +template< typename Map, typename Pair > +struct map_insert_impl + : if_< + contains_impl::apply + , Map +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + , m_item< + typename Pair::first + , typename Pair::second + , Map + > +#else + , m_item< + Map::order::value + , typename Pair::first + , typename Pair::second + , Map + > +#endif + > +{ +}; +} + +template<> +struct insert_impl< aux::map_tag > +{ + template< + typename Map + , typename PosOrKey + , typename KeyOrNA + > + struct apply + : aux::map_insert_impl< + Map + , typename if_na::type + > + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_INSERT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/item.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/item.hpp new file mode 100644 index 0000000..5cd91c0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/item.hpp @@ -0,0 +1,138 @@ + +#ifndef BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + +template< typename Key, typename T, typename Base > +struct m_item + : Base +{ + typedef Key key_; + typedef pair item; + typedef Base base; + + typedef typename next< typename Base::size >::type size; + typedef typename next< typename Base::order >::type order; + +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type order_tag_; +#else + typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; +#endif + + BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, m_item, aux::type_wrapper* ); + BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, m_item, order* ); + BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper* ); +}; + + +template< typename Key, typename Base > +struct m_mask + : Base +{ + typedef void_ key_; + typedef Base base; + + typedef typename prior< typename Base::size >::type size; + typedef typename x_order_impl::type key_order_; + + BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, m_mask, aux::type_wrapper* ); + BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, m_mask, key_order_* ); +}; + +#else // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES + + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< long n, typename Key, typename T, typename Base > +struct m_item; + +# else + +template< long n > +struct m_item_impl +{ + template< typename Key, typename T, typename Base > + struct result_; +}; + +template< long n, typename Key, typename T, typename Base > +struct m_item + : m_item_impl::result_ +{ +}; + + +# endif + + +template< typename Key, typename T, typename Base > +struct m_item_ + : Base +{ + typedef Key key_; + typedef Base base; + typedef m_item_ type; + + typedef typename next< typename Base::size >::type size; + typedef typename next< typename Base::order >::type order; + +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type order_tag_; +#else + typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; +#endif + + BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item_, aux::type_wrapper* ); +}; + +template< typename Key, typename Base > +struct m_mask + : Base +{ + typedef void_ key_; + typedef Base base; + + typedef typename prior< typename Base::size >::type size; + typedef typename x_order_impl::type key_order_; + + BOOST_MPL_AUX_MAP_OVERLOAD( aux::no_tag, ORDER_BY_KEY, m_mask, aux::type_wrapper* ); + BOOST_MPL_AUX_MAP_OVERLOAD( aux::yes_tag, IS_MASKED, m_mask, key_order_* ); +}; + +#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES + +}} + +#endif // BOOST_MPL_MAP_AUX_ITEM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/iterator.hpp new file mode 100644 index 0000000..9d472c7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/iterator.hpp @@ -0,0 +1,169 @@ + +#ifndef BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< + typename Map + , long order + , long max_order + > +struct next_order + : if_< + is_void_< typename item_by_order::type > + , next_order + , long_ + >::type +{ +}; + +template< + typename Map + , long max_order + > +struct next_order + : long_ +{ +}; + + +template< typename Map, long order, long max_order > +struct m_iter +{ + typedef forward_iterator_tag category; + typedef typename item_by_order::type type; +}; + +template< typename Map, long max_order > +struct m_iter +{ + typedef forward_iterator_tag category; +}; + + +template< typename Map, long order, long max_order > +struct next< m_iter > +{ + typedef m_iter< + Map + , next_order::value + , max_order + > type; +}; + +template< typename Map, long max_order > +struct next< m_iter > +{ +}; + +#else + +template< + typename Map + , BOOST_MPL_AUX_NTTP_DECL(long, order) + , BOOST_MPL_AUX_NTTP_DECL(long, max_order) + > +struct next_order; + +template< + typename Map + , BOOST_MPL_AUX_NTTP_DECL(long, order) + , BOOST_MPL_AUX_NTTP_DECL(long, max_order) + > +struct next_order_impl + : if_< + is_void_< typename item_by_order::type > + , next_order + , long_ + >::type + { + }; + +template< + typename Map + , BOOST_MPL_AUX_NTTP_DECL(long, order) + , BOOST_MPL_AUX_NTTP_DECL(long, max_order) + > +struct next_order + : if_c< + (order != max_order) + , next_order_impl + , long_ + >::type +{ +}; + + +template< + typename Map + , BOOST_MPL_AUX_NTTP_DECL(long, order) + , BOOST_MPL_AUX_NTTP_DECL(long, max_order) + > +struct m_iter; + +struct m_iter_empty_base {}; + +template< + typename Map + , BOOST_MPL_AUX_NTTP_DECL(long, order) + , BOOST_MPL_AUX_NTTP_DECL(long, max_order) + > +struct m_iter_base +{ + typedef typename item_by_order::type type; + + typedef m_iter< + Map + , next_order::value + , max_order + > next; +}; + +template< + typename Map + , BOOST_MPL_AUX_NTTP_DECL(long, order) + , BOOST_MPL_AUX_NTTP_DECL(long, max_order) + > +struct m_iter + : if_c< + (order == max_order) + , m_iter_empty_base + , m_iter_base + >::type +{ + typedef forward_iterator_tag category; +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}} + +#endif // BOOST_MPL_MAP_AUX_ITERATOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/key_type_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/key_type_impl.hpp new file mode 100644 index 0000000..01fbee2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/key_type_impl.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: key_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { +namespace mpl { + +template<> +struct key_type_impl< aux::map_tag > +{ + template< typename Map, typename T > struct apply + : first + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_KEY_TYPE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/map0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/map0.hpp new file mode 100644 index 0000000..eac5de6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/map0.hpp @@ -0,0 +1,74 @@ + +#ifndef BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: map0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) + +# define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \ + friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ +/**/ + +# define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \ + BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \ +/**/ + +#else + +# define BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T) \ + static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ +/**/ + +# define BOOST_MPL_AUX_MAP_OVERLOAD(R, f, X, T) \ + BOOST_MPL_AUX_MAP0_OVERLOAD(R, f, X, T); \ + using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \ +/**/ + +#endif + + +template< typename Dummy = na > struct map0 +{ + typedef map0 type; + typedef aux::map_tag tag; + typedef void_ key_; + typedef long_<1> order; + typedef long_<0> size; + +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper, VALUE_BY_KEY, map0<>, void const volatile* ); + BOOST_MPL_AUX_MAP0_OVERLOAD( aux::type_wrapper, ITEM_BY_ORDER, map0<>, long_<1>* ); + BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* ); +#else + BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, map0<>, void const volatile* ); + BOOST_MPL_AUX_MAP0_OVERLOAD( aux::no_tag, IS_MASKED, map0<>, void const volatile* ); +#endif +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_MAP0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/numbered.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/numbered.hpp new file mode 100644 index 0000000..8a2b0cd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/numbered.hpp @@ -0,0 +1,110 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if !defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#else + +#include +#include +#include +#include +#include + +#define i_ BOOST_PP_FRAME_ITERATION(1) + +# define AUX778076_MAP_TAIL(map, i_, P) \ + BOOST_PP_CAT(map,i_)< \ + BOOST_PP_ENUM_PARAMS(i_, P) \ + > \ + /**/ + + +#if defined(BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES) + +template< + BOOST_PP_ENUM_PARAMS(i_, typename P) + > +struct BOOST_PP_CAT(map,i_) + : m_item< + typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first + , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second + , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P) + > +{ + typedef BOOST_PP_CAT(map,i_) type; +}; + +#else // "brute force" implementation + +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename Map> +struct m_at +{ + typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type; +}; + +template< typename Key, typename T, typename Base > +struct m_item + : m_item_ +{ + typedef pair BOOST_PP_CAT(item,BOOST_PP_DEC(i_)); +}; + +# else + +template<> +struct m_at_impl +{ + template< typename Map > struct result_ + { + typedef typename Map::BOOST_PP_CAT(item,BOOST_PP_DEC(i_)) type; + }; +}; + +template<> +struct m_item_impl +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_ + { + typedef pair BOOST_PP_CAT(item,BOOST_PP_DEC(i_)); + }; +}; + +# endif + +template< + BOOST_PP_ENUM_PARAMS(i_, typename P) + > +struct BOOST_PP_CAT(map,i_) + : m_item< + i_ + , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::first + , typename BOOST_PP_CAT(P,BOOST_PP_DEC(i_))::second + , AUX778076_MAP_TAIL(map,BOOST_PP_DEC(i_),P) + > +{ + typedef BOOST_PP_CAT(map,i_) type; +}; + +#endif // BOOST_MPL_CFG_TYPEOF_BASED_SEQUENCES + +# undef AUX778076_MAP_TAIL + +#undef i_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp new file mode 100644 index 0000000..7a1e078 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map10.hpp @@ -0,0 +1,350 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map10.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template<> +struct m_at_impl<0> +{ + template< typename Map > struct result_ + { + typedef typename Map::item0 type; + }; +}; + +template<> +struct m_item_impl<1> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item0; + }; +}; + +template< + typename P0 + > +struct map1 + : m_item< + 1 + , typename P0::first + , typename P0::second + , map0< > + > +{ + typedef map1 type; +}; + +template<> +struct m_at_impl<1> +{ + template< typename Map > struct result_ + { + typedef typename Map::item1 type; + }; +}; + +template<> +struct m_item_impl<2> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item1; + }; +}; + +template< + typename P0, typename P1 + > +struct map2 + : m_item< + 2 + , typename P1::first + , typename P1::second + , map1 + > +{ + typedef map2 type; +}; + +template<> +struct m_at_impl<2> +{ + template< typename Map > struct result_ + { + typedef typename Map::item2 type; + }; +}; + +template<> +struct m_item_impl<3> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item2; + }; +}; + +template< + typename P0, typename P1, typename P2 + > +struct map3 + : m_item< + 3 + , typename P2::first + , typename P2::second + , map2< P0,P1 > + > +{ + typedef map3 type; +}; + +template<> +struct m_at_impl<3> +{ + template< typename Map > struct result_ + { + typedef typename Map::item3 type; + }; +}; + +template<> +struct m_item_impl<4> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item3; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3 + > +struct map4 + : m_item< + 4 + , typename P3::first + , typename P3::second + , map3< P0,P1,P2 > + > +{ + typedef map4 type; +}; + +template<> +struct m_at_impl<4> +{ + template< typename Map > struct result_ + { + typedef typename Map::item4 type; + }; +}; + +template<> +struct m_item_impl<5> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item4; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + > +struct map5 + : m_item< + 5 + , typename P4::first + , typename P4::second + , map4< P0,P1,P2,P3 > + > +{ + typedef map5 type; +}; + +template<> +struct m_at_impl<5> +{ + template< typename Map > struct result_ + { + typedef typename Map::item5 type; + }; +}; + +template<> +struct m_item_impl<6> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item5; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5 + > +struct map6 + : m_item< + 6 + , typename P5::first + , typename P5::second + , map5< P0,P1,P2,P3,P4 > + > +{ + typedef map6 type; +}; + +template<> +struct m_at_impl<6> +{ + template< typename Map > struct result_ + { + typedef typename Map::item6 type; + }; +}; + +template<> +struct m_item_impl<7> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item6; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6 + > +struct map7 + : m_item< + 7 + , typename P6::first + , typename P6::second + , map6< P0,P1,P2,P3,P4,P5 > + > +{ + typedef map7 type; +}; + +template<> +struct m_at_impl<7> +{ + template< typename Map > struct result_ + { + typedef typename Map::item7 type; + }; +}; + +template<> +struct m_item_impl<8> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item7; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7 + > +struct map8 + : m_item< + 8 + , typename P7::first + , typename P7::second + , map7< P0,P1,P2,P3,P4,P5,P6 > + > +{ + typedef map8 type; +}; + +template<> +struct m_at_impl<8> +{ + template< typename Map > struct result_ + { + typedef typename Map::item8 type; + }; +}; + +template<> +struct m_item_impl<9> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item8; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8 + > +struct map9 + : m_item< + 9 + , typename P8::first + , typename P8::second + , map8< P0,P1,P2,P3,P4,P5,P6,P7 > + > +{ + typedef map9 type; +}; + +template<> +struct m_at_impl<9> +{ + template< typename Map > struct result_ + { + typedef typename Map::item9 type; + }; +}; + +template<> +struct m_item_impl<10> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item9; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + > +struct map10 + : m_item< + 10 + , typename P9::first + , typename P9::second + , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > + > +{ + typedef map10 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp new file mode 100644 index 0000000..0aad604 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map20.hpp @@ -0,0 +1,370 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map20.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template<> +struct m_at_impl<10> +{ + template< typename Map > struct result_ + { + typedef typename Map::item10 type; + }; +}; + +template<> +struct m_item_impl<11> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item10; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10 + > +struct map11 + : m_item< + 11 + , typename P10::first + , typename P10::second + , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > + > +{ + typedef map11 type; +}; + +template<> +struct m_at_impl<11> +{ + template< typename Map > struct result_ + { + typedef typename Map::item11 type; + }; +}; + +template<> +struct m_item_impl<12> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item11; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11 + > +struct map12 + : m_item< + 12 + , typename P11::first + , typename P11::second + , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > + > +{ + typedef map12 type; +}; + +template<> +struct m_at_impl<12> +{ + template< typename Map > struct result_ + { + typedef typename Map::item12 type; + }; +}; + +template<> +struct m_item_impl<13> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item12; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12 + > +struct map13 + : m_item< + 13 + , typename P12::first + , typename P12::second + , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > + > +{ + typedef map13 type; +}; + +template<> +struct m_at_impl<13> +{ + template< typename Map > struct result_ + { + typedef typename Map::item13 type; + }; +}; + +template<> +struct m_item_impl<14> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item13; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13 + > +struct map14 + : m_item< + 14 + , typename P13::first + , typename P13::second + , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > + > +{ + typedef map14 type; +}; + +template<> +struct m_at_impl<14> +{ + template< typename Map > struct result_ + { + typedef typename Map::item14 type; + }; +}; + +template<> +struct m_item_impl<15> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item14; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + > +struct map15 + : m_item< + 15 + , typename P14::first + , typename P14::second + , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > + > +{ + typedef map15 type; +}; + +template<> +struct m_at_impl<15> +{ + template< typename Map > struct result_ + { + typedef typename Map::item15 type; + }; +}; + +template<> +struct m_item_impl<16> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item15; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15 + > +struct map16 + : m_item< + 16 + , typename P15::first + , typename P15::second + , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > + > +{ + typedef map16 type; +}; + +template<> +struct m_at_impl<16> +{ + template< typename Map > struct result_ + { + typedef typename Map::item16 type; + }; +}; + +template<> +struct m_item_impl<17> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item16; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16 + > +struct map17 + : m_item< + 17 + , typename P16::first + , typename P16::second + , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > + > +{ + typedef map17 type; +}; + +template<> +struct m_at_impl<17> +{ + template< typename Map > struct result_ + { + typedef typename Map::item17 type; + }; +}; + +template<> +struct m_item_impl<18> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item17; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17 + > +struct map18 + : m_item< + 18 + , typename P17::first + , typename P17::second + , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > + > +{ + typedef map18 type; +}; + +template<> +struct m_at_impl<18> +{ + template< typename Map > struct result_ + { + typedef typename Map::item18 type; + }; +}; + +template<> +struct m_item_impl<19> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item18; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18 + > +struct map19 + : m_item< + 19 + , typename P18::first + , typename P18::second + , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > + > +{ + typedef map19 type; +}; + +template<> +struct m_at_impl<19> +{ + template< typename Map > struct result_ + { + typedef typename Map::item19 type; + }; +}; + +template<> +struct m_item_impl<20> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item19; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + > +struct map20 + : m_item< + 20 + , typename P19::first + , typename P19::second + , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > + > +{ + typedef map20 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp new file mode 100644 index 0000000..c4d8c9a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map30.hpp @@ -0,0 +1,390 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map30.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template<> +struct m_at_impl<20> +{ + template< typename Map > struct result_ + { + typedef typename Map::item20 type; + }; +}; + +template<> +struct m_item_impl<21> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item20; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20 + > +struct map21 + : m_item< + 21 + , typename P20::first + , typename P20::second + , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > + > +{ + typedef map21 type; +}; + +template<> +struct m_at_impl<21> +{ + template< typename Map > struct result_ + { + typedef typename Map::item21 type; + }; +}; + +template<> +struct m_item_impl<22> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item21; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21 + > +struct map22 + : m_item< + 22 + , typename P21::first + , typename P21::second + , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > + > +{ + typedef map22 type; +}; + +template<> +struct m_at_impl<22> +{ + template< typename Map > struct result_ + { + typedef typename Map::item22 type; + }; +}; + +template<> +struct m_item_impl<23> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item22; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22 + > +struct map23 + : m_item< + 23 + , typename P22::first + , typename P22::second + , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > + > +{ + typedef map23 type; +}; + +template<> +struct m_at_impl<23> +{ + template< typename Map > struct result_ + { + typedef typename Map::item23 type; + }; +}; + +template<> +struct m_item_impl<24> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item23; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23 + > +struct map24 + : m_item< + 24 + , typename P23::first + , typename P23::second + , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > + > +{ + typedef map24 type; +}; + +template<> +struct m_at_impl<24> +{ + template< typename Map > struct result_ + { + typedef typename Map::item24 type; + }; +}; + +template<> +struct m_item_impl<25> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item24; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + > +struct map25 + : m_item< + 25 + , typename P24::first + , typename P24::second + , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > + > +{ + typedef map25 type; +}; + +template<> +struct m_at_impl<25> +{ + template< typename Map > struct result_ + { + typedef typename Map::item25 type; + }; +}; + +template<> +struct m_item_impl<26> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item25; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25 + > +struct map26 + : m_item< + 26 + , typename P25::first + , typename P25::second + , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > + > +{ + typedef map26 type; +}; + +template<> +struct m_at_impl<26> +{ + template< typename Map > struct result_ + { + typedef typename Map::item26 type; + }; +}; + +template<> +struct m_item_impl<27> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item26; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26 + > +struct map27 + : m_item< + 27 + , typename P26::first + , typename P26::second + , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > + > +{ + typedef map27 type; +}; + +template<> +struct m_at_impl<27> +{ + template< typename Map > struct result_ + { + typedef typename Map::item27 type; + }; +}; + +template<> +struct m_item_impl<28> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item27; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27 + > +struct map28 + : m_item< + 28 + , typename P27::first + , typename P27::second + , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > + > +{ + typedef map28 type; +}; + +template<> +struct m_at_impl<28> +{ + template< typename Map > struct result_ + { + typedef typename Map::item28 type; + }; +}; + +template<> +struct m_item_impl<29> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item28; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28 + > +struct map29 + : m_item< + 29 + , typename P28::first + , typename P28::second + , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > + > +{ + typedef map29 type; +}; + +template<> +struct m_at_impl<29> +{ + template< typename Map > struct result_ + { + typedef typename Map::item29 type; + }; +}; + +template<> +struct m_item_impl<30> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item29; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + > +struct map30 + : m_item< + 30 + , typename P29::first + , typename P29::second + , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > + > +{ + typedef map30 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp new file mode 100644 index 0000000..2f06a29 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map40.hpp @@ -0,0 +1,410 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map40.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template<> +struct m_at_impl<30> +{ + template< typename Map > struct result_ + { + typedef typename Map::item30 type; + }; +}; + +template<> +struct m_item_impl<31> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item30; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30 + > +struct map31 + : m_item< + 31 + , typename P30::first + , typename P30::second + , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > + > +{ + typedef map31 type; +}; + +template<> +struct m_at_impl<31> +{ + template< typename Map > struct result_ + { + typedef typename Map::item31 type; + }; +}; + +template<> +struct m_item_impl<32> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item31; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31 + > +struct map32 + : m_item< + 32 + , typename P31::first + , typename P31::second + , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > + > +{ + typedef map32 type; +}; + +template<> +struct m_at_impl<32> +{ + template< typename Map > struct result_ + { + typedef typename Map::item32 type; + }; +}; + +template<> +struct m_item_impl<33> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item32; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32 + > +struct map33 + : m_item< + 33 + , typename P32::first + , typename P32::second + , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > + > +{ + typedef map33 type; +}; + +template<> +struct m_at_impl<33> +{ + template< typename Map > struct result_ + { + typedef typename Map::item33 type; + }; +}; + +template<> +struct m_item_impl<34> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item33; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33 + > +struct map34 + : m_item< + 34 + , typename P33::first + , typename P33::second + , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > + > +{ + typedef map34 type; +}; + +template<> +struct m_at_impl<34> +{ + template< typename Map > struct result_ + { + typedef typename Map::item34 type; + }; +}; + +template<> +struct m_item_impl<35> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item34; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + > +struct map35 + : m_item< + 35 + , typename P34::first + , typename P34::second + , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > + > +{ + typedef map35 type; +}; + +template<> +struct m_at_impl<35> +{ + template< typename Map > struct result_ + { + typedef typename Map::item35 type; + }; +}; + +template<> +struct m_item_impl<36> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item35; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35 + > +struct map36 + : m_item< + 36 + , typename P35::first + , typename P35::second + , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > + > +{ + typedef map36 type; +}; + +template<> +struct m_at_impl<36> +{ + template< typename Map > struct result_ + { + typedef typename Map::item36 type; + }; +}; + +template<> +struct m_item_impl<37> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item36; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36 + > +struct map37 + : m_item< + 37 + , typename P36::first + , typename P36::second + , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > + > +{ + typedef map37 type; +}; + +template<> +struct m_at_impl<37> +{ + template< typename Map > struct result_ + { + typedef typename Map::item37 type; + }; +}; + +template<> +struct m_item_impl<38> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item37; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37 + > +struct map38 + : m_item< + 38 + , typename P37::first + , typename P37::second + , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > + > +{ + typedef map38 type; +}; + +template<> +struct m_at_impl<38> +{ + template< typename Map > struct result_ + { + typedef typename Map::item38 type; + }; +}; + +template<> +struct m_item_impl<39> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item38; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38 + > +struct map39 + : m_item< + 39 + , typename P38::first + , typename P38::second + , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > + > +{ + typedef map39 type; +}; + +template<> +struct m_at_impl<39> +{ + template< typename Map > struct result_ + { + typedef typename Map::item39 type; + }; +}; + +template<> +struct m_item_impl<40> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item39; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + > +struct map40 + : m_item< + 40 + , typename P39::first + , typename P39::second + , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > + > +{ + typedef map40 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp new file mode 100644 index 0000000..ae5973e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/no_ctps/map50.hpp @@ -0,0 +1,430 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map50.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template<> +struct m_at_impl<40> +{ + template< typename Map > struct result_ + { + typedef typename Map::item40 type; + }; +}; + +template<> +struct m_item_impl<41> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item40; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40 + > +struct map41 + : m_item< + 41 + , typename P40::first + , typename P40::second + , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > + > +{ + typedef map41 type; +}; + +template<> +struct m_at_impl<41> +{ + template< typename Map > struct result_ + { + typedef typename Map::item41 type; + }; +}; + +template<> +struct m_item_impl<42> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item41; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41 + > +struct map42 + : m_item< + 42 + , typename P41::first + , typename P41::second + , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > + > +{ + typedef map42 type; +}; + +template<> +struct m_at_impl<42> +{ + template< typename Map > struct result_ + { + typedef typename Map::item42 type; + }; +}; + +template<> +struct m_item_impl<43> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item42; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42 + > +struct map43 + : m_item< + 43 + , typename P42::first + , typename P42::second + , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > + > +{ + typedef map43 type; +}; + +template<> +struct m_at_impl<43> +{ + template< typename Map > struct result_ + { + typedef typename Map::item43 type; + }; +}; + +template<> +struct m_item_impl<44> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item43; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43 + > +struct map44 + : m_item< + 44 + , typename P43::first + , typename P43::second + , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > + > +{ + typedef map44 type; +}; + +template<> +struct m_at_impl<44> +{ + template< typename Map > struct result_ + { + typedef typename Map::item44 type; + }; +}; + +template<> +struct m_item_impl<45> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item44; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + > +struct map45 + : m_item< + 45 + , typename P44::first + , typename P44::second + , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > + > +{ + typedef map45 type; +}; + +template<> +struct m_at_impl<45> +{ + template< typename Map > struct result_ + { + typedef typename Map::item45 type; + }; +}; + +template<> +struct m_item_impl<46> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item45; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45 + > +struct map46 + : m_item< + 46 + , typename P45::first + , typename P45::second + , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > + > +{ + typedef map46 type; +}; + +template<> +struct m_at_impl<46> +{ + template< typename Map > struct result_ + { + typedef typename Map::item46 type; + }; +}; + +template<> +struct m_item_impl<47> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item46; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46 + > +struct map47 + : m_item< + 47 + , typename P46::first + , typename P46::second + , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > + > +{ + typedef map47 type; +}; + +template<> +struct m_at_impl<47> +{ + template< typename Map > struct result_ + { + typedef typename Map::item47 type; + }; +}; + +template<> +struct m_item_impl<48> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item47; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47 + > +struct map48 + : m_item< + 48 + , typename P47::first + , typename P47::second + , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > + > +{ + typedef map48 type; +}; + +template<> +struct m_at_impl<48> +{ + template< typename Map > struct result_ + { + typedef typename Map::item48 type; + }; +}; + +template<> +struct m_item_impl<49> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item48; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47, typename P48 + > +struct map49 + : m_item< + 49 + , typename P48::first + , typename P48::second + , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > + > +{ + typedef map49 type; +}; + +template<> +struct m_at_impl<49> +{ + template< typename Map > struct result_ + { + typedef typename Map::item49 type; + }; +}; + +template<> +struct m_item_impl<50> +{ + template< typename Key, typename T, typename Base > struct result_ + : m_item_< Key,T,Base > + { + typedef pair< Key,T > item49; + }; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47, typename P48, typename P49 + > +struct map50 + : m_item< + 50 + , typename P49::first + , typename P49::second + , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > + > +{ + typedef map50 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp new file mode 100644 index 0000000..b8c5f61 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map10.hpp @@ -0,0 +1,290 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map10.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename Map> +struct m_at< Map,0 > +{ + typedef typename Map::item0 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 1,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item0; +}; + +template< + typename P0 + > +struct map1 + : m_item< + 1 + , typename P0::first + , typename P0::second + , map0< > + > +{ + typedef map1 type; +}; + +template< typename Map> +struct m_at< Map,1 > +{ + typedef typename Map::item1 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 2,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item1; +}; + +template< + typename P0, typename P1 + > +struct map2 + : m_item< + 2 + , typename P1::first + , typename P1::second + , map1 + > +{ + typedef map2 type; +}; + +template< typename Map> +struct m_at< Map,2 > +{ + typedef typename Map::item2 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 3,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item2; +}; + +template< + typename P0, typename P1, typename P2 + > +struct map3 + : m_item< + 3 + , typename P2::first + , typename P2::second + , map2< P0,P1 > + > +{ + typedef map3 type; +}; + +template< typename Map> +struct m_at< Map,3 > +{ + typedef typename Map::item3 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 4,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item3; +}; + +template< + typename P0, typename P1, typename P2, typename P3 + > +struct map4 + : m_item< + 4 + , typename P3::first + , typename P3::second + , map3< P0,P1,P2 > + > +{ + typedef map4 type; +}; + +template< typename Map> +struct m_at< Map,4 > +{ + typedef typename Map::item4 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 5,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item4; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + > +struct map5 + : m_item< + 5 + , typename P4::first + , typename P4::second + , map4< P0,P1,P2,P3 > + > +{ + typedef map5 type; +}; + +template< typename Map> +struct m_at< Map,5 > +{ + typedef typename Map::item5 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 6,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item5; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5 + > +struct map6 + : m_item< + 6 + , typename P5::first + , typename P5::second + , map5< P0,P1,P2,P3,P4 > + > +{ + typedef map6 type; +}; + +template< typename Map> +struct m_at< Map,6 > +{ + typedef typename Map::item6 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 7,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item6; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6 + > +struct map7 + : m_item< + 7 + , typename P6::first + , typename P6::second + , map6< P0,P1,P2,P3,P4,P5 > + > +{ + typedef map7 type; +}; + +template< typename Map> +struct m_at< Map,7 > +{ + typedef typename Map::item7 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 8,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item7; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7 + > +struct map8 + : m_item< + 8 + , typename P7::first + , typename P7::second + , map7< P0,P1,P2,P3,P4,P5,P6 > + > +{ + typedef map8 type; +}; + +template< typename Map> +struct m_at< Map,8 > +{ + typedef typename Map::item8 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 9,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item8; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8 + > +struct map9 + : m_item< + 9 + , typename P8::first + , typename P8::second + , map8< P0,P1,P2,P3,P4,P5,P6,P7 > + > +{ + typedef map9 type; +}; + +template< typename Map> +struct m_at< Map,9 > +{ + typedef typename Map::item9 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 10,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item9; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + > +struct map10 + : m_item< + 10 + , typename P9::first + , typename P9::second + , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > + > +{ + typedef map10 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp new file mode 100644 index 0000000..c12e437 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map20.hpp @@ -0,0 +1,310 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map20.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename Map> +struct m_at< Map,10 > +{ + typedef typename Map::item10 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 11,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item10; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10 + > +struct map11 + : m_item< + 11 + , typename P10::first + , typename P10::second + , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > + > +{ + typedef map11 type; +}; + +template< typename Map> +struct m_at< Map,11 > +{ + typedef typename Map::item11 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 12,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item11; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11 + > +struct map12 + : m_item< + 12 + , typename P11::first + , typename P11::second + , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > + > +{ + typedef map12 type; +}; + +template< typename Map> +struct m_at< Map,12 > +{ + typedef typename Map::item12 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 13,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item12; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12 + > +struct map13 + : m_item< + 13 + , typename P12::first + , typename P12::second + , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > + > +{ + typedef map13 type; +}; + +template< typename Map> +struct m_at< Map,13 > +{ + typedef typename Map::item13 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 14,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item13; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13 + > +struct map14 + : m_item< + 14 + , typename P13::first + , typename P13::second + , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > + > +{ + typedef map14 type; +}; + +template< typename Map> +struct m_at< Map,14 > +{ + typedef typename Map::item14 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 15,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item14; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + > +struct map15 + : m_item< + 15 + , typename P14::first + , typename P14::second + , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > + > +{ + typedef map15 type; +}; + +template< typename Map> +struct m_at< Map,15 > +{ + typedef typename Map::item15 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 16,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item15; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15 + > +struct map16 + : m_item< + 16 + , typename P15::first + , typename P15::second + , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > + > +{ + typedef map16 type; +}; + +template< typename Map> +struct m_at< Map,16 > +{ + typedef typename Map::item16 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 17,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item16; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16 + > +struct map17 + : m_item< + 17 + , typename P16::first + , typename P16::second + , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > + > +{ + typedef map17 type; +}; + +template< typename Map> +struct m_at< Map,17 > +{ + typedef typename Map::item17 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 18,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item17; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17 + > +struct map18 + : m_item< + 18 + , typename P17::first + , typename P17::second + , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > + > +{ + typedef map18 type; +}; + +template< typename Map> +struct m_at< Map,18 > +{ + typedef typename Map::item18 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 19,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item18; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18 + > +struct map19 + : m_item< + 19 + , typename P18::first + , typename P18::second + , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > + > +{ + typedef map19 type; +}; + +template< typename Map> +struct m_at< Map,19 > +{ + typedef typename Map::item19 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 20,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item19; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + > +struct map20 + : m_item< + 20 + , typename P19::first + , typename P19::second + , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > + > +{ + typedef map20 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp new file mode 100644 index 0000000..3144307 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map30.hpp @@ -0,0 +1,330 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map30.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename Map> +struct m_at< Map,20 > +{ + typedef typename Map::item20 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 21,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item20; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20 + > +struct map21 + : m_item< + 21 + , typename P20::first + , typename P20::second + , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > + > +{ + typedef map21 type; +}; + +template< typename Map> +struct m_at< Map,21 > +{ + typedef typename Map::item21 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 22,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item21; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21 + > +struct map22 + : m_item< + 22 + , typename P21::first + , typename P21::second + , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > + > +{ + typedef map22 type; +}; + +template< typename Map> +struct m_at< Map,22 > +{ + typedef typename Map::item22 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 23,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item22; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22 + > +struct map23 + : m_item< + 23 + , typename P22::first + , typename P22::second + , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > + > +{ + typedef map23 type; +}; + +template< typename Map> +struct m_at< Map,23 > +{ + typedef typename Map::item23 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 24,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item23; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23 + > +struct map24 + : m_item< + 24 + , typename P23::first + , typename P23::second + , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > + > +{ + typedef map24 type; +}; + +template< typename Map> +struct m_at< Map,24 > +{ + typedef typename Map::item24 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 25,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item24; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + > +struct map25 + : m_item< + 25 + , typename P24::first + , typename P24::second + , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > + > +{ + typedef map25 type; +}; + +template< typename Map> +struct m_at< Map,25 > +{ + typedef typename Map::item25 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 26,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item25; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25 + > +struct map26 + : m_item< + 26 + , typename P25::first + , typename P25::second + , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > + > +{ + typedef map26 type; +}; + +template< typename Map> +struct m_at< Map,26 > +{ + typedef typename Map::item26 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 27,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item26; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26 + > +struct map27 + : m_item< + 27 + , typename P26::first + , typename P26::second + , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > + > +{ + typedef map27 type; +}; + +template< typename Map> +struct m_at< Map,27 > +{ + typedef typename Map::item27 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 28,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item27; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27 + > +struct map28 + : m_item< + 28 + , typename P27::first + , typename P27::second + , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > + > +{ + typedef map28 type; +}; + +template< typename Map> +struct m_at< Map,28 > +{ + typedef typename Map::item28 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 29,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item28; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28 + > +struct map29 + : m_item< + 29 + , typename P28::first + , typename P28::second + , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > + > +{ + typedef map29 type; +}; + +template< typename Map> +struct m_at< Map,29 > +{ + typedef typename Map::item29 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 30,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item29; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + > +struct map30 + : m_item< + 30 + , typename P29::first + , typename P29::second + , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > + > +{ + typedef map30 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp new file mode 100644 index 0000000..4cca80e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map40.hpp @@ -0,0 +1,350 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map40.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename Map> +struct m_at< Map,30 > +{ + typedef typename Map::item30 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 31,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item30; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30 + > +struct map31 + : m_item< + 31 + , typename P30::first + , typename P30::second + , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > + > +{ + typedef map31 type; +}; + +template< typename Map> +struct m_at< Map,31 > +{ + typedef typename Map::item31 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 32,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item31; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31 + > +struct map32 + : m_item< + 32 + , typename P31::first + , typename P31::second + , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > + > +{ + typedef map32 type; +}; + +template< typename Map> +struct m_at< Map,32 > +{ + typedef typename Map::item32 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 33,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item32; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32 + > +struct map33 + : m_item< + 33 + , typename P32::first + , typename P32::second + , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > + > +{ + typedef map33 type; +}; + +template< typename Map> +struct m_at< Map,33 > +{ + typedef typename Map::item33 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 34,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item33; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33 + > +struct map34 + : m_item< + 34 + , typename P33::first + , typename P33::second + , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > + > +{ + typedef map34 type; +}; + +template< typename Map> +struct m_at< Map,34 > +{ + typedef typename Map::item34 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 35,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item34; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + > +struct map35 + : m_item< + 35 + , typename P34::first + , typename P34::second + , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > + > +{ + typedef map35 type; +}; + +template< typename Map> +struct m_at< Map,35 > +{ + typedef typename Map::item35 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 36,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item35; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35 + > +struct map36 + : m_item< + 36 + , typename P35::first + , typename P35::second + , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > + > +{ + typedef map36 type; +}; + +template< typename Map> +struct m_at< Map,36 > +{ + typedef typename Map::item36 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 37,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item36; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36 + > +struct map37 + : m_item< + 37 + , typename P36::first + , typename P36::second + , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > + > +{ + typedef map37 type; +}; + +template< typename Map> +struct m_at< Map,37 > +{ + typedef typename Map::item37 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 38,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item37; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37 + > +struct map38 + : m_item< + 38 + , typename P37::first + , typename P37::second + , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > + > +{ + typedef map38 type; +}; + +template< typename Map> +struct m_at< Map,38 > +{ + typedef typename Map::item38 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 39,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item38; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38 + > +struct map39 + : m_item< + 39 + , typename P38::first + , typename P38::second + , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > + > +{ + typedef map39 type; +}; + +template< typename Map> +struct m_at< Map,39 > +{ + typedef typename Map::item39 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 40,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item39; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + > +struct map40 + : m_item< + 40 + , typename P39::first + , typename P39::second + , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > + > +{ + typedef map40 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp new file mode 100644 index 0000000..cce51a0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/plain/map50.hpp @@ -0,0 +1,370 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map50.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< typename Map> +struct m_at< Map,40 > +{ + typedef typename Map::item40 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 41,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item40; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40 + > +struct map41 + : m_item< + 41 + , typename P40::first + , typename P40::second + , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > + > +{ + typedef map41 type; +}; + +template< typename Map> +struct m_at< Map,41 > +{ + typedef typename Map::item41 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 42,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item41; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41 + > +struct map42 + : m_item< + 42 + , typename P41::first + , typename P41::second + , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > + > +{ + typedef map42 type; +}; + +template< typename Map> +struct m_at< Map,42 > +{ + typedef typename Map::item42 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 43,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item42; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42 + > +struct map43 + : m_item< + 43 + , typename P42::first + , typename P42::second + , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > + > +{ + typedef map43 type; +}; + +template< typename Map> +struct m_at< Map,43 > +{ + typedef typename Map::item43 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 44,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item43; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43 + > +struct map44 + : m_item< + 44 + , typename P43::first + , typename P43::second + , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > + > +{ + typedef map44 type; +}; + +template< typename Map> +struct m_at< Map,44 > +{ + typedef typename Map::item44 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 45,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item44; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + > +struct map45 + : m_item< + 45 + , typename P44::first + , typename P44::second + , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > + > +{ + typedef map45 type; +}; + +template< typename Map> +struct m_at< Map,45 > +{ + typedef typename Map::item45 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 46,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item45; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45 + > +struct map46 + : m_item< + 46 + , typename P45::first + , typename P45::second + , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > + > +{ + typedef map46 type; +}; + +template< typename Map> +struct m_at< Map,46 > +{ + typedef typename Map::item46 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 47,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item46; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46 + > +struct map47 + : m_item< + 47 + , typename P46::first + , typename P46::second + , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > + > +{ + typedef map47 type; +}; + +template< typename Map> +struct m_at< Map,47 > +{ + typedef typename Map::item47 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 48,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item47; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47 + > +struct map48 + : m_item< + 48 + , typename P47::first + , typename P47::second + , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > + > +{ + typedef map48 type; +}; + +template< typename Map> +struct m_at< Map,48 > +{ + typedef typename Map::item48 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 49,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item48; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47, typename P48 + > +struct map49 + : m_item< + 49 + , typename P48::first + , typename P48::second + , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > + > +{ + typedef map49 type; +}; + +template< typename Map> +struct m_at< Map,49 > +{ + typedef typename Map::item49 type; +}; + +template< typename Key, typename T, typename Base > +struct m_item< 50,Key,T,Base > + : m_item_< Key,T,Base > +{ + typedef pair< Key,T > item49; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47, typename P48, typename P49 + > +struct map50 + : m_item< + 50 + , typename P49::first + , typename P49::second + , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > + > +{ + typedef map50 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp new file mode 100644 index 0000000..3663ecb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map10.hpp @@ -0,0 +1,150 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map10.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename P0 + > +struct map1 + : m_item< + typename P0::first + , typename P0::second + , map0< > + > +{ + typedef map1 type; +}; + +template< + typename P0, typename P1 + > +struct map2 + : m_item< + typename P1::first + , typename P1::second + , map1 + > +{ + typedef map2 type; +}; + +template< + typename P0, typename P1, typename P2 + > +struct map3 + : m_item< + typename P2::first + , typename P2::second + , map2< P0,P1 > + > +{ + typedef map3 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3 + > +struct map4 + : m_item< + typename P3::first + , typename P3::second + , map3< P0,P1,P2 > + > +{ + typedef map4 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + > +struct map5 + : m_item< + typename P4::first + , typename P4::second + , map4< P0,P1,P2,P3 > + > +{ + typedef map5 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5 + > +struct map6 + : m_item< + typename P5::first + , typename P5::second + , map5< P0,P1,P2,P3,P4 > + > +{ + typedef map6 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6 + > +struct map7 + : m_item< + typename P6::first + , typename P6::second + , map6< P0,P1,P2,P3,P4,P5 > + > +{ + typedef map7 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7 + > +struct map8 + : m_item< + typename P7::first + , typename P7::second + , map7< P0,P1,P2,P3,P4,P5,P6 > + > +{ + typedef map8 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8 + > +struct map9 + : m_item< + typename P8::first + , typename P8::second + , map8< P0,P1,P2,P3,P4,P5,P6,P7 > + > +{ + typedef map9 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + > +struct map10 + : m_item< + typename P9::first + , typename P9::second + , map9< P0,P1,P2,P3,P4,P5,P6,P7,P8 > + > +{ + typedef map10 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp new file mode 100644 index 0000000..ecc5b1c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map20.hpp @@ -0,0 +1,170 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map20.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10 + > +struct map11 + : m_item< + typename P10::first + , typename P10::second + , map10< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9 > + > +{ + typedef map11 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11 + > +struct map12 + : m_item< + typename P11::first + , typename P11::second + , map11< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10 > + > +{ + typedef map12 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12 + > +struct map13 + : m_item< + typename P12::first + , typename P12::second + , map12< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11 > + > +{ + typedef map13 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13 + > +struct map14 + : m_item< + typename P13::first + , typename P13::second + , map13< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 > + > +{ + typedef map14 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + > +struct map15 + : m_item< + typename P14::first + , typename P14::second + , map14< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13 > + > +{ + typedef map15 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15 + > +struct map16 + : m_item< + typename P15::first + , typename P15::second + , map15< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14 > + > +{ + typedef map16 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16 + > +struct map17 + : m_item< + typename P16::first + , typename P16::second + , map16< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15 > + > +{ + typedef map17 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17 + > +struct map18 + : m_item< + typename P17::first + , typename P17::second + , map17< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16 > + > +{ + typedef map18 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18 + > +struct map19 + : m_item< + typename P18::first + , typename P18::second + , map18< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17 > + > +{ + typedef map19 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + > +struct map20 + : m_item< + typename P19::first + , typename P19::second + , map19< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18 > + > +{ + typedef map20 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp new file mode 100644 index 0000000..940f2dc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map30.hpp @@ -0,0 +1,190 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map30.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20 + > +struct map21 + : m_item< + typename P20::first + , typename P20::second + , map20< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19 > + > +{ + typedef map21 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21 + > +struct map22 + : m_item< + typename P21::first + , typename P21::second + , map21< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20 > + > +{ + typedef map22 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22 + > +struct map23 + : m_item< + typename P22::first + , typename P22::second + , map22< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21 > + > +{ + typedef map23 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23 + > +struct map24 + : m_item< + typename P23::first + , typename P23::second + , map23< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22 > + > +{ + typedef map24 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + > +struct map25 + : m_item< + typename P24::first + , typename P24::second + , map24< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23 > + > +{ + typedef map25 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25 + > +struct map26 + : m_item< + typename P25::first + , typename P25::second + , map25< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24 > + > +{ + typedef map26 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26 + > +struct map27 + : m_item< + typename P26::first + , typename P26::second + , map26< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25 > + > +{ + typedef map27 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27 + > +struct map28 + : m_item< + typename P27::first + , typename P27::second + , map27< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26 > + > +{ + typedef map28 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28 + > +struct map29 + : m_item< + typename P28::first + , typename P28::second + , map28< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27 > + > +{ + typedef map29 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + > +struct map30 + : m_item< + typename P29::first + , typename P29::second + , map29< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28 > + > +{ + typedef map30 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp new file mode 100644 index 0000000..85ec204 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map40.hpp @@ -0,0 +1,210 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map40.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30 + > +struct map31 + : m_item< + typename P30::first + , typename P30::second + , map30< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29 > + > +{ + typedef map31 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31 + > +struct map32 + : m_item< + typename P31::first + , typename P31::second + , map31< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30 > + > +{ + typedef map32 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32 + > +struct map33 + : m_item< + typename P32::first + , typename P32::second + , map32< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31 > + > +{ + typedef map33 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33 + > +struct map34 + : m_item< + typename P33::first + , typename P33::second + , map33< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32 > + > +{ + typedef map34 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + > +struct map35 + : m_item< + typename P34::first + , typename P34::second + , map34< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33 > + > +{ + typedef map35 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35 + > +struct map36 + : m_item< + typename P35::first + , typename P35::second + , map35< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34 > + > +{ + typedef map36 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36 + > +struct map37 + : m_item< + typename P36::first + , typename P36::second + , map36< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35 > + > +{ + typedef map37 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37 + > +struct map38 + : m_item< + typename P37::first + , typename P37::second + , map37< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36 > + > +{ + typedef map38 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38 + > +struct map39 + : m_item< + typename P38::first + , typename P38::second + , map38< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37 > + > +{ + typedef map39 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + > +struct map40 + : m_item< + typename P39::first + , typename P39::second + , map39< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38 > + > +{ + typedef map40 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp new file mode 100644 index 0000000..9d00edb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/preprocessed/typeof_based/map50.hpp @@ -0,0 +1,230 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/map/map50.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40 + > +struct map41 + : m_item< + typename P40::first + , typename P40::second + , map40< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39 > + > +{ + typedef map41 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41 + > +struct map42 + : m_item< + typename P41::first + , typename P41::second + , map41< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40 > + > +{ + typedef map42 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42 + > +struct map43 + : m_item< + typename P42::first + , typename P42::second + , map42< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41 > + > +{ + typedef map43 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43 + > +struct map44 + : m_item< + typename P43::first + , typename P43::second + , map43< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42 > + > +{ + typedef map44 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + > +struct map45 + : m_item< + typename P44::first + , typename P44::second + , map44< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43 > + > +{ + typedef map45 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45 + > +struct map46 + : m_item< + typename P45::first + , typename P45::second + , map45< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44 > + > +{ + typedef map46 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46 + > +struct map47 + : m_item< + typename P46::first + , typename P46::second + , map46< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45 > + > +{ + typedef map47 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47 + > +struct map48 + : m_item< + typename P47::first + , typename P47::second + , map47< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46 > + > +{ + typedef map48 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47, typename P48 + > +struct map49 + : m_item< + typename P48::first + , typename P48::second + , map48< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47 > + > +{ + typedef map49 type; +}; + +template< + typename P0, typename P1, typename P2, typename P3, typename P4 + , typename P5, typename P6, typename P7, typename P8, typename P9 + , typename P10, typename P11, typename P12, typename P13, typename P14 + , typename P15, typename P16, typename P17, typename P18, typename P19 + , typename P20, typename P21, typename P22, typename P23, typename P24 + , typename P25, typename P26, typename P27, typename P28, typename P29 + , typename P30, typename P31, typename P32, typename P33, typename P34 + , typename P35, typename P36, typename P37, typename P38, typename P39 + , typename P40, typename P41, typename P42, typename P43, typename P44 + , typename P45, typename P46, typename P47, typename P48, typename P49 + > +struct map50 + : m_item< + typename P49::first + , typename P49::second + , map49< P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48 > + > +{ + typedef map50 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/size_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/size_impl.hpp new file mode 100644 index 0000000..cb056ea --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/size_impl.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_SIZE_IMPL_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: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct size_impl< aux::map_tag > +{ + template< typename Map > struct apply + : Map::size + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_SIZE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/tag.hpp new file mode 100644 index 0000000..81ec0bd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/tag.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { namespace aux { + +struct map_tag; + +}}} + +#endif // BOOST_MPL_MAP_AUX_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/value_type_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/value_type_impl.hpp new file mode 100644 index 0000000..0616caa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/aux_/value_type_impl.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED +#define BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: value_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { +namespace mpl { + +template<> +struct value_type_impl< aux::map_tag > +{ + template< typename Map, typename T > struct apply + : second + { + }; +}; + +}} + +#endif // BOOST_MPL_MAP_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map0.hpp new file mode 100644 index 0000000..1590ce4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map0.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_MAP_MAP0_HPP_INCLUDED +#define BOOST_MPL_MAP_MAP0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: map0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +//#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif // BOOST_MPL_MAP_MAP0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map10.hpp new file mode 100644 index 0000000..f8fed8a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map10.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_MAP_MAP10_HPP_INCLUDED +#define BOOST_MPL_MAP_MAP10_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: map10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 map10.hpp +# include + +#else + +# 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_MAP_MAP10_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map20.hpp new file mode 100644 index 0000000..0725737 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map20.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_MAP_MAP20_HPP_INCLUDED +#define BOOST_MPL_MAP_MAP20_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: map20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 map20.hpp +# include + +#else + +# 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_MAP_MAP20_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map30.hpp new file mode 100644 index 0000000..feece35 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map30.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_MAP_MAP30_HPP_INCLUDED +#define BOOST_MPL_MAP_MAP30_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: map30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 map30.hpp +# include + +#else + +# 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_MAP_MAP30_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map40.hpp new file mode 100644 index 0000000..7d55c1a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map40.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_MAP_MAP40_HPP_INCLUDED +#define BOOST_MPL_MAP_MAP40_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: map40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 map40.hpp +# include + +#else + +# 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_MAP_MAP40_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map50.hpp new file mode 100644 index 0000000..1539a6a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/map/map50.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_MAP_MAP50_HPP_INCLUDED +#define BOOST_MPL_MAP_MAP50_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: map50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 map50.hpp +# include + +#else + +# 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_MAP_MAP50_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/fixed_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/fixed_c.hpp new file mode 100644 index 0000000..6c31e22 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/fixed_c.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_FIXED_C_HPP_INCLUDED +#define BOOST_MPL_FIXED_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: fixed_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { + +template< + long IntegerPart + , unsigned long FractionPart + > +struct fixed_c +{ + BOOST_STATIC_CONSTANT(long, integer_part = IntegerPart); + BOOST_STATIC_CONSTANT(unsigned long, fraction_part = FractionPart); + typedef fixed_c type; + + fixed_c() {} +}; + +}} + +#endif // BOOST_MPL_FIXED_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/is_even.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/is_even.hpp new file mode 100644 index 0000000..60e94cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/is_even.hpp @@ -0,0 +1,54 @@ + +#ifndef BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED +#define BOOST_MPL_MATH_IS_EVEN_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: is_even.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +namespace aux +{ + template + struct is_even_base + { + enum { value = (N::value % 2) == 0 }; + typedef bool_ type; + }; +} +#endif + +template< + typename BOOST_MPL_AUX_NA_PARAM(N) + > +struct is_even +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + : aux::is_even_base::type +#else + : bool_<((N::value % 2) == 0)> +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_even,(N)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, is_even) + +}} + +#endif // BOOST_MPL_MATH_IS_EVEN_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/rational_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/rational_c.hpp new file mode 100644 index 0000000..51b9a03 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/math/rational_c.hpp @@ -0,0 +1,37 @@ + +#ifndef BOOST_MPL_RATIONAL_C_HPP_INCLUDED +#define BOOST_MPL_RATIONAL_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: rational_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +namespace boost { namespace mpl { + +template< + typename IntegerType + , IntegerType N + , IntegerType D = 1 + > +struct rational_c +{ + BOOST_STATIC_CONSTANT(IntegerType, numerator = N); + BOOST_STATIC_CONSTANT(IntegerType, denominator = D); + + typedef rational_c type; + rational_c() {} +}; + +}} + +#endif // BOOST_MPL_RATIONAL_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max.hpp new file mode 100644 index 0000000..587e4e2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_MAX_HPP_INCLUDED +#define BOOST_MPL_MAX_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: max.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_MAX_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max_element.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max_element.hpp new file mode 100644 index 0000000..f3d0ddc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/max_element.hpp @@ -0,0 +1,72 @@ + +#ifndef BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED +#define BOOST_MPL_MAX_ELEMENT_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: max_element.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_COMMON_NAME_WKND(max_element) + +namespace aux { + +template< typename Predicate > +struct select_max +{ + template< typename OldIterator, typename Iterator > + struct apply + { + typedef typename apply2< + Predicate + , typename deref::type + , typename deref::type + >::type condition_; + + typedef typename if_< + condition_ + , Iterator + , OldIterator + >::type type; + }; +}; + +} // namespace aux + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename Predicate = less<_,_> + > +struct max_element + : iter_fold< + Sequence + , typename begin::type + , protect< aux::select_max > + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(1, max_element) + +}} + +#endif // BOOST_MPL_MAX_ELEMENT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min.hpp new file mode 100644 index 0000000..cfe153b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_MIN_HPP_INCLUDED +#define BOOST_MPL_MIN_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: min.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_MIN_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_element.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_element.hpp new file mode 100644 index 0000000..fdaff77 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_element.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED +#define BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED + +// Copyright David Abrahams 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: min_element.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_COMMON_NAME_WKND(min_element) + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename Predicate = less<_,_> + > +struct min_element + : max_element< + Sequence + , mpl::not_ + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(1, min_element) + +}} + +#endif // BOOST_MPL_MIN_ELEMENT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_max.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_max.hpp new file mode 100644 index 0000000..c1a6a65 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/min_max.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_MIN_MAX_HPP_INCLUDED +#define BOOST_MPL_MIN_MAX_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: min_max.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct min + : if_< less,N1,N2 > +{ +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N1) + , typename BOOST_MPL_AUX_NA_PARAM(N2) + > +struct max + : if_< less,N2,N1 > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(2, min) +BOOST_MPL_AUX_NA_SPEC(2, max) + +}} + +#endif // BOOST_MPL_MIN_MAX_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/minus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/minus.hpp new file mode 100644 index 0000000..a09bcbc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/minus.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_MINUS_HPP_INCLUDED +#define BOOST_MPL_MINUS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: minus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME minus +#define AUX778076_OP_TOKEN - +#include + +#endif // BOOST_MPL_MINUS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/modulus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/modulus.hpp new file mode 100644 index 0000000..5d10fdb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/modulus.hpp @@ -0,0 +1,22 @@ + +#ifndef BOOST_MPL_MODULUS_HPP_INCLUDED +#define BOOST_MPL_MODULUS_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: modulus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME modulus +#define AUX778076_OP_TOKEN % +#define AUX778076_OP_ARITY 2 +#include + +#endif // BOOST_MPL_MODULUS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiplies.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiplies.hpp new file mode 100644 index 0000000..c2e76bd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiplies.hpp @@ -0,0 +1,53 @@ + +#ifndef BOOST_MPL_MULTIPLIES_HPP_INCLUDED +#define BOOST_MPL_MULTIPLIES_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: multiplies.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/count_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/count_impl.hpp new file mode 100644 index 0000000..d5dfd80 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/count_impl.hpp @@ -0,0 +1,82 @@ + +#ifndef BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED +#define BOOST_MPL_MULTISET_AUX_COUNT_IMPL_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: count_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# include +# include +#endif + +namespace boost { namespace mpl { + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +namespace aux { +template< typename S, typename U > +struct multiset_count_impl + : int_< sizeof(S::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) - 1 > +{ +}; + +template< typename S, typename U > +struct multiset_count_ref_impl +{ + typedef U (* u_)(); + typedef int_< sizeof(S::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) - 1 > type_; + BOOST_STATIC_CONSTANT(int, value = type_::value); + typedef type_ type; +}; +} + +template<> +struct count_impl< aux::multiset_tag > +{ + template< typename Set, typename Key > struct apply + : if_< + is_reference + , aux::multiset_count_ref_impl + , aux::multiset_count_impl + >::type + { + }; +}; + +#else + +template<> +struct count_impl< aux::multiset_tag > +{ + template< typename Set, typename Key > struct apply + { + enum { msvc71_wknd_ = sizeof(Set::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*,0))) - 1 }; + typedef int_< msvc71_wknd_ > type; + BOOST_STATIC_CONSTANT(int, value = msvc71_wknd_); + }; +}; + +#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +}} + +#endif // BOOST_MPL_MULTISET_AUX_COUNT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/insert_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/insert_impl.hpp new file mode 100644 index 0000000..b2a3277 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/insert_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED +#define BOOST_MPL_MULTISET_AUX_INSERT_IMPL_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: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct insert_impl< aux::multiset_tag > +{ + template< typename Set, typename Key, typename unused_ > struct apply + { + typedef ms_item type; + }; +}; + +}} + +#endif // BOOST_MPL_MULTISET_AUX_INSERT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/item.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/item.hpp new file mode 100644 index 0000000..f2ce095 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/item.hpp @@ -0,0 +1,114 @@ + +#ifndef BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED +#define BOOST_MPL_MULTISET_AUX_ITEM_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: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +# include +# include +# include +#endif + + +namespace boost { namespace mpl { + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +template< typename T, typename Base > +struct ms_item +{ + typedef aux::multiset_tag tag; + + template< typename U > struct prior_count + { + enum { msvc70_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(U*,0))) }; + typedef int_< msvc70_wknd_ > count_; + typedef typename eval_if< is_same, next, count_ >::type c_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type type; +#else + typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value]; +#endif + }; + + template< typename U > struct prior_ref_count + { + typedef U (* u_)(); + enum { msvc70_wknd_ = sizeof(Base::ref_key_count(BOOST_MPL_AUX_STATIC_CAST(u_,0))) }; + typedef int_< msvc70_wknd_ > count_; + typedef typename eval_if< is_same, next, count_ >::type c_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type type; +#else + typedef char (&type)[BOOST_MPL_AUX_MSVC_VALUE_WKND(c_)::value]; +#endif + }; + + template< typename U > + static typename prior_count::type key_count(U*); + + template< typename U > + static typename prior_ref_count::type ref_key_count(U (*)()); +}; + +#else // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +namespace aux { +template< typename U, typename Base > +struct prior_key_count +{ + enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*,0))) }; + typedef int_< msvc71_wknd_ > count_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type type; +#else + typedef char (&type)[count_::value]; +#endif +}; +} + +template< typename T, typename Base > +struct ms_item +{ + typedef aux::multiset_tag tag; + + enum { msvc71_wknd_ = sizeof(Base::key_count(BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*,0))) + 1 }; + typedef int_< msvc71_wknd_ > count_; +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + static + typename aux::weighted_tag< BOOST_MPL_AUX_VALUE_WKND(count_)::value >::type + key_count(aux::type_wrapper*); +#else + static char (& key_count(aux::type_wrapper*) )[count_::value]; +#endif + + template< typename U > + static typename aux::prior_key_count::type key_count(aux::type_wrapper*); +}; + +#endif // BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + +}} + +#endif // BOOST_MPL_MULTISET_AUX_ITEM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/multiset0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/multiset0.hpp new file mode 100644 index 0000000..eed9c95 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/multiset0.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED +#define BOOST_MPL_MULTISET_AUX_MULTISET0_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: multiset0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< int dummy_ = 0 > +struct multiset0 +{ + typedef aux::multiset_tag tag; + + typedef int_<1> count_; + static char (& key_count(...) )[count_::value]; + static char (& ref_key_count(...) )[count_::value]; +}; + +}} + +#endif // BOOST_MPL_MULTISET_AUX_MULTISET0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/tag.hpp new file mode 100644 index 0000000..ae02649 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/aux_/tag.hpp @@ -0,0 +1,23 @@ + +#ifndef BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED +#define BOOST_MPL_MULTISET_AUX_TAG_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: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { namespace aux { + +struct multiset_tag; + +}}} + +#endif // BOOST_MPL_MULTISET_AUX_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/multiset0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/multiset0.hpp new file mode 100644 index 0000000..3eb2537 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/multiset/multiset0.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED +#define BOOST_MPL_MULTISET_MULTISET0_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: multiset0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +//#include +#include +#include +//#include +//#include +//#include +#include +#include +#include + +#endif // BOOST_MPL_MULTISET_MULTISET0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/negate.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/negate.hpp new file mode 100644 index 0000000..b1fdec4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/negate.hpp @@ -0,0 +1,81 @@ + +#ifndef BOOST_MPL_NEGATE_HPP_INCLUDED +#define BOOST_MPL_NEGATE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: negate.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename Tag > struct negate_impl; + +template< typename T > struct negate_tag +{ + typedef typename T::tag type; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(N) + > +struct negate +#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) + : negate_impl< + typename negate_tag::type + >::template apply::type +#else + : aux::msvc_eti_base< typename apply_wrap1< + negate_impl< typename negate_tag::type > + , N + >::type >::type +#endif +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, negate, (N)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, negate) + + +#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) +namespace aux { +template< typename T, T n > struct negate_wknd +{ + BOOST_STATIC_CONSTANT(T, value = -n); + typedef integral_c type; +}; +} +#endif + +template<> +struct negate_impl +{ +#if defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) + template< typename N > struct apply + : aux::negate_wknd< typename N::value_type, N::value > +#else + template< typename N > struct apply + : integral_c< typename N::value_type, (-N::value) > +#endif + { + }; +}; + +}} + +#endif // BOOST_MPL_NEGATE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next.hpp new file mode 100644 index 0000000..426159a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_NEXT_HPP_INCLUDED +#define BOOST_MPL_NEXT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: next.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_NEXT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next_prior.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next_prior.hpp new file mode 100644 index 0000000..6a6d037 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/next_prior.hpp @@ -0,0 +1,49 @@ + +#ifndef BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED +#define BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: next_prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_COMMON_NAME_WKND(next) +BOOST_MPL_AUX_COMMON_NAME_WKND(prior) + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct next +{ + typedef typename T::next type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,next,(T)) +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct prior +{ + typedef typename T::prior type; + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,prior,(T)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, next) +BOOST_MPL_AUX_NA_SPEC(1, prior) + +}} + +#endif // BOOST_MPL_NEXT_PRIOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not.hpp new file mode 100644 index 0000000..6a9c282 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not.hpp @@ -0,0 +1,51 @@ + +#ifndef BOOST_MPL_NOT_HPP_INCLUDED +#define BOOST_MPL_NOT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: not.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< BOOST_MPL_AUX_NTTP_DECL(long, C_) > // 'long' is intentional here +struct not_impl + : bool_ +{ +}; + +} // namespace aux + + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct not_ + : aux::not_impl< + BOOST_MPL_AUX_NESTED_TYPE_WKND(T)::value + > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,not_,(T)) +}; + +BOOST_MPL_AUX_NA_SPEC(1,not_) + +}} + +#endif // BOOST_MPL_NOT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not_equal_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not_equal_to.hpp new file mode 100644 index 0000000..420c647 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/not_equal_to.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED +#define BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: not_equal_to.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME not_equal_to +#define AUX778076_OP_TOKEN != +#include + +#endif // BOOST_MPL_NOT_EQUAL_TO_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/numeric_cast.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/numeric_cast.hpp new file mode 100644 index 0000000..d065016 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/numeric_cast.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED +#define BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numeric_cast.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +// agurt 21/sep/04: portability macro for the sake of MSVC 6.x-7.0; +// resolves conflicts with 'boost::numeric_cast' function template. +// use it in your own code _only_ if you care about compatibility with +// these outdated compilers! +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) ) +# define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast_ +#else +# define BOOST_MPL_AUX_NUMERIC_CAST numeric_cast +#endif + +namespace boost { namespace mpl { + +// no default implementation; the definition is needed to make MSVC happy + +template< typename SourceTag, typename TargetTag > struct BOOST_MPL_AUX_NUMERIC_CAST +{ + template< typename N > struct apply; +}; + +}} + +#endif // BOOST_MPL_NUMERIC_CAST_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/or.hpp new file mode 100644 index 0000000..45fa215 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/or.hpp @@ -0,0 +1,61 @@ + +#ifndef BOOST_MPL_OR_HPP_INCLUDED +#define BOOST_MPL_OR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: or.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# include +# include +# include +# include +# include + +// agurt, 19/may/04: workaround a conflict with header's +// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)' +// has to be checked in a separate condition, otherwise GCC complains +// about 'or' being an alternative token +#if defined(_MSC_VER) +#ifndef __GCCXML__ +#if defined(or) +# pragma push_macro("or") +# undef or +# define or(x) +#endif +#endif +#endif + +# define BOOST_MPL_PREPROCESSED_HEADER or.hpp +# include + +#if defined(_MSC_VER) +#ifndef __GCCXML__ +#if defined(or) +# pragma pop_macro("or") +#endif +#endif +#endif + +#else + +# define AUX778076_OP_NAME or_ +# define AUX778076_OP_VALUE1 true +# define AUX778076_OP_VALUE2 false +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_OR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order.hpp new file mode 100644 index 0000000..86a2027 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_ORDER_HPP_INCLUDED +#define BOOST_MPL_ORDER_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: order.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) + , typename BOOST_MPL_AUX_NA_PARAM(Key) + > +struct order + : order_impl< typename sequence_tag::type > + ::template apply +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,order,(AssociativeSequence,Key)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, order) + +}} + +#endif // BOOST_MPL_ORDER_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order_fwd.hpp new file mode 100644 index 0000000..6a26391 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/order_fwd.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_ORDER_FWD_HPP_INCLUDED +#define BOOST_MPL_ORDER_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: order_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct order_impl; +template< typename AssociativeSequence, typename Key > struct order; + +}} + +#endif // BOOST_MPL_ORDER_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair.hpp new file mode 100644 index 0000000..3d53542 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair.hpp @@ -0,0 +1,70 @@ + +#ifndef BOOST_MPL_PAIR_HPP_INCLUDED +#define BOOST_MPL_PAIR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pair.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T1) + , typename BOOST_MPL_AUX_NA_PARAM(T2) + > +struct pair +{ + typedef pair type; + typedef T1 first; + typedef T2 second; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,pair,(T1,T2)) +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(P) + > +struct first +{ +#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) + typedef typename P::first type; +#else + typedef typename aux::msvc_eti_base

    ::first type; +#endif + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,first,(P)) +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(P) + > +struct second +{ +#if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) + typedef typename P::second type; +#else + typedef typename aux::msvc_eti_base

    EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 DISTORTION LIMITED SENDER

    implemented using syndrome-trellis codes

    clc; clear;
    +
    +n = 1e+5; % use n pixels
    +h = 12;   % use STCs with constraint_height = 10. Try values between 7 and 12.
    +
    +cover = int32(256*rand(1,n));  % generate random cover pixels
    +msg = uint8(rand(1,n));        % generate n random message bits, only some portion will be utilized
    +
    +costs = zeros(3, n, 'single'); % for each pixel, assign cost of being changed
    +costs(:,1) = [1 0 1];          % cost of changing the first cover pixel by -1, 0, +1
    +costs([1 3],2:end) = 1;        % cost can be defined arbitrarily
    +
    +l = 0.08;           % expected coding loss
    +target_dist = 1000; % target distortion in the distortion-limited sender
    +[d stego n_msg_bits l] = stc_pm1_dls_embed(cover, costs, msg, target_dist, l, h);
    +extr_msg = stc_ml_extract(stego, n_msg_bits, h);
    +
    +if all(extr_msg==msg(1:sum(n_msg_bits)))
    +    fprintf('Message was embedded and extracted correctly.\n');
    +    fprintf('  %d bits embedded => %d bits in 2LSB and %d bits in LSB.\n', ...
    +        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2));
    +    fprintf('  achieved coding_loss = %4.2f%%\n', l*100);
    +    fprintf('  distortion caused by embedding = %g required = %g\n', d, target_dist);
    +end
    +
    Message was embedded and extracted correctly.
    +  7771 bits embedded => 3545 bits in 2LSB and 4226 bits in LSB.
    +  achieved coding_loss = 11.66%
    +  distortion caused by embedding = 963 required = 1000
    +
    \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_pls.html b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_pls.html new file mode 100755 index 0000000..e4608bd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm1_pls.html @@ -0,0 +1,119 @@ + + + + + EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 PAYLOAD LIMITED SENDER

    EXAMPLE OF MULTI-LAYERED EMBEDDING - +-1 PAYLOAD LIMITED SENDER

    implemented using syndrome-trellis codes

    clc; clear;
    +
    +n = 1e+5; % use n pixels
    +m = n/2;  % embed m bits
    +h = 10;   % use STCs with constraint_height = 10. Try values between 7 and 12.
    +
    +cover = int32(256*rand(1,n));  % generate random cover pixels
    +msg = uint8(rand(1,m));        % generate m random message bits
    +
    +costs = zeros(3, n, 'single'); % for each pixel, assign cost of being changed
    +costs(:,1) = [1e+5 0 1];       % cost of changing the first cover pixel by -1, 0, +1
    +costs([1 3],2:end) = 1;        % cost can be defined arbitrarily
    +
    +[d stego n_msg_bits l] = stc_pm1_pls_embed(cover, costs, msg, h);
    +extr_msg = stc_ml_extract(stego, n_msg_bits, h);
    +
    +if all(extr_msg==msg)
    +    fprintf('Message was embedded and extracted correctly.\n');
    +    fprintf('  %d bits embedded => %d bits in 2LSB and %d bits in LSB.\n', ...
    +        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2));
    +    fprintf('  achieved coding_loss = %4.2f%%\n', l*100);
    +end
    +
    Message was embedded and extracted correctly.
    +  50000 bits embedded => 24890 bits in 2LSB and 25110 bits in LSB.
    +  achieved coding_loss = 7.90%
    +
    \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_dls.html b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_dls.html new file mode 100755 index 0000000..0b483fb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_dls.html @@ -0,0 +1,130 @@ + + + + + EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 DISTORTION LIMITED SENDER

    EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 DISTORTION LIMITED SENDER

    implemented using syndrome-trellis codes

    clc; clear;
    +
    +n = 1e+5; % use n pixels
    +m = n/2;  % embed m bits
    +h = 10;   % use STCs with constraint_height = 10. Try values between 7 and 12.
    +
    +cover = int32(256*rand(1,n));  % generate random cover pixels
    +msg = uint8(rand(1,m));        % generate m random message bits
    +
    +% cost can be defined arbitrarily, this is just a simple example
    +costs = zeros(5, n, 'single'); % for each pixel, assign cost of being changed
    +costs(:,1) = [1e+5 100 0 1 5]; % cost of changing the first cover pixel by -2, -1, 0, +1, +2
    +costs([1 5],2:end) = 4;        % cost of changing pixels by -2 and +2
    +costs([2 4],2:end) = 1;        % cost of changing pixels by -1 and +1
    +
    +l = 0.08;           % expected coding loss
    +target_dist = 1000; % target distortion in the distortion-limited sender
    +[d stego n_msg_bits l] = stc_pm2_dls_embed(cover, costs, msg, target_dist, l, h);
    +extr_msg = stc_ml_extract(stego, n_msg_bits, h);
    +
    +if all(extr_msg==msg(1:sum(n_msg_bits)))
    +    fprintf('Message was embedded and extracted correctly.\n');
    +    fprintf('  %d bits embedded => %d bits in 3LSB, %d bits in 2LSB and %d bits in LSB.\n', ...
    +        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2), n_msg_bits(3));
    +    fprintf('  achieved coding_loss = %4.2f%%\n', l*100);
    +    fprintf('  distortion caused by embedding = %g required = %g\n', d, target_dist);
    +end
    +
    Message was embedded and extracted correctly.
    +  7771 bits embedded => 3546 bits in 3LSB, 2110 bits in 2LSB and 2115 bits in LSB.
    +  achieved coding_loss = 13.83%
    +  distortion caused by embedding = 992 required = 1000
    +
    \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_pls.html b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_pls.html new file mode 100755 index 0000000..2a0e053 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_pm2_pls.html @@ -0,0 +1,123 @@ + + + + + EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 PAYLOAD LIMITED SENDER

    EXAMPLE OF MULTI-LAYERED EMBEDDING - +-2 PAYLOAD LIMITED SENDER

    implemented using syndrome-trellis codes

    clc; clear;
    +
    +n = 1e+5; % use n pixels
    +m = n/2;  % embed m bits
    +h = 10;   % use STCs with constraint_height = 10. Try values between 7 and 12.
    +
    +cover = int32(256*rand(1,n));  % generate random cover pixels
    +msg = uint8(rand(1,m));        % generate m random message bits
    +
    +% cost can be defined arbitrarily, this is just a simple example
    +costs = zeros(5, n, 'single'); % for each pixel, assign cost of being changed
    +costs(:,1) = [1e+5 100 0 1 5]; % cost of changing the first cover pixel by -2, -1, 0, +1, +2
    +costs([1 5],2:end) = 4;        % cost of changing pixels by -2 and +2
    +costs([2 4],2:end) = 1;        % cost of changing pixels by -1 and +1
    +
    +[d stego n_msg_bits l] = stc_pm2_pls_embed(cover, costs, msg, h);
    +extr_msg = stc_ml_extract(stego, n_msg_bits, h);
    +
    +if all(extr_msg==msg)
    +    fprintf('Message was embedded and extracted correctly.\n');
    +    fprintf('  %d bits embedded => %d bits in 3LSB, %d bits in 2LSB and %d bits in LSB.\n', ...
    +        sum(n_msg_bits), n_msg_bits(1), n_msg_bits(2), n_msg_bits(3));
    +    fprintf('  achieved coding_loss = %4.2f%%\n', l*100);
    +end
    +
    Message was embedded and extracted correctly.
    +  50000 bits embedded => 24856 bits in 3LSB, 12648 bits in 2LSB and 12496 bits in LSB.
    +  achieved coding_loss = 8.26%
    +
    \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_stc.html b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_stc.html new file mode 100755 index 0000000..b9cba7d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/html/ex_stc.html @@ -0,0 +1,122 @@ + + + + + ex_stc
    clc; clear;
    +
    +n = 10^3;    % size of the cover
    +alpha = 0.5; % relative payload
    +h = 8;      % constraint height - default is 10 - drives the complexity/quality tradeof
    +
    +cover = uint8(rand(n, 1));
    +m = round(n * alpha); % number of message bits
    +message = uint8(rand(m, 1));
    +profile = ones(n, 1);
    +
    +tic;
    +[dist, stego] = stc_embed(cover, message, profile, h); % embed message
    +
    +fprintf('distortion per cover element = %f\n', dist / n);
    +fprintf('        embedding efficiency = %f\n', alpha / (dist / n));
    +fprintf('                  throughput = %1.1f Kbits/sec\n', n / toc() / 1024);
    +
    +message2 = stc_extract(stego, m, h); % extract message
    +if all(message == message2)
    +    disp('Message has been extracted correctly.');
    +else
    +    error('Some error occured in the extraction process.');
    +end
    +
    distortion per cover element = 0.119000
    +        embedding efficiency = 4.201681
    +                  throughput = 473.1 Kbits/sec
    +Message has been extracted correctly.
    +
    \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.m new file mode 100755 index 0000000..5ea9371 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.m @@ -0,0 +1,41 @@ +%STC_EMBED Embeds message into cover bitstring using Syndrome-Trellis Codes. +% +% [D Y] = STC_EMBED(X, MSG, COSTS) embeds message bit-string MSG into +% bit-string X. Cost of changing X(i) is COSTS(i). Use Syndrome-Trellis +% Codes with constraint height 10. Outputs stego bit-stream Y and total +% distortion D. +% +% [D Y] = STC_EMBED(X, MSG, COSTS, H) same as above, but uses STC of +% constraint height H. +% +% Input format: +% X, MSG - vectors of type uint8 +% COSTS - vector of type double +% H - scalar between 6 and 15 (a higher number means bigger +% efficiency but longer embedding time), default is 10. +% +% Use STC_EXTRACT(Y, H) to read the message. +% +% Author: Jan Judas +% +% STC Toolbox website: http://dde.binghamton.edu/filler/stc +% +% References: +% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in +% Steganography using Syndrome-Trellis Codes", submitted to IEEE +% Transactions on Information Forensics and Security, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf +% +% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in +% Steganography using Trellis-Coded Quantization", Proc. SPIE, +% Electronic Imaging, Media Forensics and Security XII, San Jose, CA, +% January 18-20, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf +% +% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions +% With Non-Binary Embedding Operation in Steganography", 2nd IEEE +% Workshop on Information Forensics and Security, December 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf +% +% See also STC_EXTRACT, STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED, +% STC_PM2_PLS_EMBED, STC_PM2_DLS_EMBED. diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_embed.mexa64 new file mode 100755 index 0000000000000000000000000000000000000000..78b6b741688828dd3106939e7145b66b1bea8722 GIT binary patch literal 32696 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 O7dXei>ALM3uKx?&aNT79 literal 0 HcmV?d00001 diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.m new file mode 100755 index 0000000..8ddc2b0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.m @@ -0,0 +1,38 @@ +%STC_EXTRACT Extracts message from stego bit-string produced by STC_EMBED. +% +% MSG = STC_EXTRACT(Y, M) extracts M message bits into MSG from stego +% bit-string Y. Use Syndrome-Trellis Codes with constraint height 10. +% +% MSG = STC_EXTRACT(Y, M, H) same as above, but uses STC of constraint +% height H. H must be the same as used for embedding. +% +% Input format: +% Y - vectors of type uint8 +% H - scalar between 6 and 15 (a higher number means bigger efficiency +% but longer embedding time), default is 10. +% +% Use STC_EMBED(...) to embed the message. +% +% Author: Jan Judas +% +% STC Toolbox website: http://dde.binghamton.edu/filler/stc +% +% References: +% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in +% Steganography using Syndrome-Trellis Codes", submitted to IEEE +% Transactions on Information Forensics and Security, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf +% +% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in +% Steganography using Trellis-Coded Quantization", Proc. SPIE, +% Electronic Imaging, Media Forensics and Security XII, San Jose, CA, +% January 18-20, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf +% +% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions +% With Non-Binary Embedding Operation in Steganography", 2nd IEEE +% Workshop on Information Forensics and Security, December 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf +% +% See also STC_EMBED, STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED, +% STC_PM2_PLS_EMBED, STC_PM2_DLS_EMBED. diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_extract.mexa64 new file mode 100755 index 0000000000000000000000000000000000000000..d1afc1fc867ae9a73f09c50be8e0f8b9e45cbf78 GIT binary patch literal 25708 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 K5!e4Kfd31xIz(sy literal 0 HcmV?d00001 diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.m new file mode 100755 index 0000000..4437ee3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.m @@ -0,0 +1,32 @@ +%STC_ML_EXTRACT Extracts message embedded by ML-STCs. +% MSG = STC_ML_EXTRACT(Y, NUM_MSG_BITS) extracts the embedded message +% from stego sequence Y. Array NUM_MSG_BITS describes how many bits to +% extract from each layer of LSB. Uses default constraint height h=10. +% +% MSG = STC_ML_EXTRACT(Y, NUM_MSG_BITS, H) does the same as above, but +% constraint height of the STC is H. +% +% Author: Tomas Filler email: tomas.filler@gmail.com +% www: http://dde.binghamton.edu/filler +% +% STC Toolbox website: http://dde.binghamton.edu/filler/stc +% +% References: +% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in +% Steganography using Syndrome-Trellis Codes", submitted to IEEE +% Transactions on Information Forensics and Security, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf +% +% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in +% Steganography using Trellis-Coded Quantization", Proc. SPIE, +% Electronic Imaging, Media Forensics and Security XII, San Jose, CA, +% January 18-20, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf +% +% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions +% With Non-Binary Embedding Operation in Steganography", 2nd IEEE +% Workshop on Information Forensics and Security, December 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf +% +% See also STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED, STC_PM2_PLS_EMBED +% STC_PM2_DLS_EMBED, STC_EMBED, STC_EXTRACT. diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_ml_extract.mexa64 new file mode 100755 index 0000000000000000000000000000000000000000..b3597a14f23323b6fa5b1770abbbcdcef016d25c GIT binary patch literal 74254 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

    ::second type; +#endif + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,second,(P)) +}; + + +BOOST_MPL_AUX_NA_SPEC_NO_ETI(2, pair) +BOOST_MPL_AUX_NA_SPEC(1, first) +BOOST_MPL_AUX_NA_SPEC(1, second) + +}} + +#endif // BOOST_MPL_PAIR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair_view.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair_view.hpp new file mode 100644 index 0000000..378d476 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pair_view.hpp @@ -0,0 +1,169 @@ + +#ifndef BOOST_MPL_PAIR_VIEW_HPP_INCLUDED +#define BOOST_MPL_PAIR_VIEW_HPP_INCLUDED + +// Copyright David Abrahams 2003-2004 +// 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: pair_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { +struct pair_iter_tag; + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename Iter1, typename Iter2, typename Category > +struct pair_iter; + +template< typename Category > struct prior_pair_iter +{ + template< typename Iter1, typename Iter2 > struct apply + { + typedef typename mpl::prior::type i1_; + typedef typename mpl::prior::type i2_; + typedef pair_iter type; + }; +}; + +template<> struct prior_pair_iter +{ + template< typename Iter1, typename Iter2 > struct apply + { + typedef pair_iter type; + }; +}; + +#endif +} + +template< + typename Iter1 + , typename Iter2 + , typename Category + > +struct pair_iter +{ + typedef aux::pair_iter_tag tag; + typedef Category category; + typedef Iter1 first; + typedef Iter2 second; + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + typedef pair< + typename deref::type + , typename deref::type + > type; + + typedef typename mpl::next::type i1_; + typedef typename mpl::next::type i2_; + typedef pair_iter next; + + typedef apply_wrap2< aux::prior_pair_iter,Iter1,Iter2 >::type prior; +#endif +}; + + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename Iter1, typename Iter2, typename C > +struct deref< pair_iter > +{ + typedef pair< + typename deref::type + , typename deref::type + > type; +}; + +template< typename Iter1, typename Iter2, typename C > +struct next< pair_iter > +{ + typedef typename mpl::next::type i1_; + typedef typename mpl::next::type i2_; + typedef pair_iter type; +}; + +template< typename Iter1, typename Iter2, typename C > +struct prior< pair_iter > +{ + typedef typename mpl::prior::type i1_; + typedef typename mpl::prior::type i2_; + typedef pair_iter type; +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + + +template<> struct advance_impl +{ + template< typename Iter, typename D > struct apply + { + typedef typename mpl::advance< typename Iter::first,D >::type i1_; + typedef typename mpl::advance< typename Iter::second,D >::type i2_; + typedef pair_iter type; + }; +}; + +template<> struct distance_impl +{ + template< typename Iter1, typename Iter2 > struct apply + { + // agurt, 10/nov/04: MSVC 6.5 ICE-s on forwarding + typedef typename mpl::distance< + typename first::type + , typename first::type + >::type type; + }; +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence1) + , typename BOOST_MPL_AUX_NA_PARAM(Sequence2) + > +struct pair_view +{ + typedef nested_begin_end_tag tag; + + typedef typename begin::type iter1_; + typedef typename begin::type iter2_; + typedef typename min< + typename iterator_category::type + , typename iterator_category::type + >::type category_; + + typedef pair_iter begin; + + typedef pair_iter< + typename end::type + , typename end::type + , category_ + > end; +}; + +BOOST_MPL_AUX_NA_SPEC(2, pair_view) + +}} + +#endif // BOOST_MPL_PAIR_VIEW_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/partition.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/partition.hpp new file mode 100644 index 0000000..96595bf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/partition.hpp @@ -0,0 +1,53 @@ + +#ifndef BOOST_MPL_PARTITION_HPP_INCLUDED +#define BOOST_MPL_PARTITION_HPP_INCLUDED + +// Copyright Eric Friedman 2002-2003 +// 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: partition.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template < + typename Sequence + , typename Pred + , typename In1 + , typename In2 + > +struct partition_impl + : stable_partition_impl +{ +}; + +template < + typename Sequence + , typename Pred + , typename In1 + , typename In2 + > +struct reverse_partition_impl + : reverse_stable_partition_impl +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, partition) + +}} + +#endif // BOOST_MPL_PARTITION_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/placeholders.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/placeholders.hpp new file mode 100644 index 0000000..acd3071 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/placeholders.hpp @@ -0,0 +1,100 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED +#define BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Peter Dimov 2001-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: placeholders.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include + +# if !defined(BOOST_MPL_CFG_NO_ADL_BARRIER_NAMESPACE) +# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) \ + using ::BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::type; \ + /**/ +# else +# define BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(type) /**/ +# endif + +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER placeholders.hpp +# include + +#else + +# include +# include +# include +# include + +// watch out for GNU gettext users, who #define _(x) +#if !defined(_) || defined(BOOST_MPL_CFG_NO_UNNAMED_PLACEHOLDER_SUPPORT) +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN +typedef arg<-1> _; +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(_) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::_; +} + +}} +#endif + +/// agurt, 17/mar/02: one more placeholder for the last 'apply#' +/// specialization +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY + 1, )) +#include BOOST_PP_ITERATE() + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_PLACEHOLDERS_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +typedef arg BOOST_PP_CAT(_,i_); + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_ARG_ADL_BARRIER_DECL(BOOST_PP_CAT(_,i_)) + +namespace placeholders { +using BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE::BOOST_PP_CAT(_,i_); +} + +}} + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/plus.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/plus.hpp new file mode 100644 index 0000000..2061c0c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/plus.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_PLUS_HPP_INCLUDED +#define BOOST_MPL_PLUS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: plus.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME plus +#define AUX778076_OP_TOKEN + +#include + +#endif // BOOST_MPL_PLUS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back.hpp new file mode 100644 index 0000000..a698870 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_POP_BACK_HPP_INCLUDED +#define BOOST_MPL_POP_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct pop_back + : pop_back_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_back,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, pop_back) + +}} + +#endif // BOOST_MPL_POP_BACK_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back_fwd.hpp new file mode 100644 index 0000000..1d9c24c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_back_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED +#define BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct pop_back_impl; +template< typename Sequence > struct pop_back; + +}} + +#endif // BOOST_MPL_POP_BACK_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front.hpp new file mode 100644 index 0000000..7800b26 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front.hpp @@ -0,0 +1,39 @@ + +#ifndef BOOST_MPL_POP_FRONT_HPP_INCLUDED +#define BOOST_MPL_POP_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct pop_front + : pop_front_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,pop_front,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, pop_front) + +}} + +#endif // BOOST_MPL_POP_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front_fwd.hpp new file mode 100644 index 0000000..6a2aea4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/pop_front_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED +#define BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct pop_front_impl; +template< typename Sequence > struct pop_front; + +}} + +#endif // BOOST_MPL_POP_FRONT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/print.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/print.hpp new file mode 100644 index 0000000..b1a4484 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/print.hpp @@ -0,0 +1,74 @@ + +#ifndef BOOST_MPL_PRINT_HPP_INCLUDED +#define BOOST_MPL_PRINT_HPP_INCLUDED + +// Copyright David Abrahams 2003 +// 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: print.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +namespace aux { +#if defined(BOOST_MSVC) +# pragma warning(push, 3) +// we only want one warning from MSVC, so turn off the other one +# pragma warning(disable: 4307) +#elif defined(__MWERKS__) +# pragma warn_hidevirtual on + struct print_base { virtual void f() {} }; +#endif + +#if defined(__EDG_VERSION__) + template + struct dependent_unsigned + { + static const unsigned value = 1; + }; +#endif +} // namespace aux + + +template +struct print + : mpl::identity +#if defined(__MWERKS__) + , aux::print_base +#endif +{ +#if defined(BOOST_MSVC) + enum { n = sizeof(T) + -1 }; +#elif defined(__MWERKS__) + void f(int); +#else + enum { + n = +# if defined(__EDG_VERSION__) + aux::dependent_unsigned::value > -1 +# else + sizeof(T) > -1 +# endif + }; +#endif +}; + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#elif defined(__MWERKS__) +# pragma warn_hidevirtual reset +#endif + +}} + +#endif // BOOST_MPL_PRINT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/prior.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/prior.hpp new file mode 100644 index 0000000..8f4bf89 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/prior.hpp @@ -0,0 +1,19 @@ + +#ifndef BOOST_MPL_PRIOR_HPP_INCLUDED +#define BOOST_MPL_PRIOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: prior.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#endif // BOOST_MPL_PRIOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/protect.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/protect.hpp new file mode 100644 index 0000000..604754a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/protect.hpp @@ -0,0 +1,55 @@ + +#ifndef BOOST_MPL_PROTECT_HPP_INCLUDED +#define BOOST_MPL_PROTECT_HPP_INCLUDED + +// Copyright Peter Dimov 2001 +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: protect.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + , int not_le_ = 0 + > +struct protect : T +{ +#if BOOST_WORKAROUND(__EDG_VERSION__, == 238) + typedef mpl::protect type; +#else + typedef protect type; +#endif +}; + +#if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES) +namespace aux { +template< BOOST_MPL_AUX_NTTP_DECL(int, N), typename T > +struct arity< protect, N > + : arity +{ +}; +} // namespace aux +#endif + +BOOST_MPL_AUX_NA_SPEC_MAIN(1, protect) +#if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) +BOOST_MPL_AUX_NA_SPEC_TEMPLATE_ARITY(1, 1, protect) +#endif + +}} + +#endif // BOOST_MPL_PROTECT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back.hpp new file mode 100644 index 0000000..6331f35 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back.hpp @@ -0,0 +1,53 @@ + +#ifndef BOOST_MPL_PUSH_BACK_HPP_INCLUDED +#define BOOST_MPL_PUSH_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 push_back + : push_back_impl< typename sequence_tag::type > + ::template apply< Sequence,T > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_back,(Sequence,T)) +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct has_push_back + : has_push_back_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_back,(Sequence)) +}; + + +BOOST_MPL_AUX_NA_SPEC(2, push_back) +BOOST_MPL_AUX_NA_SPEC(1, has_push_back) + +}} + +#endif // BOOST_MPL_PUSH_BACK_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back_fwd.hpp new file mode 100644 index 0000000..9093b84 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_back_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED +#define BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_back_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct push_back_impl; +template< typename Sequence, typename T > struct push_back; + +}} + +#endif // BOOST_MPL_PUSH_BACK_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front.hpp new file mode 100644 index 0000000..654fdcd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_PUSH_FRONT_HPP_INCLUDED +#define BOOST_MPL_PUSH_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 push_front + : push_front_impl< typename sequence_tag::type > + ::template apply< Sequence,T > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,push_front,(Sequence,T)) +}; + + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct has_push_front + : has_push_front_impl< typename sequence_tag::type > + ::template apply< Sequence > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,has_push_front,(Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, push_front) +BOOST_MPL_AUX_NA_SPEC(1, has_push_front) + +}} + +#endif // BOOST_MPL_PUSH_FRONT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front_fwd.hpp new file mode 100644 index 0000000..31c8210 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/push_front_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED +#define BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_front_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct push_front_impl; +template< typename Sequence, typename T > struct push_front; + +}} + +#endif // BOOST_MPL_PUSH_FRONT_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/quote.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/quote.hpp new file mode 100644 index 0000000..ffec3f8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/quote.hpp @@ -0,0 +1,151 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_QUOTE_HPP_INCLUDED +#define BOOST_MPL_QUOTE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: quote.hpp 49272 2008-10-11 06:50:46Z agurtovoy $ +// $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49272 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +#endif + +#include +#include + +#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \ + && !defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) +# define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE +#endif + +#if !defined(BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS) \ + && defined(BOOST_MPL_CFG_NO_HAS_XXX) +# define BOOST_MPL_CFG_NO_IMPLICIT_METAFUNCTIONS +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER quote.hpp +# include + +#else + +# include +# include +# include +# include + +# include +# include + +#if !defined(BOOST_MPL_CFG_NO_QUOTE_TEMPLATE) + +namespace boost { namespace mpl { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename T, bool has_type_ > +struct quote_impl +// GCC has a problem with metafunction forwarding when T is a +// specialization of a template called 'type'. +# if BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4)) \ + && BOOST_WORKAROUND(__GNUC_MINOR__, BOOST_TESTED_AT(0)) \ + && BOOST_WORKAROUND(__GNUC_PATCHLEVEL__, BOOST_TESTED_AT(2)) +{ + typedef typename T::type type; +}; +# else + : T +{ +}; +# endif + +template< typename T > +struct quote_impl +{ + typedef T type; +}; + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +template< bool > struct quote_impl +{ + template< typename T > struct result_ + : T + { + }; +}; + +template<> struct quote_impl +{ + template< typename T > struct result_ + { + typedef T type; + }; +}; + +#endif + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +}} + +#endif // BOOST_MPL_CFG_NO_QUOTE_TEMPLATE + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_QUOTE_HPP_INCLUDED + +///// iteration + +#else +#define i_ BOOST_PP_FRAME_ITERATION(1) + +template< + template< BOOST_MPL_PP_PARAMS(i_, typename P) > class F + , typename Tag = void_ + > +struct BOOST_PP_CAT(quote,i_) +{ + template< BOOST_MPL_PP_PARAMS(i_, typename U) > struct apply +#if defined(BOOST_MPL_CFG_BCC590_WORKAROUNDS) + { + typedef typename quote_impl< + F< BOOST_MPL_PP_PARAMS(i_, U) > + , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value + >::type type; + }; +#elif !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + : quote_impl< + F< BOOST_MPL_PP_PARAMS(i_, U) > + , aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value + > + { + }; +#else + : quote_impl< aux::has_type< F< BOOST_MPL_PP_PARAMS(i_, U) > >::value > + ::template result_< F< BOOST_MPL_PP_PARAMS(i_, U) > > + { + }; +#endif +}; + +#undef i_ +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/range_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/range_c.hpp new file mode 100644 index 0000000..a6b0afe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/range_c.hpp @@ -0,0 +1,48 @@ + +#ifndef BOOST_MPL_RANGE_C_HPP_INCLUDED +#define BOOST_MPL_RANGE_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: range_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename T + , T Start + , T Finish + > +struct range_c +{ + typedef aux::half_open_range_tag tag; + typedef T value_type; + typedef range_c type; + + typedef integral_c start; + typedef integral_c finish; + + typedef r_iter begin; + typedef r_iter end; +}; + +}} + +#endif // BOOST_MPL_RANGE_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove.hpp new file mode 100644 index 0000000..7168ab6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_REMOVE_HPP_INCLUDED +#define BOOST_MPL_REMOVE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: remove.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Sequence + , typename T + , typename Inserter + > +struct remove_impl + : remove_if_impl< Sequence, same_as, Inserter > +{ +}; + +template< + typename Sequence + , typename T + , typename Inserter + > +struct reverse_remove_impl + : reverse_remove_if_impl< Sequence, same_as, Inserter > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, remove) + +}} + +#endif // BOOST_MPL_REMOVE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove_if.hpp new file mode 100644 index 0000000..1573e4f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/remove_if.hpp @@ -0,0 +1,83 @@ + +#ifndef BOOST_MPL_REMOVE_IF_HPP_INCLUDED +#define BOOST_MPL_REMOVE_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: remove_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace.hpp new file mode 100644 index 0000000..ef0a921 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace.hpp @@ -0,0 +1,55 @@ + +#ifndef BOOST_MPL_REPLACE_HPP_INCLUDED +#define BOOST_MPL_REPLACE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright John R. Bandela 2000-2002 +// 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: replace.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Sequence + , typename OldType + , typename NewType + , typename Inserter + > +struct replace_impl + : replace_if_impl< Sequence, same_as, NewType, Inserter > +{ +}; + +template< + typename Sequence + , typename OldType + , typename NewType + , typename Inserter + > +struct reverse_replace_impl + : reverse_replace_if_impl< Sequence, same_as, NewType, Inserter > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace) + +}} + +#endif // BOOST_MPL_REPLACE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace_if.hpp new file mode 100644 index 0000000..b4c3a9a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/replace_if.hpp @@ -0,0 +1,88 @@ + +#ifndef BOOST_MPL_REPLACE_IF_HPP_INCLUDED +#define BOOST_MPL_REPLACE_IF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright John R. Bandela 2000-2002 +// 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: replace_if.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< typename Predicate, typename T > +struct replace_if_op +{ + template< typename U > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : if_< + typename apply1::type + , T + , U + > + { +#else + { + typedef typename if_< + typename apply1::type + , T + , U + >::type type; +#endif + }; +}; + + +template< + typename Sequence + , typename Predicate + , typename T + , typename Inserter + > +struct replace_if_impl + : transform1_impl< + Sequence + , protect< aux::replace_if_op > + , Inserter + > +{ +}; + +template< + typename Sequence + , typename Predicate + , typename T + , typename Inserter + > +struct reverse_replace_if_impl + : reverse_transform1_impl< + Sequence + , protect< aux::replace_if_op > + , Inserter + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, replace_if) + +}} + +#endif // BOOST_MPL_REPLACE_IF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse.hpp new file mode 100644 index 0000000..3fe659b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_REVERSE_HPP_INCLUDED +#define BOOST_MPL_REVERSE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: reverse.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(Inserter) + > +struct reverse + : reverse_copy< + Sequence + , Inserter + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC(1, reverse) + +}} + +#endif // BOOST_MPL_REVERSE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_fold.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_fold.hpp new file mode 100644 index 0000000..c190c59 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_fold.hpp @@ -0,0 +1,50 @@ + +#ifndef BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED +#define BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright David Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: reverse_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(State) + , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp) + , typename ForwardOp = arg<1> + > +struct reverse_fold +{ + typedef typename aux::reverse_fold_impl< + ::boost::mpl::O1_size::value + , typename begin::type + , typename end::type + , State + , BackwardOp + , ForwardOp + >::state type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(3,reverse_fold,(Sequence,State,BackwardOp)) +}; + +BOOST_MPL_AUX_NA_SPEC(3, reverse_fold) + +}} + +#endif // BOOST_MPL_REVERSE_FOLD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_iter_fold.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_iter_fold.hpp new file mode 100644 index 0000000..6ff4b36 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/reverse_iter_fold.hpp @@ -0,0 +1,56 @@ + +#ifndef BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED +#define BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// Copyright Dave Abrahams 2001-2002 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: reverse_iter_fold.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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(State) + , typename BOOST_MPL_AUX_NA_PARAM(BackwardOp) + , typename ForwardOp = arg<1> + > +struct reverse_iter_fold +{ + typedef typename aux::reverse_iter_fold_impl< + ::boost::mpl::O1_size::value + , typename begin::type + , typename end::type + , State + , typename lambda::type + , typename lambda::type + >::state type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT( + 4 + , reverse_iter_fold + , (Sequence,State,BackwardOp,ForwardOp) + ) +}; + +BOOST_MPL_AUX_NA_SPEC(3, reverse_iter_fold) + +}} + +#endif // BOOST_MPL_ITER_FOLD_BACKWARD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/same_as.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/same_as.hpp new file mode 100644 index 0000000..5f77286 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/same_as.hpp @@ -0,0 +1,55 @@ + +#ifndef BOOST_MPL_SAME_AS_HPP_INCLUDED +#define BOOST_MPL_SAME_AS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: same_as.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +template< typename T1 > +struct same_as +{ + template< typename T2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : is_same + { +#else + { + typedef typename is_same::type type; +#endif + }; +}; + +template< typename T1 > +struct not_same_as +{ + template< typename T2 > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) + : not_< is_same > + { +#else + { + typedef typename not_< is_same >::type type; +#endif + }; +}; + +}} + +#endif // BOOST_MPL_SAME_AS_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag.hpp new file mode 100644 index 0000000..0b44875 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag.hpp @@ -0,0 +1,124 @@ + +#ifndef BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED +#define BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: sequence_tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// agurt, 27/nov/02: have to use a simplistic 'sequence_tag' implementation +// on MSVC to avoid dreadful "internal structure overflow" error +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) \ + || defined(BOOST_MPL_CFG_NO_HAS_XXX) + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct sequence_tag +{ + typedef typename Sequence::tag type; +}; + +#elif BOOST_WORKAROUND(BOOST_MSVC, == 1300) + +// agurt, 07/feb/03: workaround for what seems to be MSVC 7.0-specific ETI issue + +namespace aux { + +template< bool > +struct sequence_tag_impl +{ + template< typename Sequence > struct result_ + { + typedef typename Sequence::tag type; + }; +}; + +template<> +struct sequence_tag_impl +{ + template< typename Sequence > struct result_ + { + typedef int type; + }; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct sequence_tag + : aux::sequence_tag_impl< !aux::is_msvc_eti_arg::value > + ::template result_ +{ +}; + +#else + +namespace aux { + +template< bool has_tag_, bool has_begin_ > +struct sequence_tag_impl +{ + // agurt 24/nov/02: MSVC 6.5 gets confused in 'sequence_tag_impl' + // specialization below, if we name it 'result_' here + template< typename Sequence > struct result2_; +}; + +# define AUX_CLASS_SEQUENCE_TAG_SPEC(has_tag, has_begin, result_type) \ +template<> struct sequence_tag_impl \ +{ \ + template< typename Sequence > struct result2_ \ + { \ + typedef result_type type; \ + }; \ +}; \ +/**/ + +AUX_CLASS_SEQUENCE_TAG_SPEC(true, true, typename Sequence::tag) +AUX_CLASS_SEQUENCE_TAG_SPEC(true, false, typename Sequence::tag) +AUX_CLASS_SEQUENCE_TAG_SPEC(false, true, nested_begin_end_tag) +AUX_CLASS_SEQUENCE_TAG_SPEC(false, false, non_sequence_tag) + +# undef AUX_CLASS_SEQUENCE_TAG_SPEC + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct sequence_tag + : aux::sequence_tag_impl< + ::boost::mpl::aux::has_tag::value + , ::boost::mpl::aux::has_begin::value + >::template result2_ +{ +}; + +#endif // BOOST_MSVC + +BOOST_MPL_AUX_NA_SPEC(1, sequence_tag) + +}} + +#endif // BOOST_MPL_SEQUENCE_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag_fwd.hpp new file mode 100644 index 0000000..9b46a8d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sequence_tag_fwd.hpp @@ -0,0 +1,26 @@ + +#ifndef BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED +#define BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: sequence_tag_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +struct nested_begin_end_tag; +struct non_sequence_tag; + +template< typename Sequence > struct sequence_tag; + +}} + +#endif // BOOST_MPL_SEQUENCE_TAG_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set.hpp new file mode 100644 index 0000000..cc8bca0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_SET_HPP_INCLUDED +#define BOOST_MPL_SET_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: set.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include + +# include +# include +# include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_SET_HEADER \ + BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE).hpp \ + /**/ +#else +# define AUX778076_SET_HEADER \ + BOOST_PP_CAT(set, BOOST_MPL_LIMIT_SET_SIZE)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_HEADER) +# undef AUX778076_SET_HEADER +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER set.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME set +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_SET_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/at_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/at_impl.hpp new file mode 100644 index 0000000..7b50b4a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/at_impl.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_AT_IMPL_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: at_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct at_impl< aux::set_tag > +{ + template< typename Set, typename T > struct apply + { + typedef typename if_< + has_key_impl::apply + , T + , void_ + >::type type; + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/begin_end_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/begin_end_impl.hpp new file mode 100644 index 0000000..fde00a7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/begin_end_impl.hpp @@ -0,0 +1,43 @@ + +#ifndef BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2007 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct begin_impl< aux::set_tag > +{ + template< typename Set > struct apply + : s_iter_get + { + }; +}; + +template<> +struct end_impl< aux::set_tag > +{ + template< typename Set > struct apply + { + typedef s_iter< Set,set0<> > type; + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_BEGIN_END_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/clear_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/clear_impl.hpp new file mode 100644 index 0000000..562b41d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/clear_impl.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct clear_impl< aux::set_tag > +{ + template< typename Set > struct apply + { + typedef set0<> type; + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_CLEAR_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/empty_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/empty_impl.hpp new file mode 100644 index 0000000..d69153f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/empty_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_EMPTY_IMPL_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: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct empty_impl< aux::set_tag > +{ + template< typename Set > struct apply + : not_< typename Set::size > + { + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_EMPTY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_impl.hpp new file mode 100644 index 0000000..b2532d8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_impl.hpp @@ -0,0 +1,41 @@ + +#ifndef BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: erase_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct erase_impl< aux::set_tag > +{ + template< + typename Set + , typename Pos + , typename unused_ + > + struct apply + : erase_key_impl + ::apply + { + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_ERASE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_key_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_key_impl.hpp new file mode 100644 index 0000000..0a53e14 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/erase_key_impl.hpp @@ -0,0 +1,53 @@ + +#ifndef BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2007 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: erase_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +template<> +struct erase_key_impl< aux::set_tag > +{ + template< + typename Set + , typename T + > + struct apply + : eval_if< + has_key_impl::apply + , eval_if< + is_same< T,typename Set::item_type_ > + , base + , identity< s_mask > + > + , identity + > + { + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_ERASE_KEY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/has_key_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/has_key_impl.hpp new file mode 100644 index 0000000..4b661f7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/has_key_impl.hpp @@ -0,0 +1,60 @@ + +#ifndef BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: has_key_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template<> +struct has_key_impl< aux::set_tag > +{ + template< typename Set, typename T > struct apply +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1400)) \ + || BOOST_WORKAROUND(__EDG_VERSION__, <= 245) + { + BOOST_STATIC_CONSTANT(bool, value = + ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( + Set + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) == sizeof(aux::no_tag) ) + ); + + typedef bool_ type; + +#else // ISO98 C++ + : bool_< + ( sizeof( BOOST_MPL_AUX_OVERLOAD_CALL_IS_MASKED( + Set + , BOOST_MPL_AUX_STATIC_CAST(aux::type_wrapper*, 0) + ) ) == sizeof(aux::no_tag) ) + > + { +#endif + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_HAS_KEY_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/include_preprocessed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/include_preprocessed.hpp new file mode 100644 index 0000000..86f588c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/include_preprocessed.hpp @@ -0,0 +1,42 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2001-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +#include +#include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_HEADER \ + plain/BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#else +# define AUX778076_HEADER \ + BOOST_PP_CAT(plain,/)##BOOST_MPL_PREPROCESSED_HEADER \ +/**/ +#endif + +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(700)) +# define AUX778076_INCLUDE_STRING BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER) +# include AUX778076_INCLUDE_STRING +# undef AUX778076_INCLUDE_STRING +#else +# include BOOST_PP_STRINGIZE(boost/mpl/set/aux_/preprocessed/AUX778076_HEADER) +#endif + +# undef AUX778076_HEADER + +#undef BOOST_MPL_PREPROCESSED_HEADER diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/insert_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/insert_impl.hpp new file mode 100644 index 0000000..042ca13 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/insert_impl.hpp @@ -0,0 +1,65 @@ + +#ifndef BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2007 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: insert_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +namespace aux { +template< typename Set, typename T > struct set_insert_impl + : eval_if< + has_key_impl::apply + , identity + , eval_if< + is_same< T,typename Set::last_masked_ > + , base + , identity< s_item > + > + > +{ +}; +} + +template<> +struct insert_impl< aux::set_tag > +{ + template< + typename Set + , typename PosOrKey + , typename KeyOrNA + > + struct apply + : aux::set_insert_impl< + Set + , typename if_na::type + > + { + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_INSERT_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/item.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/item.hpp new file mode 100644 index 0000000..3c17246 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/item.hpp @@ -0,0 +1,80 @@ + +#ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2007 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename T, typename Base > +struct s_item + : Base +{ + typedef s_item item_; + typedef void_ last_masked_; + typedef T item_type_; + typedef Base base; + + typedef typename next< typename Base::size >::type size; + typedef typename next< typename Base::order >::type order; + +#if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) + typedef typename aux::weighted_tag::type order_tag_; +#else + typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value]; +#endif + + BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper* ); + BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper* ); +}; + + +template< typename T, typename Base > +struct s_mask + : Base +{ + typedef s_mask item_; + typedef T last_masked_; + typedef void_ item_type_; + typedef Base base; + typedef typename prior< typename Base::size >::type size; + + BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper* ); +}; + + +template< typename T, typename Base > +struct s_unmask + : Base +{ + typedef s_unmask item_; + typedef void_ last_masked_; + typedef T item_type_; + typedef Base base; + typedef typename next< typename Base::size >::type size; + + BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper* ); +}; + +}} + +#endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/iterator.hpp new file mode 100644 index 0000000..a6c0ffb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/iterator.hpp @@ -0,0 +1,98 @@ + +#ifndef BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2007 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +// used by 's_iter_get' +template< typename Set, typename Tail > struct s_iter; + +template< typename Set, typename Tail > struct s_iter_get + : eval_if< + has_key< Set,typename Tail::item_type_ > + , identity< s_iter > + , next< s_iter > + > +{ +}; + +template< typename Set, typename Tail > struct s_iter_impl +{ + typedef Tail tail_; + typedef forward_iterator_tag category; + typedef typename Tail::item_type_ type; + +#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + typedef typename s_iter_get< Set,typename Tail::base >::type next; +#endif +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename Set, typename Tail > +struct next< s_iter > + : s_iter_get< Set,typename Tail::base > +{ +}; + +template< typename Set > +struct next< s_iter > > +{ + typedef s_iter > type; +}; + +template< typename Set, typename Tail > struct s_iter + : s_iter_impl +{ +}; + +template< typename Set > struct s_iter > +{ + typedef forward_iterator_tag category; +}; + +#else + +template< typename Set > +struct s_end_iter +{ + typedef forward_iterator_tag category; + typedef s_iter > next; +}; + +template< typename Set, typename Tail > struct s_iter + : if_< + is_same< Tail,set0<> > + , s_end_iter + , s_iter_impl + >::type +{ +}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +}} + +#endif // BOOST_MPL_SET_AUX_ITERATOR_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/key_type_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/key_type_impl.hpp new file mode 100644 index 0000000..50d93d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/key_type_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: key_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct key_type_impl< aux::set_tag > +{ + template< typename Set, typename T > struct apply + { + typedef T type; + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_KEY_TYPE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered.hpp new file mode 100644 index 0000000..49db966 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered.hpp @@ -0,0 +1,48 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +#define i_ BOOST_PP_FRAME_ITERATION(1) + +# define AUX778076_SET_TAIL(set, i_, T) \ + typename BOOST_PP_CAT(set,i_)< \ + BOOST_PP_ENUM_PARAMS(i_, T) \ + >::item_ \ + /**/ + +#if i_ > 0 +template< + BOOST_PP_ENUM_PARAMS(i_, typename T) + > +struct BOOST_PP_CAT(set,i_) + : s_item< + BOOST_PP_CAT(T,BOOST_PP_DEC(i_)) + , AUX778076_SET_TAIL(set,BOOST_PP_DEC(i_),T) + > +{ + typedef BOOST_PP_CAT(set,i_) type; +}; +#endif + +# undef AUX778076_SET_TAIL + +#undef i_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered_c.hpp new file mode 100644 index 0000000..8416bea --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/numbered_c.hpp @@ -0,0 +1,48 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#define i_ BOOST_PP_FRAME_ITERATION(1) + +# define AUX778076_SET_C_TAIL(set, i_, T, C) \ + BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c)< \ + T BOOST_PP_ENUM_TRAILING_PARAMS(i_, C) \ + > \ + /**/ + +template< + typename T + , BOOST_PP_ENUM_PARAMS(i_, T C) + > +struct BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) + : s_item< + integral_c + , AUX778076_SET_C_TAIL(set,BOOST_PP_DEC(i_), T, C) + > +{ + typedef BOOST_PP_CAT(BOOST_PP_CAT(set,i_),_c) type; +}; + +# undef AUX778076_SET_C_TAIL + +#undef i_ + +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp new file mode 100644 index 0000000..8bf07e8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10.hpp @@ -0,0 +1,140 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set10.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T0 + > +struct set1 + : s_item< + T0 + , typename set0< >::item_ + > +{ + typedef set1 type; +}; + +template< + typename T0, typename T1 + > +struct set2 + : s_item< + T1 + , typename set1::item_ + > +{ + typedef set2 type; +}; + +template< + typename T0, typename T1, typename T2 + > +struct set3 + : s_item< + T2 + , typename set2< T0,T1 >::item_ + > +{ + typedef set3 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3 + > +struct set4 + : s_item< + T3 + , typename set3< T0,T1,T2 >::item_ + > +{ + typedef set4 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + > +struct set5 + : s_item< + T4 + , typename set4< T0,T1,T2,T3 >::item_ + > +{ + typedef set5 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5 + > +struct set6 + : s_item< + T5 + , typename set5< T0,T1,T2,T3,T4 >::item_ + > +{ + typedef set6 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6 + > +struct set7 + : s_item< + T6 + , typename set6< T0,T1,T2,T3,T4,T5 >::item_ + > +{ + typedef set7 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7 + > +struct set8 + : s_item< + T7 + , typename set7< T0,T1,T2,T3,T4,T5,T6 >::item_ + > +{ + typedef set8 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8 + > +struct set9 + : s_item< + T8 + , typename set8< T0,T1,T2,T3,T4,T5,T6,T7 >::item_ + > +{ + typedef set9 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + > +struct set10 + : s_item< + T9 + , typename set9< T0,T1,T2,T3,T4,T5,T6,T7,T8 >::item_ + > +{ + typedef set10 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp new file mode 100644 index 0000000..4b09d92 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set10_c.hpp @@ -0,0 +1,145 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set10_c.hpp" header +// -- DO NOT modify by hand! + +namespace boost { namespace mpl { + +template< + typename T + , T C0 + > +struct set1_c + : s_item< + integral_c< T,C0 > + , set0_c + > +{ + typedef set1_c type; +}; + +template< + typename T + , T C0, T C1 + > +struct set2_c + : s_item< + integral_c< T,C1 > + , set1_c< T,C0 > + > +{ + typedef set2_c type; +}; + +template< + typename T + , T C0, T C1, T C2 + > +struct set3_c + : s_item< + integral_c< T,C2 > + , set2_c< T,C0,C1 > + > +{ + typedef set3_c type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3 + > +struct set4_c + : s_item< + integral_c< T,C3 > + , set3_c< T,C0,C1,C2 > + > +{ + typedef set4_c type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4 + > +struct set5_c + : s_item< + integral_c< T,C4 > + , set4_c< T,C0,C1,C2,C3 > + > +{ + typedef set5_c type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5 + > +struct set6_c + : s_item< + integral_c< T,C5 > + , set5_c< T,C0,C1,C2,C3,C4 > + > +{ + typedef set6_c type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6 + > +struct set7_c + : s_item< + integral_c< T,C6 > + , set6_c< T,C0,C1,C2,C3,C4,C5 > + > +{ + typedef set7_c type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7 + > +struct set8_c + : s_item< + integral_c< T,C7 > + , set7_c< T,C0,C1,C2,C3,C4,C5,C6 > + > +{ + typedef set8_c type; +}; + +template< + typename T + , T C0, T C1, T C2, T C3, T C4, T C5, T C6, T C7, T C8 + > +struct set9_c + : s_item< + integral_c< T,C8 > + , set8_c< T,C0,C1,C2,C3,C4,C5,C6,C7 > + > +{ + typedef set9_c 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 set10_c + : s_item< + integral_c< T,C9 > + , set9_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8 > + > +{ + typedef set10_c type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp new file mode 100644 index 0000000..0836d08 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20.hpp @@ -0,0 +1,168 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set20.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 set11 + : s_item< + T10 + , typename set10< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9 >::item_ + > +{ + typedef set11 type; +}; + +template< + 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 set12 + : s_item< + T11 + , typename set11< T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10 >::item_ + > +{ + typedef set12 type; +}; + +template< + typename T0, 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 set13 + : s_item< + T12 + , typename set12< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 + , T11 >::item_ + > +{ + typedef set13 type; +}; + +template< + typename T0, typename T1, 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 set14 + : s_item< + T13 + , typename set13< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12 >::item_ + > +{ + typedef set14 type; +}; + +template< + typename T0, typename T1, typename T2, 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 set15 + : s_item< + T14 + , typename set14< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13 >::item_ + > +{ + typedef set15 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, 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 set16 + : s_item< + T15 + , typename set15< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14 >::item_ + > +{ + typedef set16 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , 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 set17 + : s_item< + T16 + , typename set16< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15 >::item_ + > +{ + typedef set17 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, 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 set18 + : s_item< + T17 + , typename set17< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16 >::item_ + > +{ + typedef set18 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, 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 set19 + : s_item< + T18 + , typename set18< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17 >::item_ + > +{ + typedef set19 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + > +struct set20 + : s_item< + T19 + , typename set19< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18 >::item_ + > +{ + typedef set20 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp new file mode 100644 index 0000000..724cc99 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set20_c.hpp @@ -0,0 +1,154 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set20_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 set11_c + : s_item< + integral_c< T,C10 > + , set10_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9 > + > +{ + typedef set11_c 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 set12_c + : s_item< + integral_c< T,C11 > + , set11_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10 > + > +{ + typedef set12_c 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 set13_c + : s_item< + integral_c< T,C12 > + , set12_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11 > + > +{ + typedef set13_c 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 set14_c + : s_item< + integral_c< T,C13 > + , set13_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12 > + > +{ + typedef set14_c 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 set15_c + : s_item< + integral_c< T,C14 > + , set14_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13 > + > +{ + typedef set15_c 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 set16_c + : s_item< + integral_c< T,C15 > + , set15_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14 > + > +{ + typedef set16_c 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 set17_c + : s_item< + integral_c< T,C16 > + , set16_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15 > + > +{ + typedef set17_c 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 set18_c + : s_item< + integral_c< T,C17 > + , set17_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 > + > +{ + typedef set18_c 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 set19_c + : s_item< + integral_c< T,C18 > + , set18_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17 > + > +{ + typedef set19_c 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 set20_c + : s_item< + integral_c< T,C19 > + , set19_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18 > + > +{ + typedef set20_c type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp new file mode 100644 index 0000000..ab67d5f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30.hpp @@ -0,0 +1,195 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set30.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 set21 + : s_item< + T20 + , typename set20< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19 >::item_ + > +{ + typedef set21 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , 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 set22 + : s_item< + T21 + , typename set21< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20 >::item_ + > +{ + typedef set22 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, 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 set23 + : s_item< + T22 + , typename set22< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21 >::item_ + > +{ + typedef set23 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, 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 set24 + : s_item< + T23 + , typename set23< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22 >::item_ + > +{ + typedef set24 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, 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 set25 + : s_item< + T24 + , typename set24< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 >::item_ + > +{ + typedef set25 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, 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 set26 + : s_item< + T25 + , typename set25< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23 + , T24 >::item_ + > +{ + typedef set26 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , 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 set27 + : s_item< + T26 + , typename set26< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24 + , T25 >::item_ + > +{ + typedef set27 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, 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 set28 + : s_item< + T27 + , typename set27< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26 >::item_ + > +{ + typedef set28 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, 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 set29 + : s_item< + T28 + , typename set28< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27 >::item_ + > +{ + typedef set29 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, 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 set30 + : s_item< + T29 + , typename set29< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28 >::item_ + > +{ + typedef set30 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp new file mode 100644 index 0000000..772b18b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set30_c.hpp @@ -0,0 +1,164 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set30_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 set21_c + : s_item< + integral_c< T,C20 > + , set20_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19 > + > +{ + typedef set21_c 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 set22_c + : s_item< + integral_c< T,C21 > + , set21_c< T,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20 > + > +{ + typedef set22_c 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 set23_c + : s_item< + integral_c< T,C22 > + , set22_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 set23_c 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 set24_c + : s_item< + integral_c< T,C23 > + , set23_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 set24_c 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 set25_c + : s_item< + integral_c< T,C24 > + , set24_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 set25_c 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 set26_c + : s_item< + integral_c< T,C25 > + , set25_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 set26_c 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 set27_c + : s_item< + integral_c< T,C26 > + , set26_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 set27_c 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 set28_c + : s_item< + integral_c< T,C27 > + , set27_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 set28_c 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 set29_c + : s_item< + integral_c< T,C28 > + , set28_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 set29_c 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 set30_c + : s_item< + integral_c< T,C29 > + , set29_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 set30_c type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp new file mode 100644 index 0000000..a0c135e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40.hpp @@ -0,0 +1,221 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set40.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 set31 + : s_item< + T30 + , typename set30< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29 >::item_ + > +{ + typedef set31 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , 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 set32 + : s_item< + T31 + , typename set31< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30 >::item_ + > +{ + typedef set32 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set33 + : s_item< + T32 + , typename set32< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31 >::item_ + > +{ + typedef set33 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set34 + : s_item< + T33 + , typename set33< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32 >::item_ + > +{ + typedef set34 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set35 + : s_item< + T34 + , typename set34< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33 >::item_ + > +{ + typedef set35 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set36 + : s_item< + T35 + , typename set35< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33, T34 >::item_ + > +{ + typedef set36 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set37 + : s_item< + T36 + , typename set36< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35 >::item_ + > +{ + typedef set37 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set38 + : s_item< + T37 + , typename set37< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36 >::item_ + > +{ + typedef set38 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set39 + : s_item< + T38 + , typename set38< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37 >::item_ + > +{ + typedef set39 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set40 + : s_item< + T39 + , typename set39< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37 + , T38 >::item_ + > +{ + typedef set40 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp new file mode 100644 index 0000000..97d4a99 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set40_c.hpp @@ -0,0 +1,174 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set40_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 set31_c + : s_item< + integral_c< T,C30 > + , set30_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 set31_c 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 set32_c + : s_item< + integral_c< T,C31 > + , set31_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 set32_c 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 set33_c + : s_item< + integral_c< T,C32 > + , set32_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 set33_c 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 set34_c + : s_item< + integral_c< T,C33 > + , set33_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 set34_c 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 set35_c + : s_item< + integral_c< T,C34 > + , set34_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 set35_c 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 set36_c + : s_item< + integral_c< T,C35 > + , set35_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 set36_c 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 set37_c + : s_item< + integral_c< T,C36 > + , set36_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 set37_c 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 set38_c + : s_item< + integral_c< T,C37 > + , set37_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 set38_c 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 set39_c + : s_item< + integral_c< T,C38 > + , set38_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 set39_c 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 set40_c + : s_item< + integral_c< T,C39 > + , set39_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 set40_c type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp new file mode 100644 index 0000000..9be074f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50.hpp @@ -0,0 +1,250 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set50.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 set41 + : s_item< + T40 + , typename set40< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25 + , T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38 + , T39 >::item_ + > +{ + typedef set41 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set42 + : s_item< + T41 + , typename set41< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set42 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set43 + : s_item< + T42 + , typename set42< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set43 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set44 + : s_item< + T43 + , typename set43< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set44 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set45 + : s_item< + T44 + , typename set44< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set45 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set46 + : s_item< + T45 + , typename set45< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set46 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set47 + : s_item< + T46 + , typename set46< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set47 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set48 + : s_item< + T47 + , typename set47< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set48 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set49 + : s_item< + T48 + , typename set48< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set49 type; +}; + +template< + typename T0, typename T1, typename T2, typename T3, typename T4 + , typename T5, typename T6, typename T7, typename T8, typename T9 + , typename T10, typename T11, typename T12, typename T13, typename T14 + , typename T15, typename T16, typename T17, typename T18, typename T19 + , typename 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 set50 + : s_item< + T49 + , typename set49< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 + , T12, T13, T14, T15, 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 >::item_ + > +{ + typedef set50 type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp new file mode 100644 index 0000000..54697e1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/preprocessed/plain/set50_c.hpp @@ -0,0 +1,184 @@ + +// 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) +// + +// Preprocessed version of "boost/mpl/set/set50_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 set41_c + : s_item< + integral_c< T,C40 > + , set40_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 set41_c 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 set42_c + : s_item< + integral_c< T,C41 > + , set41_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 set42_c 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 set43_c + : s_item< + integral_c< T,C42 > + , set42_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 set43_c 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 set44_c + : s_item< + integral_c< T,C43 > + , set43_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 set44_c 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 set45_c + : s_item< + integral_c< T,C44 > + , set44_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 set45_c 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 set46_c + : s_item< + integral_c< T,C45 > + , set45_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 set46_c 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 set47_c + : s_item< + integral_c< T,C46 > + , set46_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 set47_c 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 set48_c + : s_item< + integral_c< T,C47 > + , set47_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 set48_c 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 set49_c + : s_item< + integral_c< T,C48 > + , set48_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 set49_c 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 set50_c + : s_item< + integral_c< T,C49 > + , set49_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 set50_c type; +}; + +}} diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/set0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/set0.hpp new file mode 100644 index 0000000..6473da9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/set0.hpp @@ -0,0 +1,69 @@ + +#ifndef BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: set0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_USE_OPERATORS_OVERLOADING) + +# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \ + friend R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ +/**/ + +# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \ + BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \ +/**/ + +#else + +# define BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T) \ + static R BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f)(X const&, T) \ +/**/ + +# define BOOST_MPL_AUX_SET_OVERLOAD(R, f, X, T) \ + BOOST_MPL_AUX_SET0_OVERLOAD(R, f, X, T); \ + using Base::BOOST_PP_CAT(BOOST_MPL_AUX_OVERLOAD_,f) \ +/**/ + +#endif + +template< typename Dummy = na > struct set0 +{ + typedef set0<> item_; + typedef item_ type; + typedef aux::set_tag tag; + typedef void_ last_masked_; + typedef void_ item_type_; + typedef long_<0> size; + typedef long_<1> order; + + BOOST_MPL_AUX_SET0_OVERLOAD( aux::no_tag, ORDER_BY_KEY, set0<>, void const volatile* ); + BOOST_MPL_AUX_SET0_OVERLOAD( aux::yes_tag, IS_MASKED, set0<>, void const volatile* ); +}; + +}} + +#endif // BOOST_MPL_SET_AUX_SET0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/size_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/size_impl.hpp new file mode 100644 index 0000000..0f1fda2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/size_impl.hpp @@ -0,0 +1,33 @@ + +#ifndef BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_SIZE_IMPL_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: size_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct size_impl< aux::set_tag > +{ + template< typename Set > struct apply + : Set::size + { + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_SIZE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/tag.hpp new file mode 100644 index 0000000..3b9b8c2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/tag.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { namespace aux { + +struct set_tag; + +}}} + +#endif // BOOST_MPL_SET_AUX_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/value_type_impl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/value_type_impl.hpp new file mode 100644 index 0000000..880b7ec --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/aux_/value_type_impl.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED +#define BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: value_type_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template<> +struct value_type_impl< aux::set_tag > +{ + template< typename Set, typename T > struct apply + { + typedef T type; + }; +}; + +}} + +#endif // BOOST_MPL_SET_AUX_VALUE_TYPE_IMPL_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0.hpp new file mode 100644 index 0000000..d2e8640 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0.hpp @@ -0,0 +1,35 @@ + +#ifndef BOOST_MPL_SET_SET0_HPP_INCLUDED +#define BOOST_MPL_SET_SET0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: set0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +//#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif // BOOST_MPL_SET_SET0_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0_c.hpp new file mode 100644 index 0000000..507b28a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set0_c.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_SET_SET0_C_HPP_INCLUDED +#define BOOST_MPL_SET_SET0_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: set0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +template< typename T > struct set0_c + : set0<> +{ + typedef set0_c type; + typedef T value_type; +}; + +}} + +#endif // BOOST_MPL_SET_SET0_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10.hpp new file mode 100644 index 0000000..1798126 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_SET_SET10_HPP_INCLUDED +#define BOOST_MPL_SET_SET10_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: set10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set10.hpp +# include + +#else + +# 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_SET_SET10_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10_c.hpp new file mode 100644 index 0000000..58df0fd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set10_c.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_SET_SET10_C_HPP_INCLUDED +#define BOOST_MPL_SET_SET10_C_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: set10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set10_c.hpp +# include + +#else + +# 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_SET_SET10_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20.hpp new file mode 100644 index 0000000..bbfd673 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_SET_SET20_HPP_INCLUDED +#define BOOST_MPL_SET_SET20_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: set20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set20.hpp +# include + +#else + +# 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_SET_SET20_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20_c.hpp new file mode 100644 index 0000000..c48aa62 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set20_c.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_SET_SET20_C_HPP_INCLUDED +#define BOOST_MPL_SET_SET20_C_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: set20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set20_c.hpp +# include + +#else + +# 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_SET_SET20_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30.hpp new file mode 100644 index 0000000..c37d98d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_SET_SET30_HPP_INCLUDED +#define BOOST_MPL_SET_SET30_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: set30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set30.hpp +# include + +#else + +# 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_SET_SET30_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30_c.hpp new file mode 100644 index 0000000..99ea14e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set30_c.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_SET_SET30_C_HPP_INCLUDED +#define BOOST_MPL_SET_SET30_C_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: set30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set30_c.hpp +# include + +#else + +# 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_SET_SET30_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40.hpp new file mode 100644 index 0000000..943f034 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_SET_SET40_HPP_INCLUDED +#define BOOST_MPL_SET_SET40_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: set40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set40.hpp +# include + +#else + +# 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_SET_SET40_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40_c.hpp new file mode 100644 index 0000000..7b2234e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set40_c.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_SET_SET40_C_HPP_INCLUDED +#define BOOST_MPL_SET_SET40_C_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: set40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set40_c.hpp +# include + +#else + +# 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_SET_SET40_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50.hpp new file mode 100644 index 0000000..c573f96 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50.hpp @@ -0,0 +1,44 @@ + +#ifndef BOOST_MPL_SET_SET50_HPP_INCLUDED +#define BOOST_MPL_SET_SET50_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: set50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set50.hpp +# include + +#else + +# 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_SET_SET50_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50_c.hpp new file mode 100644 index 0000000..2b997ad --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set/set50_c.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_SET_SET50_C_HPP_INCLUDED +#define BOOST_MPL_SET_SET50_C_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: set50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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 set50_c.hpp +# include + +#else + +# 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_SET_SET50_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set_c.hpp new file mode 100644 index 0000000..2e6ef80 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/set_c.hpp @@ -0,0 +1,60 @@ + +#ifndef BOOST_MPL_SET_C_HPP_INCLUDED +#define BOOST_MPL_SET_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: set_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include + +# include +# include +# include + +#if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) +# define AUX778076_SET_C_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c).hpp \ + /**/ +#else +# define AUX778076_SET_C_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(set,BOOST_MPL_LIMIT_SET_SIZE),_c)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/set/AUX778076_SET_C_HEADER) +# undef AUX778076_SET_C_HEADER +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER set_c.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME set_c +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_SET_SIZE +# define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(set,n),_c) +# define AUX778076_SEQUENCE_INTEGRAL_WRAPPER +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_SET_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_left.hpp new file mode 100644 index 0000000..a6ed1af --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_left.hpp @@ -0,0 +1,22 @@ + +#ifndef BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED +#define BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: shift_left.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME shift_left +#define AUX778076_OP_TOKEN << +#include + +#endif // BOOST_MPL_SHIFT_LEFT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_right.hpp new file mode 100644 index 0000000..fee0543 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/shift_right.hpp @@ -0,0 +1,22 @@ + +#ifndef BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED +#define BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright Jaap Suter 2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: shift_right.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME shift_right +#define AUX778076_OP_TOKEN >> +#include + +#endif // BOOST_MPL_SHIFT_RIGHT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/single_view.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/single_view.hpp new file mode 100644 index 0000000..cb8ec25 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/single_view.hpp @@ -0,0 +1,38 @@ + +#ifndef BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED +#define BOOST_MPL_SINGLE_VIEW_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: single_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct single_view + : iterator_range< + aux::sel_iter + , aux::sel_iter + > +{ +}; + +BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, single_view) + +}} + +#endif // BOOST_MPL_SINGLE_VIEW_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size.hpp new file mode 100644 index 0000000..f46dad0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_SIZE_HPP_INCLUDED +#define BOOST_MPL_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + > +struct size + : aux::msvc_eti_base< + typename size_impl< typename sequence_tag::type > + ::template apply< Sequence >::type + >::type +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, size, (Sequence)) +}; + +BOOST_MPL_AUX_NA_SPEC(1, size) + +}} + +#endif // BOOST_MPL_SIZE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_fwd.hpp new file mode 100644 index 0000000..2d0ff4b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_fwd.hpp @@ -0,0 +1,24 @@ + +#ifndef BOOST_MPL_SIZE_FWD_HPP_INCLUDED +#define BOOST_MPL_SIZE_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct size_impl; +template< typename Sequence > struct size; + +}} + +#endif // BOOST_MPL_SIZE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t.hpp new file mode 100644 index 0000000..5beb3ca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED +#define BOOST_MPL_SIZE_T_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size_t.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +#define AUX_WRAPPER_VALUE_TYPE std::size_t +#define AUX_WRAPPER_NAME size_t +#define AUX_WRAPPER_PARAMS(N) std::size_t N + +#include + +#endif // BOOST_MPL_SIZE_T_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t_fwd.hpp new file mode 100644 index 0000000..f666936 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/size_t_fwd.hpp @@ -0,0 +1,28 @@ + +#ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED +#define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size_t_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include // make sure 'size_t' is placed into 'std' +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +template< std::size_t N > struct size_t; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t) + +#endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sizeof.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sizeof.hpp new file mode 100644 index 0000000..49f5fc8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sizeof.hpp @@ -0,0 +1,36 @@ + +#ifndef BOOST_MPL_SIZEOF_HPP_INCLUDED +#define BOOST_MPL_SIZEOF_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2003 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: sizeof.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct sizeof_ + : mpl::size_t< sizeof(T) > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1,sizeof_,(T)) +}; + +BOOST_MPL_AUX_NA_SPEC_NO_ETI(1, sizeof_) + +}} + +#endif // BOOST_MPL_SIZEOF_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sort.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sort.hpp new file mode 100644 index 0000000..ee8dc2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/sort.hpp @@ -0,0 +1,27 @@ + +#ifndef BOOST_MPL_SORT_HPP_INCLUDED +#define BOOST_MPL_SORT_HPP_INCLUDED + +// Copyright Eric Friedman 2002-2003 +// 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: sort.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include + +namespace boost { namespace mpl { + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, sort) + +}} + +#endif // BOOST_MPL_SORT_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/stable_partition.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/stable_partition.hpp new file mode 100644 index 0000000..bf0a4af --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/stable_partition.hpp @@ -0,0 +1,75 @@ + +#ifndef BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED +#define BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED + +// Copyright Eric Friedman 2002-2003 +// 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: stable_partition.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template < + typename Sequence + , typename Pred + , typename In + , typename In2 + , typename In1 = typename if_na::type + > +struct stable_partition_impl + : fold< + Sequence + , pair< typename In1::state, typename In2::state > + , protect< partition_op< + Pred + , typename In1::operation + , typename In2::operation + > > + > +{ +}; + +template < + typename Sequence + , typename Pred + , typename In + , typename In2 + , typename In1 = typename if_na::type + > +struct reverse_stable_partition_impl + : reverse_fold< + Sequence + , pair< typename In1::state, typename In2::state > + , protect< partition_op< + Pred + , typename In1::operation + , typename In2::operation + > > + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, stable_partition) + +}} + +#endif // BOOST_MPL_STABLE_PARTITION_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/string.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/string.hpp new file mode 100644 index 0000000..f3b1613 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/string.hpp @@ -0,0 +1,559 @@ + +#ifndef BOOST_MPL_STRING_HPP_INCLUDED +#define BOOST_MPL_STRING_HPP_INCLUDED + +// Copyright Eric Niebler 2009 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: string.hpp 49239 2009-04-01 09:10:26Z eric_niebler $ +// $Date: 2009-04-01 02:10:26 -0700 (Wed, 1 Apr 2009) $ +// $Revision: 49239 $ +// +// Thanks to: +// Dmitry Goncharov for porting this to the Sun compiler + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include // for bidirectional_iterator_tag +#include + +namespace boost { namespace mpl +{ + #define BOOST_MPL_STRING_MAX_PARAMS \ + BOOST_PP_DIV(BOOST_PP_ADD(BOOST_MPL_LIMIT_STRING_SIZE, 3), 4) + + // Low-level bit-twiddling is done by macros. Any implementation-defined behavior of + // multi-character literals should be localized to these macros. + + #define BOOST_MPL_MULTICHAR_LENGTH(c) \ + (std::size_t)((c0xffffff)+(c>0xffff)+(c>0xff)+1)) + + #if defined(BOOST_LITTLE_ENDIAN) && defined(__SUNPRO_CC) + + #define BOOST_MPL_MULTICHAR_AT(c,i) \ + (char)(0xff&((unsigned)(c)>>(8*(std::size_t)(i)))) + + #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i) \ + ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c)) + + #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i) \ + (((unsigned)(c)<<8)|(unsigned char)(i)) + + #define BOOST_MPL_MULTICHAR_POP_BACK(c) \ + (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c)) + + #define BOOST_MPL_MULTICHAR_POP_FRONT(c) \ + ((unsigned)(c)>>8) + + #else + + #define BOOST_MPL_MULTICHAR_AT(c,i) \ + (char)(0xff&((unsigned)(c)>>(8*(BOOST_MPL_MULTICHAR_LENGTH(c)-(std::size_t)(i)-1)))) + + #define BOOST_MPL_MULTICHAR_PUSH_BACK(c,i) \ + (((unsigned)(c)<<8)|(unsigned char)(i)) + + #define BOOST_MPL_MULTICHAR_PUSH_FRONT(c,i) \ + ((((unsigned char)(i))<<(BOOST_MPL_MULTICHAR_LENGTH(c)*8))|(unsigned)(c)) + + #define BOOST_MPL_MULTICHAR_POP_BACK(c) \ + ((unsigned)(c)>>8) + + #define BOOST_MPL_MULTICHAR_POP_FRONT(c) \ + (((1<<((BOOST_MPL_MULTICHAR_LENGTH(c)-1)*8))-1)&(unsigned)(c)) + + #endif + + struct string_tag; + struct string_iterator_tag; + + template + struct string; + + template + struct string_iterator; + + template + struct sequence_tag; + + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply; + + #define M0(z, n, data) \ + + BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C,n)) + + #define M1(z, n, data) \ + template \ + struct apply > \ + : mpl::size_t<(0 BOOST_PP_REPEAT_ ## z(n, M0, ~))> \ + {}; + + BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M1, ~) + #undef M0 + #undef M1 + }; + + template<> + struct size_impl::apply > + : mpl::size_t<0> + {}; + + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + { + typedef mpl::string_iterator type; + }; + }; + + template + struct end_impl; + + template<> + struct end_impl + { + template + struct apply; + + #define M0(z,n,data) \ + template \ + struct apply > \ + { \ + typedef mpl::string_iterator, n, 0> type; \ + }; + + BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~) + #undef M0 + }; + + template<> + struct end_impl::apply > + { + typedef mpl::string_iterator, 0, 0> type; + }; + + template + struct push_back_impl; + + template<> + struct push_back_impl + { + template + struct apply + { + BOOST_MPL_ASSERT_MSG( + (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size::type::value) + , PUSH_BACK_FAILED_MPL_STRING_IS_FULL + , (Sequence) + ); + // If the above assertion didn't fire, then the string is sparse. + // Repack the string and retry the push_back + typedef + typename mpl::push_back< + typename mpl::copy< + Sequence + , mpl::back_inserter > + >::type + , Value + >::type + type; + }; + + template + struct apply, Value, false> + { + typedef mpl::string<(char)Value::value> type; + }; + + #define M0(z,n,data) \ + template \ + struct apply, Value, false> \ + { \ + typedef \ + mpl::string< \ + BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C) \ + BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ + ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff) \ + ?BOOST_PP_CAT(C,BOOST_PP_DEC(n)) \ + :BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n)), Value::value) \ + , ((unsigned)BOOST_PP_CAT(C,BOOST_PP_DEC(n))>0xffffff) \ + ?(char)Value::value \ + :0 \ + > \ + type; \ + }; + + BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) + #undef M0 + + template + struct apply, Value, false> + { + typedef + mpl::string< + BOOST_PP_ENUM_PARAMS(BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS), C) + , BOOST_MPL_MULTICHAR_PUSH_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)), Value::value) + > + type; + }; + }; + + template + struct pop_back_impl; + + template<> + struct pop_back_impl + { + template + struct apply; + + #define M0(z,n,data) \ + template \ + struct apply > \ + { \ + BOOST_MPL_ASSERT_MSG((C0 != 0), POP_BACK_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \ + typedef \ + mpl::string< \ + BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_DEC(n), C) \ + BOOST_PP_COMMA_IF(BOOST_PP_DEC(n)) \ + BOOST_MPL_MULTICHAR_POP_BACK(BOOST_PP_CAT(C,BOOST_PP_DEC(n))) \ + > \ + type; \ + }; + + BOOST_PP_REPEAT_FROM_TO(1, BOOST_PP_INC(BOOST_MPL_STRING_MAX_PARAMS), M0, ~) + #undef M0 + }; + + template + struct push_front_impl; + + template<> + struct push_front_impl + { + template + struct apply + { + BOOST_MPL_ASSERT_MSG( + (BOOST_MPL_LIMIT_STRING_SIZE != mpl::size::type::value) + , PUSH_FRONT_FAILED_MPL_STRING_IS_FULL + , (Sequence) + ); + // If the above assertion didn't fire, then the string is sparse. + // Repack the string and retry the push_front. + typedef + typename mpl::push_front< + typename mpl::reverse_copy< + Sequence + , mpl::front_inserter > + >::type + , Value + >::type + type; + }; + + #if !BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) + template + struct apply, Value, false> + { + typedef mpl::string<(char)Value::value> type; + }; + #endif + + #define M0(z,n,data) \ + template \ + struct apply, Value, true> \ + { \ + typedef \ + mpl::string< \ + (char)Value::value \ + BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, n, C) \ + > \ + type; \ + }; + + BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) + #undef M0 + + template + struct apply, Value, false> + { + typedef + mpl::string< + BOOST_MPL_MULTICHAR_PUSH_FRONT(C0, Value::value) + , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C) + > + type0; + + #if BOOST_WORKAROUND(__SUNPRO_CC, BOOST_TESTED_AT(0x590)) + typedef + typename mpl::if_< + mpl::empty > + , mpl::string<(char)Value::value> + , type0 + >::type + type; + #else + typedef type0 type; + #endif + }; + }; + + template + struct pop_front_impl; + + template<> + struct pop_front_impl + { + template + struct apply; + + #define M0(z,n,data) \ + template \ + struct apply, true> \ + { \ + BOOST_MPL_ASSERT_MSG((C0 != 0), POP_FRONT_FAILED_MPL_STRING_IS_EMPTY, (mpl::string<>)); \ + typedef \ + mpl::string \ + type; \ + }; + + BOOST_PP_REPEAT_FROM_TO(1, BOOST_MPL_STRING_MAX_PARAMS, M0, ~) + #undef M0 + + template + struct apply, false> + { + typedef + mpl::string< + BOOST_MPL_MULTICHAR_POP_FRONT(C0) + , BOOST_PP_ENUM_SHIFTED_PARAMS(BOOST_MPL_STRING_MAX_PARAMS, C) + > + type; + }; + }; + + template + struct insert_range_impl; + + template<> + struct insert_range_impl + { + template + struct apply + : mpl::copy< + mpl::joint_view< + mpl::iterator_range< + mpl::string_iterator + , Pos + > + , mpl::joint_view< + Range + , mpl::iterator_range< + Pos + , typename mpl::end::type + > + > + > + , mpl::back_inserter > + > + {}; + }; + + template + struct insert_impl; + + template<> + struct insert_impl + { + template + struct apply + : mpl::insert_range > + {}; + }; + + template + struct erase_impl; + + template<> + struct erase_impl + { + template + struct apply + : mpl::copy< + mpl::joint_view< + mpl::iterator_range< + mpl::string_iterator + , First + > + , mpl::iterator_range< + typename mpl::if_na::type>::type + , typename mpl::end::type + > + > + , mpl::back_inserter > + > + {}; + }; + + template + struct clear_impl; + + template<> + struct clear_impl + { + template + struct apply + { + typedef mpl::string<> type; + }; + }; + + #define M0(z, n, data) \ + template \ + struct string_iterator, n, J> \ + { \ + enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == J + 1) }; \ + typedef mpl::string string; \ + typedef std::bidirectional_iterator_tag category; \ + typedef \ + mpl::string_iterator \ + next; \ + typedef \ + mpl::string_iterator \ + prior; \ + typedef mpl::char_ type; \ + }; \ + template \ + struct string_iterator, n, 0> \ + { \ + enum { eomc_ = (BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, n)) == 1) }; \ + typedef mpl::string string; \ + typedef std::bidirectional_iterator_tag category; \ + typedef \ + mpl::string_iterator \ + next; \ + typedef \ + mpl::string_iterator< \ + string \ + , n - 1 \ + , BOOST_MPL_MULTICHAR_LENGTH(BOOST_PP_CAT(C, BOOST_PP_DEC(n))) - 1 \ + > \ + prior; \ + typedef mpl::char_ type; \ + }; + + BOOST_PP_REPEAT(BOOST_MPL_STRING_MAX_PARAMS, M0, ~) + #undef M0 + + template + struct string + { + /// INTERNAL ONLY + enum + { + front_ = C0 + , back_ = BOOST_PP_CAT(C, BOOST_PP_DEC(BOOST_MPL_STRING_MAX_PARAMS)) + }; + + typedef char value_type; + typedef string type; + typedef string_tag tag; + }; + + namespace aux_ + { + template + struct next_unless + : mpl::next + {}; + + template + struct next_unless + { + typedef End type; + }; + + template + struct deref_unless + : mpl::deref + {}; + + template + struct deref_unless + { + typedef mpl::char_<'\0'> type; + }; + } + + template + struct c_str + { + typedef typename mpl::end::type iend; + typedef typename mpl::begin::type i0; + #define M0(z, n, data) \ + typedef \ + typename mpl::aux_::next_unless::type \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)); + BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~) + #undef M0 + + typedef c_str type; + static typename Sequence::value_type const value[BOOST_MPL_LIMIT_STRING_SIZE+1]; + }; + + template + typename Sequence::value_type const c_str::value[BOOST_MPL_LIMIT_STRING_SIZE+1] = + { + #define M0(z, n, data) \ + mpl::aux_::deref_unless::type::value, + BOOST_PP_REPEAT(BOOST_MPL_LIMIT_STRING_SIZE, M0, ~) + #undef M0 + '\0' + }; + +}} // namespace boost + +#endif // BOOST_MPL_STRING_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/switch.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/switch.hpp new file mode 100644 index 0000000..4437591 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/switch.hpp @@ -0,0 +1,49 @@ + +#ifndef BOOST_MPL_SWITCH_HPP_INCLUDED +#define BOOST_MPL_SWITCH_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: switch.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Body) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct switch_ +{ + typedef typename find_if< + Body + , apply1< lambda< first<_1> >, T > + >::type iter_; + + typedef typename deref::type pair_; + typedef typename lambda< typename second::type >::type f_; + typedef typename apply1::type type; + + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,switch_,(Body,T)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, switch_) + +}} + +#endif // BOOST_MPL_SWITCH_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/tag.hpp new file mode 100644 index 0000000..952f18e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/tag.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_TAG_HPP_INCLUDED +#define BOOST_MPL_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { +template< typename T > struct tag_impl +{ + typedef typename T::tag type; +}; +} + +template< typename T, typename Default = void_ > struct tag +#if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) + : if_< + aux::has_tag + , aux::tag_impl + , Default + >::type +{ +#else +{ + typedef typename eval_if< + aux::has_tag + , aux::tag_impl + , Default + >::type type; + +#endif +}; + +}} + +#endif // BOOST_MPL_TAG_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/times.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/times.hpp new file mode 100644 index 0000000..4419c6b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/times.hpp @@ -0,0 +1,21 @@ + +#ifndef BOOST_MPL_TIMES_HPP_INCLUDED +#define BOOST_MPL_TIMES_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: times.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#define AUX778076_OP_NAME times +#define AUX778076_OP_TOKEN * +#include + +#endif // BOOST_MPL_TIMES_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform.hpp new file mode 100644 index 0000000..44313bd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform.hpp @@ -0,0 +1,145 @@ + +#ifndef BOOST_MPL_TRANSFORM_HPP_INCLUDED +#define BOOST_MPL_TRANSFORM_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: transform.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< + typename Seq + , typename Op + , typename In + > +struct transform1_impl + : fold< + Seq + , typename In::state + , bind2< typename lambda< typename In::operation >::type + , _1 + , bind1< typename lambda::type, _2> + > + > +{ +}; + +template< + typename Seq + , typename Op + , typename In + > +struct reverse_transform1_impl + : reverse_fold< + Seq + , typename In::state + , bind2< typename lambda< typename In::operation >::type + , _1 + , bind1< typename lambda::type, _2> + > + > +{ +}; + +template< + typename Seq1 + , typename Seq2 + , typename Op + , typename In + > +struct transform2_impl + : fold< + pair_view + , typename In::state + , bind2< typename lambda< typename In::operation >::type + , _1 + , bind2< + typename lambda::type + , bind1,_2> + , bind1,_2> + > + > + > +{ +}; + +template< + typename Seq1 + , typename Seq2 + , typename Op + , typename In + > +struct reverse_transform2_impl + : reverse_fold< + pair_view + , typename In::state + , bind2< typename lambda< typename In::operation >::type + , _1 + , bind2< typename lambda< Op >::type + , bind1,_2> + , bind1,_2> + > + > + > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, transform1) +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(4, transform2) + +#define AUX778076_TRANSFORM_DEF(name) \ +template< \ + typename BOOST_MPL_AUX_NA_PARAM(Seq1) \ + , typename BOOST_MPL_AUX_NA_PARAM(Seq2OrOperation) \ + , typename BOOST_MPL_AUX_NA_PARAM(OperationOrInserter) \ + , typename BOOST_MPL_AUX_NA_PARAM(Inserter) \ + > \ +struct name \ +{ \ + typedef typename eval_if< \ + or_< \ + is_na \ + , is_lambda_expression< Seq2OrOperation > \ + , not_< is_sequence > \ + > \ + , name##1 \ + , name##2 \ + >::type type; \ +}; \ +BOOST_MPL_AUX_NA_SPEC(4, name) \ +/**/ + +AUX778076_TRANSFORM_DEF(transform) +AUX778076_TRANSFORM_DEF(reverse_transform) + +#undef AUX778076_TRANSFORM_DEF + +}} + +#endif // BOOST_MPL_TRANSFORM_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform_view.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform_view.hpp new file mode 100644 index 0000000..70da02c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/transform_view.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED +#define BOOST_MPL_TRANSFORM_VIEW_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: transform_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(F) + > +struct transform_view +{ + private: + typedef typename lambda::type f_; + typedef typename begin::type first_; + typedef typename end::type last_; + + public: + struct tag; + typedef transform_view type; + typedef aux::transform_iter< first_,last_,f_ > begin; + typedef aux::transform_iter< last_,last_,f_ > end; +}; + +BOOST_MPL_AUX_NA_SPEC(2, transform_view) + +}} + +#endif // BOOST_MPL_TRANSFORM_VIEW_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unique.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unique.hpp new file mode 100644 index 0000000..ea8af5c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unique.hpp @@ -0,0 +1,85 @@ + +#ifndef BOOST_MPL_UNIQUE_HPP_INCLUDED +#define BOOST_MPL_UNIQUE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// Copyright John R. Bandela 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: unique.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +namespace aux { + +template< typename Predicate, typename Operation > +struct unique_op +{ + template< typename Pair, typename T > struct apply + { + typedef typename Pair::first seq_; + typedef typename Pair::second prior_; + typedef typename eval_if< + and_< is_not_na, apply2 > + , identity + , apply2 + >::type new_seq_; + + typedef pair type; + }; +}; + +template< + typename Sequence + , typename Predicate + , typename Inserter + > +struct unique_impl + : first< typename fold< + Sequence + , pair< typename Inserter::state,na > + , protect< aux::unique_op > + >::type > +{ +}; + +template< + typename Sequence + , typename Predicate + , typename Inserter + > +struct reverse_unique_impl + : first< typename reverse_fold< + Sequence + , pair< typename Inserter::state,na > + , protect< aux::unique_op > + >::type > +{ +}; + +} // namespace aux + +BOOST_MPL_AUX_INSERTER_ALGORITHM_DEF(3, unique) + +}} + +#endif // BOOST_MPL_UNIQUE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unpack_args.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unpack_args.hpp new file mode 100644 index 0000000..f785097 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/unpack_args.hpp @@ -0,0 +1,150 @@ + +#if !defined(BOOST_PP_IS_ITERATING) + +///// header body + +#ifndef BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED +#define BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2002-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: unpack_args.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#if !defined(BOOST_MPL_PREPROCESSING_MODE) +# include +# include +# include +# include +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER unpack_args.hpp +# include + +#else + +# include +# include +# include +# include +# include +# include + + +namespace boost { namespace mpl { + +// local macros, #undef-ined at the end of the header + +# define AUX778076_UNPACK(unused, i, Args) \ + , typename at_c::type \ + /**/ + +# define AUX778076_UNPACKED_ARGS(n, Args) \ + BOOST_MPL_PP_REPEAT(n, AUX778076_UNPACK, Args) \ + /**/ + +namespace aux { + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +template< int size, typename F, typename Args > +struct unpack_args_impl; +#else +template< BOOST_MPL_AUX_NTTP_DECL(int, size) > struct unpack_args_impl +{ + template< typename F, typename Args > struct apply; +}; +#endif + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, )) +#include BOOST_PP_ITERATE() + +} + +template< + typename F + > +struct unpack_args +{ + template< typename Args > struct apply +#if !defined(BOOST_MPL_CFG_NO_NESTED_FORWARDING) +# if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + : aux::unpack_args_impl< size::value,F,Args > +# else + : aux::unpack_args_impl< size::value > + ::template apply< F,Args > +# endif + { +#else // BOOST_MPL_CFG_NO_NESTED_FORWARDING + { + typedef typename aux::unpack_args_impl< + size::value + , F + , Args + >::type type; +#endif + }; +}; + +BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args) + +# undef AUX778076_UNPACK +# undef AUX778076_UNPACKED_ARGS + +}} + +#endif // BOOST_MPL_CFG_USE_PREPROCESSED_HEADERS +#endif // BOOST_MPL_UNPACK_ARGS_HPP_INCLUDED + +///// iteration, depth == 1 + +// For gcc 4.4 compatability, we must include the +// BOOST_PP_ITERATION_DEPTH test inside an #else clause. +#else // BOOST_PP_IS_ITERATING +#if BOOST_PP_ITERATION_DEPTH() == 1 + +# define i_ BOOST_PP_FRAME_ITERATION(1) + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) + +template< typename F, typename Args > +struct unpack_args_impl + : BOOST_PP_CAT(apply,i_)< + F + AUX778076_UNPACKED_ARGS(i_, Args) + > +{ +}; + +#else + +template<> struct unpack_args_impl +{ + template< typename F, typename Args > struct apply + : BOOST_PP_CAT(apply,i_)< + F + AUX778076_UNPACKED_ARGS(i_, Args) + > + { + }; +}; + +#endif + +# undef i_ + +#endif // BOOST_PP_ITERATION_DEPTH() +#endif // BOOST_PP_IS_ITERATING diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/upper_bound.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/upper_bound.hpp new file mode 100644 index 0000000..bfafb64 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/upper_bound.hpp @@ -0,0 +1,141 @@ + +#ifndef BOOST_MPL_UPPER_BOUND_HPP_INCLUDED +#define BOOST_MPL_UPPER_BOUND_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: upper_bound.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include + +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) +# define BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL +#endif + +#if !defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL) +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +#else +# include +# include +#endif + +#include + +namespace boost { namespace mpl { + +#if defined(BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL) + +// agurt 23/oct/02: has a wrong complexity etc., but at least it works; +// feel free to contribute a better implementation! +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + , typename Predicate = less<> + , typename pred_ = typename lambda::type + > +struct upper_bound + : find_if< Sequence, bind2 > +{ +}; + +#else + +namespace aux { + +template< + typename Distance + , typename Predicate + , typename T + , typename DeferredIterator + > +struct upper_bound_step_impl; + +template< + typename Distance + , typename Predicate + , typename T + , typename DeferredIterator + > +struct upper_bound_step +{ + typedef typename eval_if< + Distance + , upper_bound_step_impl + , DeferredIterator + >::type type; +}; + +template< + typename Distance + , typename Predicate + , typename T + , typename DeferredIterator + > +struct upper_bound_step_impl +{ + typedef typename divides< Distance, long_<2> >::type offset_; + typedef typename DeferredIterator::type iter_; + typedef typename advance< iter_,offset_ >::type middle_; + typedef typename apply2< + Predicate + , T + , typename deref::type + >::type cond_; + + typedef typename prior< minus< Distance, offset_ > >::type step_; + typedef upper_bound_step< offset_,Predicate,T,DeferredIterator > step_forward_; + typedef upper_bound_step< step_,Predicate,T,next > step_backward_; + typedef typename eval_if< + cond_ + , step_forward_ + , step_backward_ + >::type type; +}; + +} // namespace aux + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + , typename Predicate = less<> + > +struct upper_bound +{ + private: + typedef typename lambda::type pred_; + typedef typename size::type size_; + + public: + typedef typename aux::upper_bound_step< + size_,pred_,T,begin + >::type type; +}; + +#endif // BOOST_MPL_CFG_STRIPPED_DOWN_UPPER_BOUND_IMPL + +BOOST_MPL_AUX_NA_SPEC(2, upper_bound) + +}} + +#endif // BOOST_MPL_UPPER_BOUND_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type.hpp new file mode 100644 index 0000000..9ba2223 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type.hpp @@ -0,0 +1,42 @@ + +#ifndef BOOST_MPL_VALUE_TYPE_HPP_INCLUDED +#define BOOST_MPL_VALUE_TYPE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: value_type.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< + typename BOOST_MPL_AUX_NA_PARAM(AssociativeSequence) + , typename BOOST_MPL_AUX_NA_PARAM(T) + > +struct value_type + : apply_wrap2< + value_type_impl< typename sequence_tag::type > + , AssociativeSequence, T > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(2,value_type,(AssociativeSequence,T)) +}; + +BOOST_MPL_AUX_NA_SPEC(2, value_type) + +}} + +#endif // BOOST_MPL_VALUE_TYPE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type_fwd.hpp new file mode 100644 index 0000000..c86820a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/value_type_fwd.hpp @@ -0,0 +1,25 @@ + +#ifndef BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED +#define BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2003-2004 +// Copyright David Abrahams 2003-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: value_type_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +namespace boost { namespace mpl { + +template< typename Tag > struct value_type_impl; +template< typename AssociativeSequence, typename T > struct value_type; + +}} + +#endif // BOOST_MPL_VALUE_TYPE_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector.hpp new file mode 100644 index 0000000..90eeb9a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector.hpp @@ -0,0 +1,57 @@ + +#ifndef BOOST_MPL_VECTOR_HPP_INCLUDED +#define BOOST_MPL_VECTOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/O1_size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/O1_size.hpp new file mode 100644 index 0000000..a2c29f2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/O1_size.hpp @@ -0,0 +1,56 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_O1_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: O1_size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/at.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/at.hpp new file mode 100644 index 0000000..f836f17 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/at.hpp @@ -0,0 +1,116 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_AT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: at.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/back.hpp new file mode 100644 index 0000000..535d0eb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/back.hpp @@ -0,0 +1,59 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/begin_end.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/begin_end.hpp new file mode 100644 index 0000000..21fe922 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/begin_end.hpp @@ -0,0 +1,49 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_BEGIN_END_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: begin_end.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/clear.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/clear.hpp new file mode 100644 index 0000000..b9ddad6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/clear.hpp @@ -0,0 +1,55 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_CLEAR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: clear.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/empty.hpp new file mode 100644 index 0000000..1a02437 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/empty.hpp @@ -0,0 +1,68 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_EMPTY_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: empty.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/front.hpp new file mode 100644 index 0000000..ad9c6e5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/front.hpp @@ -0,0 +1,56 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2008 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/include_preprocessed.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/include_preprocessed.hpp new file mode 100644 index 0000000..9d15d3e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/include_preprocessed.hpp @@ -0,0 +1,55 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +// Copyright Aleksey Gurtovoy 2000-2006 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: include_preprocessed.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/item.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/item.hpp new file mode 100644 index 0000000..5832050 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/item.hpp @@ -0,0 +1,103 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_ITEM_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: item.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/iterator.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/iterator.hpp new file mode 100644 index 0000000..5336b51 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/iterator.hpp @@ -0,0 +1,130 @@ + +#ifndef BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED +#define BOOST_MPL_AUX_VECTOR_ITERATOR_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: iterator.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered.hpp new file mode 100644 index 0000000..493bd5f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered.hpp @@ -0,0 +1,218 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered_c.hpp new file mode 100644 index 0000000..3a85061 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/numbered_c.hpp @@ -0,0 +1,77 @@ + +// NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION + +#if defined(BOOST_PP_IS_ITERATING) + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: numbered_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_back.hpp new file mode 100644 index 0000000..9d20876 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_back.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_POP_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_front.hpp new file mode 100644 index 0000000..eb901dc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/pop_front.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_POP_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: pop_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp new file mode 100644 index 0000000..dbe80fb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp @@ -0,0 +1,1528 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp new file mode 100644 index 0000000..5a088fc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp new file mode 100644 index 0000000..ed70049 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp @@ -0,0 +1,1804 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp new file mode 100644 index 0000000..03f6456 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp @@ -0,0 +1,195 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp new file mode 100644 index 0000000..015bdbf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp @@ -0,0 +1,2124 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp new file mode 100644 index 0000000..6d47c94 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp @@ -0,0 +1,238 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp new file mode 100644 index 0000000..ad93a68 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp @@ -0,0 +1,2444 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp new file mode 100644 index 0000000..f248b0d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp @@ -0,0 +1,281 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp new file mode 100644 index 0000000..4de5eab --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp @@ -0,0 +1,2764 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp new file mode 100644 index 0000000..4d09834 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp @@ -0,0 +1,325 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp new file mode 100644 index 0000000..bd8928b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp @@ -0,0 +1,829 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp new file mode 100644 index 0000000..5a088fc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp @@ -0,0 +1,149 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp new file mode 100644 index 0000000..116f112 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp @@ -0,0 +1,1144 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp new file mode 100644 index 0000000..03f6456 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp @@ -0,0 +1,195 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp new file mode 100644 index 0000000..c14c5bf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp @@ -0,0 +1,1464 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp new file mode 100644 index 0000000..6d47c94 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp @@ -0,0 +1,238 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp new file mode 100644 index 0000000..e4b7aaa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp @@ -0,0 +1,1784 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp new file mode 100644 index 0000000..f248b0d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp @@ -0,0 +1,281 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp new file mode 100644 index 0000000..f7950d3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp @@ -0,0 +1,2104 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp new file mode 100644 index 0000000..4d09834 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp @@ -0,0 +1,325 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp new file mode 100644 index 0000000..c2b52d0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp @@ -0,0 +1,139 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp new file mode 100644 index 0000000..be1bd26 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp @@ -0,0 +1,154 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp new file mode 100644 index 0000000..59fb3e8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp @@ -0,0 +1,159 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp new file mode 100644 index 0000000..5782591 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp @@ -0,0 +1,163 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp new file mode 100644 index 0000000..f7e8e87 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp @@ -0,0 +1,179 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp new file mode 100644 index 0000000..9a3d4a6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp @@ -0,0 +1,173 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp new file mode 100644 index 0000000..3edad1e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp @@ -0,0 +1,199 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp new file mode 100644 index 0000000..0dc1a0a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp @@ -0,0 +1,183 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp new file mode 100644 index 0000000..176ebfe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp @@ -0,0 +1,219 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp new file mode 100644 index 0000000..aa14301 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp @@ -0,0 +1,193 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_back.hpp new file mode 100644 index 0000000..2ec8f34 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_back.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_PUSH_BACK_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_back.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_front.hpp new file mode 100644 index 0000000..bd6abe5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/push_front.hpp @@ -0,0 +1,40 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_PUSH_FRONT_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: push_front.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/size.hpp new file mode 100644 index 0000000..b7acc25 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/size.hpp @@ -0,0 +1,49 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_SIZE_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: size.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/tag.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/tag.hpp new file mode 100644 index 0000000..02e050b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/tag.hpp @@ -0,0 +1,32 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_TAG_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: tag.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/vector0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/vector0.hpp new file mode 100644 index 0000000..26be22a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/aux_/vector0.hpp @@ -0,0 +1,52 @@ + +#ifndef BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED +#define BOOST_MPL_VECTOR_AUX_VECTOR0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0.hpp new file mode 100644 index 0000000..fe5245d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0.hpp @@ -0,0 +1,34 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR0_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector0.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0_c.hpp new file mode 100644 index 0000000..f79e165 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector0_c.hpp @@ -0,0 +1,31 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR0_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector0_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10.hpp new file mode 100644 index 0000000..1fe9c3b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR10_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector10.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10_c.hpp new file mode 100644 index 0000000..bdc860f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector10_c.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR10_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector10_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20.hpp new file mode 100644 index 0000000..f781e71 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR20_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector20.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20_c.hpp new file mode 100644 index 0000000..cd9b0bc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector20_c.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR20_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector20_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30.hpp new file mode 100644 index 0000000..fb06462 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR30_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector30.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30_c.hpp new file mode 100644 index 0000000..b9fa97b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector30_c.hpp @@ -0,0 +1,47 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR30_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector30_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40.hpp new file mode 100644 index 0000000..46fb5bc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR40_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector40.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40_c.hpp new file mode 100644 index 0000000..4958021 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector40_c.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR40_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector40_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50.hpp new file mode 100644 index 0000000..fb9a6ac --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50.hpp @@ -0,0 +1,45 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR50_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector50.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50_c.hpp new file mode 100644 index 0000000..791bb30 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector/vector50_c.hpp @@ -0,0 +1,46 @@ + +#ifndef BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_VECTOR50_C_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: vector50_c.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#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/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector_c.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector_c.hpp new file mode 100644 index 0000000..b74c346 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/vector_c.hpp @@ -0,0 +1,61 @@ + +#ifndef BOOST_MPL_VECTOR_C_HPP_INCLUDED +#define BOOST_MPL_VECTOR_C_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: vector_c.hpp 49271 2008-10-11 06:46:00Z agurtovoy $ +// $Date: 2008-10-11 02:46:00 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49271 $ + +#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_C_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c).hpp \ + /**/ +#else +# define AUX778076_VECTOR_C_HEADER \ + BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_MPL_LIMIT_VECTOR_SIZE),_c)##.hpp \ + /**/ +#endif + +# include BOOST_PP_STRINGIZE(boost/mpl/vector/AUX778076_VECTOR_C_HEADER) +# undef AUX778076_VECTOR_C_HEADER +# include +#endif + +#include + +#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ + && !defined(BOOST_MPL_PREPROCESSING_MODE) + +# define BOOST_MPL_PREPROCESSED_HEADER vector_c.hpp +# include + +#else + +# include + +# define AUX778076_SEQUENCE_NAME vector_c +# define AUX778076_SEQUENCE_LIMIT BOOST_MPL_LIMIT_VECTOR_SIZE +# define AUX778076_SEQUENCE_NAME_N(n) BOOST_PP_CAT(BOOST_PP_CAT(vector,n),_c) +# define AUX778076_SEQUENCE_CONVERT_CN_TO(z,n,TARGET) TARGET(BOOST_PP_CAT(C,n)) +# define AUX778076_SEQUENCE_INTEGRAL_WRAPPER +# include + +#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS +#endif // BOOST_MPL_VECTOR_C_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void.hpp new file mode 100644 index 0000000..439a523 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void.hpp @@ -0,0 +1,76 @@ + +#ifndef BOOST_MPL_VOID_HPP_INCLUDED +#define BOOST_MPL_VOID_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: void.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +// [JDG Feb-4-2003] made void_ a complete type to allow it to be +// instantiated so that it can be passed in as an object that can be +// used to select an overloaded function. Possible use includes signaling +// a zero arity functor evaluation call. +struct void_ { typedef void_ type; }; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE + +namespace boost { namespace mpl { + +template< typename T > +struct is_void_ + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +template<> +struct is_void_ + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +template< typename T > +struct is_not_void_ + : true_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using true_::value; +#endif +}; + +template<> +struct is_not_void_ + : false_ +{ +#if BOOST_WORKAROUND(BOOST_MSVC, < 1300) + using false_::value; +#endif +}; + +BOOST_MPL_AUX_NA_SPEC(1, is_void_) +BOOST_MPL_AUX_NA_SPEC(1, is_not_void_) + +}} + +#endif // BOOST_MPL_VOID_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void_fwd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void_fwd.hpp new file mode 100644 index 0000000..8db065f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/void_fwd.hpp @@ -0,0 +1,26 @@ + +#ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED +#define BOOST_MPL_VOID_FWD_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2001-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id: void_fwd.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN + +struct void_; + +BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE +BOOST_MPL_AUX_ADL_BARRIER_DECL(void_) + +#endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/zip_view.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/zip_view.hpp new file mode 100644 index 0000000..c05f9cc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/mpl/zip_view.hpp @@ -0,0 +1,64 @@ + +#ifndef BOOST_MPL_ZIP_VIEW_HPP_INCLUDED +#define BOOST_MPL_ZIP_VIEW_HPP_INCLUDED + +// Copyright Aleksey Gurtovoy 2000-2002 +// Copyright David Abrahams 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: zip_view.hpp 49267 2008-10-11 06:19:02Z agurtovoy $ +// $Date: 2008-10-11 02:19:02 -0400 (Sat, 11 Oct 2008) $ +// $Revision: 49267 $ + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace mpl { + +template< typename IteratorSeq > +struct zip_iterator +{ + typedef forward_iterator_tag category; + typedef typename transform1< + IteratorSeq + , deref<_1> + >::type type; + + typedef zip_iterator< + typename transform1< + IteratorSeq + , mpl::next<_1> + >::type + > next; +}; + +template< + typename BOOST_MPL_AUX_NA_PARAM(Sequences) + > +struct zip_view +{ + private: + typedef typename transform1< Sequences, mpl::begin<_1> >::type first_ones_; + typedef typename transform1< Sequences, mpl::end<_1> >::type last_ones_; + + public: + typedef nested_begin_end_tag tag; + typedef zip_iterator begin; + typedef zip_iterator end; +}; + +BOOST_MPL_AUX_NA_SPEC(1, zip_view) + +}} + +#endif // BOOST_MPL_ZIP_VIEW_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/noncopyable.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/noncopyable.hpp new file mode 100644 index 0000000..7deb935 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/noncopyable.hpp @@ -0,0 +1,36 @@ +// Boost noncopyable.hpp header file --------------------------------------// + +// (C) Copyright Beman Dawes 1999-2003. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/utility for documentation. + +#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED +#define BOOST_NONCOPYABLE_HPP_INCLUDED + +namespace boost { + +// Private copy constructor and copy assignment ensure classes derived from +// class noncopyable cannot be copied. + +// Contributed by Dave Abrahams + +namespace noncopyable_ // protection from unintended ADL +{ + class noncopyable + { + protected: + noncopyable() {} + ~noncopyable() {} + private: // emphasize the following members are private + noncopyable( const noncopyable& ); + const noncopyable& operator=( const noncopyable& ); + }; +} + +typedef noncopyable_::noncopyable noncopyable; + +} // namespace boost + +#endif // BOOST_NONCOPYABLE_HPP_INCLUDED diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/operators.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/operators.hpp new file mode 100644 index 0000000..d11e4ae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/operators.hpp @@ -0,0 +1,976 @@ +// Boost operators.hpp header file ----------------------------------------// + +// (C) Copyright David Abrahams, Jeremy Siek, Daryle Walker 1999-2001. +// Distributed under the Boost Software License, Version 1.0. (See +// accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/utility/operators.htm for documentation. + +// Revision History +// 07 Aug 08 Added "euclidean" spelling. (Daniel Frey) +// 03 Apr 08 Make sure "convertible to bool" is sufficient +// for T::operator<, etc. (Daniel Frey) +// 24 May 07 Changed empty_base to depend on T, see +// http://svn.boost.org/trac/boost/ticket/979 +// 21 Oct 02 Modified implementation of operators to allow compilers with a +// correct named return value optimization (NRVO) to produce optimal +// code. (Daniel Frey) +// 02 Dec 01 Bug fixed in random_access_iteratable. (Helmut Zeisel) +// 28 Sep 01 Factored out iterator operator groups. (Daryle Walker) +// 27 Aug 01 'left' form for non commutative operators added; +// additional classes for groups of related operators added; +// workaround for empty base class optimization +// bug of GCC 3.0 (Helmut Zeisel) +// 25 Jun 01 output_iterator_helper changes: removed default template +// parameters, added support for self-proxying, additional +// documentation and tests (Aleksey Gurtovoy) +// 29 May 01 Added operator classes for << and >>. Added input and output +// iterator helper classes. Added classes to connect equality and +// relational operators. Added classes for groups of related +// operators. Reimplemented example operator and iterator helper +// classes in terms of the new groups. (Daryle Walker, with help +// from Alexy Gurtovoy) +// 11 Feb 01 Fixed bugs in the iterator helpers which prevented explicitly +// supplied arguments from actually being used (Dave Abrahams) +// 04 Jul 00 Fixed NO_OPERATORS_IN_NAMESPACE bugs, major cleanup and +// refactoring of compiler workarounds, additional documentation +// (Alexy Gurtovoy and Mark Rodgers with some help and prompting from +// Dave Abrahams) +// 28 Jun 00 General cleanup and integration of bugfixes from Mark Rodgers and +// Jeremy Siek (Dave Abrahams) +// 20 Jun 00 Changes to accommodate Borland C++Builder 4 and Borland C++ 5.5 +// (Mark Rodgers) +// 20 Jun 00 Minor fixes to the prior revision (Aleksey Gurtovoy) +// 10 Jun 00 Support for the base class chaining technique was added +// (Aleksey Gurtovoy). See documentation and the comments below +// for the details. +// 12 Dec 99 Initial version with iterator operators (Jeremy Siek) +// 18 Nov 99 Change name "divideable" to "dividable", remove unnecessary +// specializations of dividable, subtractable, modable (Ed Brey) +// 17 Nov 99 Add comments (Beman Dawes) +// Remove unnecessary specialization of operators<> (Ed Brey) +// 15 Nov 99 Fix less_than_comparable second operand type for first two +// operators.(Beman Dawes) +// 12 Nov 99 Add operators templates (Ed Brey) +// 11 Nov 99 Add single template parameter version for compilers without +// partial specialization (Beman Dawes) +// 10 Nov 99 Initial version + +// 10 Jun 00: +// An additional optional template parameter was added to most of +// operator templates to support the base class chaining technique (see +// documentation for the details). Unfortunately, a straightforward +// implementation of this change would have broken compatibility with the +// previous version of the library by making it impossible to use the same +// template name (e.g. 'addable') for both the 1- and 2-argument versions of +// an operator template. This implementation solves the backward-compatibility +// issue at the cost of some simplicity. +// +// One of the complications is an existence of special auxiliary class template +// 'is_chained_base<>' (see 'detail' namespace below), which is used +// to determine whether its template parameter is a library's operator template +// or not. You have to specialize 'is_chained_base<>' for each new +// operator template you add to the library. +// +// However, most of the non-trivial implementation details are hidden behind +// several local macros defined below, and as soon as you understand them, +// you understand the whole library implementation. + +#ifndef BOOST_OPERATORS_HPP +#define BOOST_OPERATORS_HPP + +#include +#include +#include + +#if defined(__sgi) && !defined(__GNUC__) +# pragma set woff 1234 +#endif + +#if defined(BOOST_MSVC) +# pragma warning( disable : 4284 ) // complaint about return type of +#endif // operator-> not begin a UDT + +namespace boost { +namespace detail { + +template class empty_base { + +// Helmut Zeisel, empty base class optimization bug with GCC 3.0.0 +#if defined(__GNUC__) && __GNUC__==3 && __GNUC_MINOR__==0 && __GNU_PATCHLEVEL__==0 + bool dummy; +#endif + +}; + +} // namespace detail +} // namespace boost + +// In this section we supply the xxxx1 and xxxx2 forms of the operator +// templates, which are explicitly targeted at the 1-type-argument and +// 2-type-argument operator forms, respectively. Some compilers get confused +// when inline friend functions are overloaded in namespaces other than the +// global namespace. When BOOST_NO_OPERATORS_IN_NAMESPACE is defined, all of +// these templates must go in the global namespace. + +#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE +namespace boost +{ +#endif + +// Basic operator classes (contributed by Dave Abrahams) ------------------// + +// Note that friend functions defined in a class are implicitly inline. +// See the C++ std, 11.4 [class.friend] paragraph 5 + +template > +struct less_than_comparable2 : B +{ + friend bool operator<=(const T& x, const U& y) { return !static_cast(x > y); } + friend bool operator>=(const T& x, const U& y) { return !static_cast(x < y); } + friend bool operator>(const U& x, const T& y) { return y < x; } + friend bool operator<(const U& x, const T& y) { return y > x; } + friend bool operator<=(const U& x, const T& y) { return !static_cast(y < x); } + friend bool operator>=(const U& x, const T& y) { return !static_cast(y > x); } +}; + +template > +struct less_than_comparable1 : B +{ + friend bool operator>(const T& x, const T& y) { return y < x; } + friend bool operator<=(const T& x, const T& y) { return !static_cast(y < x); } + friend bool operator>=(const T& x, const T& y) { return !static_cast(x < y); } +}; + +template > +struct equality_comparable2 : B +{ + friend bool operator==(const U& y, const T& x) { return x == y; } + friend bool operator!=(const U& y, const T& x) { return !static_cast(x == y); } + friend bool operator!=(const T& y, const U& x) { return !static_cast(y == x); } +}; + +template > +struct equality_comparable1 : B +{ + friend bool operator!=(const T& x, const T& y) { return !static_cast(x == y); } +}; + +// A macro which produces "name_2left" from "name". +#define BOOST_OPERATOR2_LEFT(name) name##2##_##left + +// NRVO-friendly implementation (contributed by Daniel Frey) ---------------// + +#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +// This is the optimal implementation for ISO/ANSI C++, +// but it requires the compiler to implement the NRVO. +// If the compiler has no NRVO, this is the best symmetric +// implementation available. + +#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( const T& lhs, const U& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ + friend T operator OP( const U& lhs, const T& rhs ) \ + { T nrv( rhs ); nrv OP##= lhs; return nrv; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( const T& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; + +#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( const T& lhs, const U& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; \ + \ +template > \ +struct BOOST_OPERATOR2_LEFT(NAME) : B \ +{ \ + friend T operator OP( const U& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( const T& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; + +#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +// For compilers without NRVO the following code is optimal, but not +// symmetric! Note that the implementation of +// BOOST_OPERATOR2_LEFT(NAME) only looks cool, but doesn't provide +// optimization opportunities to the compiler :) + +#define BOOST_BINARY_OPERATOR_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \ + friend T operator OP( const U& lhs, T rhs ) { return rhs OP##= lhs; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \ +}; + +#define BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \ +}; \ + \ +template > \ +struct BOOST_OPERATOR2_LEFT(NAME) : B \ +{ \ + friend T operator OP( const U& lhs, const T& rhs ) \ + { return T( lhs ) OP##= rhs; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \ +}; + +#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +BOOST_BINARY_OPERATOR_COMMUTATIVE( multipliable, * ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( addable, + ) +BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( subtractable, - ) +BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( dividable, / ) +BOOST_BINARY_OPERATOR_NON_COMMUTATIVE( modable, % ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( xorable, ^ ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( andable, & ) +BOOST_BINARY_OPERATOR_COMMUTATIVE( orable, | ) + +#undef BOOST_BINARY_OPERATOR_COMMUTATIVE +#undef BOOST_BINARY_OPERATOR_NON_COMMUTATIVE +#undef BOOST_OPERATOR2_LEFT + +// incrementable and decrementable contributed by Jeremy Siek + +template > +struct incrementable : B +{ + friend T operator++(T& x, int) + { + incrementable_type nrv(x); + ++x; + return nrv; + } +private: // The use of this typedef works around a Borland bug + typedef T incrementable_type; +}; + +template > +struct decrementable : B +{ + friend T operator--(T& x, int) + { + decrementable_type nrv(x); + --x; + return nrv; + } +private: // The use of this typedef works around a Borland bug + typedef T decrementable_type; +}; + +// Iterator operator classes (contributed by Jeremy Siek) ------------------// + +template > +struct dereferenceable : B +{ + P operator->() const + { + return &*static_cast(*this); + } +}; + +template > +struct indexable : B +{ + R operator[](I n) const + { + return *(static_cast(*this) + n); + } +}; + +// More operator classes (contributed by Daryle Walker) --------------------// +// (NRVO-friendly implementation contributed by Daniel Frey) ---------------// + +#if defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +#define BOOST_BINARY_OPERATOR( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( const T& lhs, const U& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( const T& lhs, const T& rhs ) \ + { T nrv( lhs ); nrv OP##= rhs; return nrv; } \ +}; + +#else // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +#define BOOST_BINARY_OPERATOR( NAME, OP ) \ +template > \ +struct NAME##2 : B \ +{ \ + friend T operator OP( T lhs, const U& rhs ) { return lhs OP##= rhs; } \ +}; \ + \ +template > \ +struct NAME##1 : B \ +{ \ + friend T operator OP( T lhs, const T& rhs ) { return lhs OP##= rhs; } \ +}; + +#endif // defined(BOOST_HAS_NRVO) || defined(BOOST_FORCE_SYMMETRIC_OPERATORS) + +BOOST_BINARY_OPERATOR( left_shiftable, << ) +BOOST_BINARY_OPERATOR( right_shiftable, >> ) + +#undef BOOST_BINARY_OPERATOR + +template > +struct equivalent2 : B +{ + friend bool operator==(const T& x, const U& y) + { + return !static_cast(x < y) && !static_cast(x > y); + } +}; + +template > +struct equivalent1 : B +{ + friend bool operator==(const T&x, const T&y) + { + return !static_cast(x < y) && !static_cast(y < x); + } +}; + +template > +struct partially_ordered2 : B +{ + friend bool operator<=(const T& x, const U& y) + { return static_cast(x < y) || static_cast(x == y); } + friend bool operator>=(const T& x, const U& y) + { return static_cast(x > y) || static_cast(x == y); } + friend bool operator>(const U& x, const T& y) + { return y < x; } + friend bool operator<(const U& x, const T& y) + { return y > x; } + friend bool operator<=(const U& x, const T& y) + { return static_cast(y > x) || static_cast(y == x); } + friend bool operator>=(const U& x, const T& y) + { return static_cast(y < x) || static_cast(y == x); } +}; + +template > +struct partially_ordered1 : B +{ + friend bool operator>(const T& x, const T& y) + { return y < x; } + friend bool operator<=(const T& x, const T& y) + { return static_cast(x < y) || static_cast(x == y); } + friend bool operator>=(const T& x, const T& y) + { return static_cast(y < x) || static_cast(x == y); } +}; + +// Combined operator classes (contributed by Daryle Walker) ----------------// + +template > +struct totally_ordered2 + : less_than_comparable2 > {}; + +template > +struct totally_ordered1 + : less_than_comparable1 > {}; + +template > +struct additive2 + : addable2 > {}; + +template > +struct additive1 + : addable1 > {}; + +template > +struct multiplicative2 + : multipliable2 > {}; + +template > +struct multiplicative1 + : multipliable1 > {}; + +template > +struct integer_multiplicative2 + : multiplicative2 > {}; + +template > +struct integer_multiplicative1 + : multiplicative1 > {}; + +template > +struct arithmetic2 + : additive2 > {}; + +template > +struct arithmetic1 + : additive1 > {}; + +template > +struct integer_arithmetic2 + : additive2 > {}; + +template > +struct integer_arithmetic1 + : additive1 > {}; + +template > +struct bitwise2 + : xorable2 > > {}; + +template > +struct bitwise1 + : xorable1 > > {}; + +template > +struct unit_steppable + : incrementable > {}; + +template > +struct shiftable2 + : left_shiftable2 > {}; + +template > +struct shiftable1 + : left_shiftable1 > {}; + +template > +struct ring_operators2 + : additive2 > > {}; + +template > +struct ring_operators1 + : additive1 > {}; + +template > +struct ordered_ring_operators2 + : ring_operators2 > {}; + +template > +struct ordered_ring_operators1 + : ring_operators1 > {}; + +template > +struct field_operators2 + : ring_operators2 > > {}; + +template > +struct field_operators1 + : ring_operators1 > {}; + +template > +struct ordered_field_operators2 + : field_operators2 > {}; + +template > +struct ordered_field_operators1 + : field_operators1 > {}; + +template > +struct euclidian_ring_operators2 + : ring_operators2 > > > > {}; + +template > +struct euclidian_ring_operators1 + : ring_operators1 > > {}; + +template > +struct ordered_euclidian_ring_operators2 + : totally_ordered2 > {}; + +template > +struct ordered_euclidian_ring_operators1 + : totally_ordered1 > {}; + +template > +struct euclidean_ring_operators2 + : ring_operators2 > > > > {}; + +template > +struct euclidean_ring_operators1 + : ring_operators1 > > {}; + +template > +struct ordered_euclidean_ring_operators2 + : totally_ordered2 > {}; + +template > +struct ordered_euclidean_ring_operators1 + : totally_ordered1 > {}; + +template > +struct input_iteratable + : equality_comparable1 > > {}; + +template > +struct output_iteratable + : incrementable {}; + +template > +struct forward_iteratable + : input_iteratable {}; + +template > +struct bidirectional_iteratable + : forward_iteratable > {}; + +// To avoid repeated derivation from equality_comparable, +// which is an indirect base class of bidirectional_iterable, +// random_access_iteratable must not be derived from totally_ordered1 +// but from less_than_comparable1 only. (Helmut Zeisel, 02-Dec-2001) +template > +struct random_access_iteratable + : bidirectional_iteratable > > > {}; + +#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE +} // namespace boost +#endif // BOOST_NO_OPERATORS_IN_NAMESPACE + + +// BOOST_IMPORT_TEMPLATE1 .. BOOST_IMPORT_TEMPLATE4 - +// +// When BOOST_NO_OPERATORS_IN_NAMESPACE is defined we need a way to import an +// operator template into the boost namespace. BOOST_IMPORT_TEMPLATE1 is used +// for one-argument forms of operator templates; BOOST_IMPORT_TEMPLATE2 for +// two-argument forms. Note that these macros expect to be invoked from within +// boost. + +#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE + + // The template is already in boost so we have nothing to do. +# define BOOST_IMPORT_TEMPLATE4(template_name) +# define BOOST_IMPORT_TEMPLATE3(template_name) +# define BOOST_IMPORT_TEMPLATE2(template_name) +# define BOOST_IMPORT_TEMPLATE1(template_name) + +#else // BOOST_NO_OPERATORS_IN_NAMESPACE + +# ifndef BOOST_NO_USING_TEMPLATE + + // Bring the names in with a using-declaration + // to avoid stressing the compiler. +# define BOOST_IMPORT_TEMPLATE4(template_name) using ::template_name; +# define BOOST_IMPORT_TEMPLATE3(template_name) using ::template_name; +# define BOOST_IMPORT_TEMPLATE2(template_name) using ::template_name; +# define BOOST_IMPORT_TEMPLATE1(template_name) using ::template_name; + +# else + + // Otherwise, because a Borland C++ 5.5 bug prevents a using declaration + // from working, we are forced to use inheritance for that compiler. +# define BOOST_IMPORT_TEMPLATE4(template_name) \ + template > \ + struct template_name : ::template_name {}; + +# define BOOST_IMPORT_TEMPLATE3(template_name) \ + template > \ + struct template_name : ::template_name {}; + +# define BOOST_IMPORT_TEMPLATE2(template_name) \ + template > \ + struct template_name : ::template_name {}; + +# define BOOST_IMPORT_TEMPLATE1(template_name) \ + template > \ + struct template_name : ::template_name {}; + +# endif // BOOST_NO_USING_TEMPLATE + +#endif // BOOST_NO_OPERATORS_IN_NAMESPACE + +// +// Here's where we put it all together, defining the xxxx forms of the templates +// in namespace boost. We also define specializations of is_chained_base<> for +// the xxxx, xxxx1, and xxxx2 templates, importing them into boost:: as +// necessary. +// +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +// is_chained_base<> - a traits class used to distinguish whether an operator +// template argument is being used for base class chaining, or is specifying a +// 2nd argument type. + +namespace boost { +// A type parameter is used instead of a plain bool because Borland's compiler +// didn't cope well with the more obvious non-type template parameter. +namespace detail { + struct true_t {}; + struct false_t {}; +} // namespace detail + +// Unspecialized version assumes that most types are not being used for base +// class chaining. We specialize for the operator templates defined in this +// library. +template struct is_chained_base { + typedef ::boost::detail::false_t value; +}; + +} // namespace boost + +// Import a 4-type-argument operator template into boost (if necessary) and +// provide a specialization of 'is_chained_base<>' for it. +# define BOOST_OPERATOR_TEMPLATE4(template_name4) \ + BOOST_IMPORT_TEMPLATE4(template_name4) \ + template \ + struct is_chained_base< ::boost::template_name4 > { \ + typedef ::boost::detail::true_t value; \ + }; + +// Import a 3-type-argument operator template into boost (if necessary) and +// provide a specialization of 'is_chained_base<>' for it. +# define BOOST_OPERATOR_TEMPLATE3(template_name3) \ + BOOST_IMPORT_TEMPLATE3(template_name3) \ + template \ + struct is_chained_base< ::boost::template_name3 > { \ + typedef ::boost::detail::true_t value; \ + }; + +// Import a 2-type-argument operator template into boost (if necessary) and +// provide a specialization of 'is_chained_base<>' for it. +# define BOOST_OPERATOR_TEMPLATE2(template_name2) \ + BOOST_IMPORT_TEMPLATE2(template_name2) \ + template \ + struct is_chained_base< ::boost::template_name2 > { \ + typedef ::boost::detail::true_t value; \ + }; + +// Import a 1-type-argument operator template into boost (if necessary) and +// provide a specialization of 'is_chained_base<>' for it. +# define BOOST_OPERATOR_TEMPLATE1(template_name1) \ + BOOST_IMPORT_TEMPLATE1(template_name1) \ + template \ + struct is_chained_base< ::boost::template_name1 > { \ + typedef ::boost::detail::true_t value; \ + }; + +// BOOST_OPERATOR_TEMPLATE(template_name) defines template_name<> such that it +// can be used for specifying both 1-argument and 2-argument forms. Requires the +// existence of two previously defined class templates named '1' +// and '2' which must implement the corresponding 1- and 2- +// argument forms. +// +// The template type parameter O == is_chained_base::value is used to +// distinguish whether the 2nd argument to is being used for +// base class chaining from another boost operator template or is describing a +// 2nd operand type. O == true_t only when U is actually an another operator +// template from the library. Partial specialization is used to select an +// implementation in terms of either '1' or '2'. +// + +# define BOOST_OPERATOR_TEMPLATE(template_name) \ +template \ + ,class O = typename is_chained_base::value \ + > \ +struct template_name : template_name##2 {}; \ + \ +template \ +struct template_name \ + : template_name##1 {}; \ + \ +template \ +struct template_name \ + : template_name##1 {}; \ + \ +template \ +struct is_chained_base< ::boost::template_name > { \ + typedef ::boost::detail::true_t value; \ +}; \ + \ +BOOST_OPERATOR_TEMPLATE2(template_name##2) \ +BOOST_OPERATOR_TEMPLATE1(template_name##1) + + +#else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +# define BOOST_OPERATOR_TEMPLATE4(template_name4) \ + BOOST_IMPORT_TEMPLATE4(template_name4) +# define BOOST_OPERATOR_TEMPLATE3(template_name3) \ + BOOST_IMPORT_TEMPLATE3(template_name3) +# define BOOST_OPERATOR_TEMPLATE2(template_name2) \ + BOOST_IMPORT_TEMPLATE2(template_name2) +# define BOOST_OPERATOR_TEMPLATE1(template_name1) \ + BOOST_IMPORT_TEMPLATE1(template_name1) + + // In this case we can only assume that template_name<> is equivalent to the + // more commonly needed template_name1<> form. +# define BOOST_OPERATOR_TEMPLATE(template_name) \ + template > \ + struct template_name : template_name##1 {}; + +#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION + +namespace boost { + +BOOST_OPERATOR_TEMPLATE(less_than_comparable) +BOOST_OPERATOR_TEMPLATE(equality_comparable) +BOOST_OPERATOR_TEMPLATE(multipliable) +BOOST_OPERATOR_TEMPLATE(addable) +BOOST_OPERATOR_TEMPLATE(subtractable) +BOOST_OPERATOR_TEMPLATE2(subtractable2_left) +BOOST_OPERATOR_TEMPLATE(dividable) +BOOST_OPERATOR_TEMPLATE2(dividable2_left) +BOOST_OPERATOR_TEMPLATE(modable) +BOOST_OPERATOR_TEMPLATE2(modable2_left) +BOOST_OPERATOR_TEMPLATE(xorable) +BOOST_OPERATOR_TEMPLATE(andable) +BOOST_OPERATOR_TEMPLATE(orable) + +BOOST_OPERATOR_TEMPLATE1(incrementable) +BOOST_OPERATOR_TEMPLATE1(decrementable) + +BOOST_OPERATOR_TEMPLATE2(dereferenceable) +BOOST_OPERATOR_TEMPLATE3(indexable) + +BOOST_OPERATOR_TEMPLATE(left_shiftable) +BOOST_OPERATOR_TEMPLATE(right_shiftable) +BOOST_OPERATOR_TEMPLATE(equivalent) +BOOST_OPERATOR_TEMPLATE(partially_ordered) + +BOOST_OPERATOR_TEMPLATE(totally_ordered) +BOOST_OPERATOR_TEMPLATE(additive) +BOOST_OPERATOR_TEMPLATE(multiplicative) +BOOST_OPERATOR_TEMPLATE(integer_multiplicative) +BOOST_OPERATOR_TEMPLATE(arithmetic) +BOOST_OPERATOR_TEMPLATE(integer_arithmetic) +BOOST_OPERATOR_TEMPLATE(bitwise) +BOOST_OPERATOR_TEMPLATE1(unit_steppable) +BOOST_OPERATOR_TEMPLATE(shiftable) +BOOST_OPERATOR_TEMPLATE(ring_operators) +BOOST_OPERATOR_TEMPLATE(ordered_ring_operators) +BOOST_OPERATOR_TEMPLATE(field_operators) +BOOST_OPERATOR_TEMPLATE(ordered_field_operators) +BOOST_OPERATOR_TEMPLATE(euclidian_ring_operators) +BOOST_OPERATOR_TEMPLATE(ordered_euclidian_ring_operators) +BOOST_OPERATOR_TEMPLATE(euclidean_ring_operators) +BOOST_OPERATOR_TEMPLATE(ordered_euclidean_ring_operators) +BOOST_OPERATOR_TEMPLATE2(input_iteratable) +BOOST_OPERATOR_TEMPLATE1(output_iteratable) +BOOST_OPERATOR_TEMPLATE2(forward_iteratable) +BOOST_OPERATOR_TEMPLATE2(bidirectional_iteratable) +BOOST_OPERATOR_TEMPLATE4(random_access_iteratable) + +#undef BOOST_OPERATOR_TEMPLATE +#undef BOOST_OPERATOR_TEMPLATE4 +#undef BOOST_OPERATOR_TEMPLATE3 +#undef BOOST_OPERATOR_TEMPLATE2 +#undef BOOST_OPERATOR_TEMPLATE1 +#undef BOOST_IMPORT_TEMPLATE1 +#undef BOOST_IMPORT_TEMPLATE2 +#undef BOOST_IMPORT_TEMPLATE3 +#undef BOOST_IMPORT_TEMPLATE4 + +// The following 'operators' classes can only be used portably if the derived class +// declares ALL of the required member operators. +template +struct operators2 + : totally_ordered2 > > {}; + +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +template +struct operators : operators2 {}; + +template struct operators +#else +template struct operators +#endif + : totally_ordered > > > {}; + +// Iterator helper classes (contributed by Jeremy Siek) -------------------// +// (Input and output iterator helpers contributed by Daryle Walker) -------// +// (Changed to use combined operator classes by Daryle Walker) ------------// +template +struct input_iterator_helper + : input_iteratable > {}; + +template +struct output_iterator_helper + : output_iteratable > +{ + T& operator*() { return static_cast(*this); } + T& operator++() { return static_cast(*this); } +}; + +template +struct forward_iterator_helper + : forward_iteratable > {}; + +template +struct bidirectional_iterator_helper + : bidirectional_iteratable > {}; + +template +struct random_access_iterator_helper + : random_access_iteratable > +{ + friend D requires_difference_operator(const T& x, const T& y) { + return x - y; + } +}; // random_access_iterator_helper + +} // namespace boost + +#if defined(__sgi) && !defined(__GNUC__) +#pragma reset woff 1234 +#endif + +#endif // BOOST_OPERATORS_HPP diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic.hpp new file mode 100644 index 0000000..6ce0ead --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic.hpp @@ -0,0 +1,25 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/add.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/add.hpp new file mode 100644 index 0000000..e6866ed --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/add.hpp @@ -0,0 +1,51 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_ADD_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ADD */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ADD(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# else +# define BOOST_PP_ADD(x, y) BOOST_PP_ADD_I(x, y) +# define BOOST_PP_ADD_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# endif +# +# define BOOST_PP_ADD_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I xy +# else +# define BOOST_PP_ADD_O(d, xy) BOOST_PP_ADD_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) +# endif +# +# define BOOST_PP_ADD_O_I(x, y) (BOOST_PP_INC(x), BOOST_PP_DEC(y)) +# +# /* BOOST_PP_ADD_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# else +# define BOOST_PP_ADD_D(d, x, y) BOOST_PP_ADD_D_I(d, x, y) +# define BOOST_PP_ADD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_ADD_P, BOOST_PP_ADD_O, (x, y))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/dec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/dec.hpp new file mode 100644 index 0000000..bef7281 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/dec.hpp @@ -0,0 +1,288 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DEC_HPP +# +# include +# +# /* BOOST_PP_DEC */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_DEC(x) BOOST_PP_DEC_I(x) +# else +# define BOOST_PP_DEC(x) BOOST_PP_DEC_OO((x)) +# define BOOST_PP_DEC_OO(par) BOOST_PP_DEC_I ## par +# endif +# +# define BOOST_PP_DEC_I(x) BOOST_PP_DEC_ ## x +# +# define BOOST_PP_DEC_0 0 +# define BOOST_PP_DEC_1 0 +# define BOOST_PP_DEC_2 1 +# define BOOST_PP_DEC_3 2 +# define BOOST_PP_DEC_4 3 +# define BOOST_PP_DEC_5 4 +# define BOOST_PP_DEC_6 5 +# define BOOST_PP_DEC_7 6 +# define BOOST_PP_DEC_8 7 +# define BOOST_PP_DEC_9 8 +# define BOOST_PP_DEC_10 9 +# define BOOST_PP_DEC_11 10 +# define BOOST_PP_DEC_12 11 +# define BOOST_PP_DEC_13 12 +# define BOOST_PP_DEC_14 13 +# define BOOST_PP_DEC_15 14 +# define BOOST_PP_DEC_16 15 +# define BOOST_PP_DEC_17 16 +# define BOOST_PP_DEC_18 17 +# define BOOST_PP_DEC_19 18 +# define BOOST_PP_DEC_20 19 +# define BOOST_PP_DEC_21 20 +# define BOOST_PP_DEC_22 21 +# define BOOST_PP_DEC_23 22 +# define BOOST_PP_DEC_24 23 +# define BOOST_PP_DEC_25 24 +# define BOOST_PP_DEC_26 25 +# define BOOST_PP_DEC_27 26 +# define BOOST_PP_DEC_28 27 +# define BOOST_PP_DEC_29 28 +# define BOOST_PP_DEC_30 29 +# define BOOST_PP_DEC_31 30 +# define BOOST_PP_DEC_32 31 +# define BOOST_PP_DEC_33 32 +# define BOOST_PP_DEC_34 33 +# define BOOST_PP_DEC_35 34 +# define BOOST_PP_DEC_36 35 +# define BOOST_PP_DEC_37 36 +# define BOOST_PP_DEC_38 37 +# define BOOST_PP_DEC_39 38 +# define BOOST_PP_DEC_40 39 +# define BOOST_PP_DEC_41 40 +# define BOOST_PP_DEC_42 41 +# define BOOST_PP_DEC_43 42 +# define BOOST_PP_DEC_44 43 +# define BOOST_PP_DEC_45 44 +# define BOOST_PP_DEC_46 45 +# define BOOST_PP_DEC_47 46 +# define BOOST_PP_DEC_48 47 +# define BOOST_PP_DEC_49 48 +# define BOOST_PP_DEC_50 49 +# define BOOST_PP_DEC_51 50 +# define BOOST_PP_DEC_52 51 +# define BOOST_PP_DEC_53 52 +# define BOOST_PP_DEC_54 53 +# define BOOST_PP_DEC_55 54 +# define BOOST_PP_DEC_56 55 +# define BOOST_PP_DEC_57 56 +# define BOOST_PP_DEC_58 57 +# define BOOST_PP_DEC_59 58 +# define BOOST_PP_DEC_60 59 +# define BOOST_PP_DEC_61 60 +# define BOOST_PP_DEC_62 61 +# define BOOST_PP_DEC_63 62 +# define BOOST_PP_DEC_64 63 +# define BOOST_PP_DEC_65 64 +# define BOOST_PP_DEC_66 65 +# define BOOST_PP_DEC_67 66 +# define BOOST_PP_DEC_68 67 +# define BOOST_PP_DEC_69 68 +# define BOOST_PP_DEC_70 69 +# define BOOST_PP_DEC_71 70 +# define BOOST_PP_DEC_72 71 +# define BOOST_PP_DEC_73 72 +# define BOOST_PP_DEC_74 73 +# define BOOST_PP_DEC_75 74 +# define BOOST_PP_DEC_76 75 +# define BOOST_PP_DEC_77 76 +# define BOOST_PP_DEC_78 77 +# define BOOST_PP_DEC_79 78 +# define BOOST_PP_DEC_80 79 +# define BOOST_PP_DEC_81 80 +# define BOOST_PP_DEC_82 81 +# define BOOST_PP_DEC_83 82 +# define BOOST_PP_DEC_84 83 +# define BOOST_PP_DEC_85 84 +# define BOOST_PP_DEC_86 85 +# define BOOST_PP_DEC_87 86 +# define BOOST_PP_DEC_88 87 +# define BOOST_PP_DEC_89 88 +# define BOOST_PP_DEC_90 89 +# define BOOST_PP_DEC_91 90 +# define BOOST_PP_DEC_92 91 +# define BOOST_PP_DEC_93 92 +# define BOOST_PP_DEC_94 93 +# define BOOST_PP_DEC_95 94 +# define BOOST_PP_DEC_96 95 +# define BOOST_PP_DEC_97 96 +# define BOOST_PP_DEC_98 97 +# define BOOST_PP_DEC_99 98 +# define BOOST_PP_DEC_100 99 +# define BOOST_PP_DEC_101 100 +# define BOOST_PP_DEC_102 101 +# define BOOST_PP_DEC_103 102 +# define BOOST_PP_DEC_104 103 +# define BOOST_PP_DEC_105 104 +# define BOOST_PP_DEC_106 105 +# define BOOST_PP_DEC_107 106 +# define BOOST_PP_DEC_108 107 +# define BOOST_PP_DEC_109 108 +# define BOOST_PP_DEC_110 109 +# define BOOST_PP_DEC_111 110 +# define BOOST_PP_DEC_112 111 +# define BOOST_PP_DEC_113 112 +# define BOOST_PP_DEC_114 113 +# define BOOST_PP_DEC_115 114 +# define BOOST_PP_DEC_116 115 +# define BOOST_PP_DEC_117 116 +# define BOOST_PP_DEC_118 117 +# define BOOST_PP_DEC_119 118 +# define BOOST_PP_DEC_120 119 +# define BOOST_PP_DEC_121 120 +# define BOOST_PP_DEC_122 121 +# define BOOST_PP_DEC_123 122 +# define BOOST_PP_DEC_124 123 +# define BOOST_PP_DEC_125 124 +# define BOOST_PP_DEC_126 125 +# define BOOST_PP_DEC_127 126 +# define BOOST_PP_DEC_128 127 +# define BOOST_PP_DEC_129 128 +# define BOOST_PP_DEC_130 129 +# define BOOST_PP_DEC_131 130 +# define BOOST_PP_DEC_132 131 +# define BOOST_PP_DEC_133 132 +# define BOOST_PP_DEC_134 133 +# define BOOST_PP_DEC_135 134 +# define BOOST_PP_DEC_136 135 +# define BOOST_PP_DEC_137 136 +# define BOOST_PP_DEC_138 137 +# define BOOST_PP_DEC_139 138 +# define BOOST_PP_DEC_140 139 +# define BOOST_PP_DEC_141 140 +# define BOOST_PP_DEC_142 141 +# define BOOST_PP_DEC_143 142 +# define BOOST_PP_DEC_144 143 +# define BOOST_PP_DEC_145 144 +# define BOOST_PP_DEC_146 145 +# define BOOST_PP_DEC_147 146 +# define BOOST_PP_DEC_148 147 +# define BOOST_PP_DEC_149 148 +# define BOOST_PP_DEC_150 149 +# define BOOST_PP_DEC_151 150 +# define BOOST_PP_DEC_152 151 +# define BOOST_PP_DEC_153 152 +# define BOOST_PP_DEC_154 153 +# define BOOST_PP_DEC_155 154 +# define BOOST_PP_DEC_156 155 +# define BOOST_PP_DEC_157 156 +# define BOOST_PP_DEC_158 157 +# define BOOST_PP_DEC_159 158 +# define BOOST_PP_DEC_160 159 +# define BOOST_PP_DEC_161 160 +# define BOOST_PP_DEC_162 161 +# define BOOST_PP_DEC_163 162 +# define BOOST_PP_DEC_164 163 +# define BOOST_PP_DEC_165 164 +# define BOOST_PP_DEC_166 165 +# define BOOST_PP_DEC_167 166 +# define BOOST_PP_DEC_168 167 +# define BOOST_PP_DEC_169 168 +# define BOOST_PP_DEC_170 169 +# define BOOST_PP_DEC_171 170 +# define BOOST_PP_DEC_172 171 +# define BOOST_PP_DEC_173 172 +# define BOOST_PP_DEC_174 173 +# define BOOST_PP_DEC_175 174 +# define BOOST_PP_DEC_176 175 +# define BOOST_PP_DEC_177 176 +# define BOOST_PP_DEC_178 177 +# define BOOST_PP_DEC_179 178 +# define BOOST_PP_DEC_180 179 +# define BOOST_PP_DEC_181 180 +# define BOOST_PP_DEC_182 181 +# define BOOST_PP_DEC_183 182 +# define BOOST_PP_DEC_184 183 +# define BOOST_PP_DEC_185 184 +# define BOOST_PP_DEC_186 185 +# define BOOST_PP_DEC_187 186 +# define BOOST_PP_DEC_188 187 +# define BOOST_PP_DEC_189 188 +# define BOOST_PP_DEC_190 189 +# define BOOST_PP_DEC_191 190 +# define BOOST_PP_DEC_192 191 +# define BOOST_PP_DEC_193 192 +# define BOOST_PP_DEC_194 193 +# define BOOST_PP_DEC_195 194 +# define BOOST_PP_DEC_196 195 +# define BOOST_PP_DEC_197 196 +# define BOOST_PP_DEC_198 197 +# define BOOST_PP_DEC_199 198 +# define BOOST_PP_DEC_200 199 +# define BOOST_PP_DEC_201 200 +# define BOOST_PP_DEC_202 201 +# define BOOST_PP_DEC_203 202 +# define BOOST_PP_DEC_204 203 +# define BOOST_PP_DEC_205 204 +# define BOOST_PP_DEC_206 205 +# define BOOST_PP_DEC_207 206 +# define BOOST_PP_DEC_208 207 +# define BOOST_PP_DEC_209 208 +# define BOOST_PP_DEC_210 209 +# define BOOST_PP_DEC_211 210 +# define BOOST_PP_DEC_212 211 +# define BOOST_PP_DEC_213 212 +# define BOOST_PP_DEC_214 213 +# define BOOST_PP_DEC_215 214 +# define BOOST_PP_DEC_216 215 +# define BOOST_PP_DEC_217 216 +# define BOOST_PP_DEC_218 217 +# define BOOST_PP_DEC_219 218 +# define BOOST_PP_DEC_220 219 +# define BOOST_PP_DEC_221 220 +# define BOOST_PP_DEC_222 221 +# define BOOST_PP_DEC_223 222 +# define BOOST_PP_DEC_224 223 +# define BOOST_PP_DEC_225 224 +# define BOOST_PP_DEC_226 225 +# define BOOST_PP_DEC_227 226 +# define BOOST_PP_DEC_228 227 +# define BOOST_PP_DEC_229 228 +# define BOOST_PP_DEC_230 229 +# define BOOST_PP_DEC_231 230 +# define BOOST_PP_DEC_232 231 +# define BOOST_PP_DEC_233 232 +# define BOOST_PP_DEC_234 233 +# define BOOST_PP_DEC_235 234 +# define BOOST_PP_DEC_236 235 +# define BOOST_PP_DEC_237 236 +# define BOOST_PP_DEC_238 237 +# define BOOST_PP_DEC_239 238 +# define BOOST_PP_DEC_240 239 +# define BOOST_PP_DEC_241 240 +# define BOOST_PP_DEC_242 241 +# define BOOST_PP_DEC_243 242 +# define BOOST_PP_DEC_244 243 +# define BOOST_PP_DEC_245 244 +# define BOOST_PP_DEC_246 245 +# define BOOST_PP_DEC_247 246 +# define BOOST_PP_DEC_248 247 +# define BOOST_PP_DEC_249 248 +# define BOOST_PP_DEC_250 249 +# define BOOST_PP_DEC_251 250 +# define BOOST_PP_DEC_252 251 +# define BOOST_PP_DEC_253 252 +# define BOOST_PP_DEC_254 253 +# define BOOST_PP_DEC_255 254 +# define BOOST_PP_DEC_256 255 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/detail/div_base.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/detail/div_base.hpp new file mode 100644 index 0000000..8b4de25 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/detail/div_base.hpp @@ -0,0 +1,61 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DETAIL_DIV_BASE_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_DIV_BASE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_DIV_BASE(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y)) +# else +# define BOOST_PP_DIV_BASE(x, y) BOOST_PP_DIV_BASE_I(x, y) +# define BOOST_PP_DIV_BASE_I(x, y) BOOST_PP_WHILE(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y)) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_IM(d, BOOST_PP_TUPLE_REM_3 rxy) +# define BOOST_PP_DIV_BASE_P_IM(d, im) BOOST_PP_DIV_BASE_P_I(d, im) +# else +# define BOOST_PP_DIV_BASE_P(d, rxy) BOOST_PP_DIV_BASE_P_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy)) +# endif +# +# define BOOST_PP_DIV_BASE_P_I(d, r, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy) +# define BOOST_PP_DIV_BASE_O_IM(d, im) BOOST_PP_DIV_BASE_O_I(d, im) +# else +# define BOOST_PP_DIV_BASE_O(d, rxy) BOOST_PP_DIV_BASE_O_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy)) +# endif +# +# define BOOST_PP_DIV_BASE_O_I(d, r, x, y) (BOOST_PP_INC(r), BOOST_PP_SUB_D(d, x, y), y) +# +# /* BOOST_PP_DIV_BASE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y)) +# else +# define BOOST_PP_DIV_BASE_D(d, x, y) BOOST_PP_DIV_BASE_D_I(d, x, y) +# define BOOST_PP_DIV_BASE_D_I(d, x, y) BOOST_PP_WHILE_ ## d(BOOST_PP_DIV_BASE_P, BOOST_PP_DIV_BASE_O, (0, x, y)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/div.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/div.hpp new file mode 100644 index 0000000..1df8ab6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/div.hpp @@ -0,0 +1,39 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_DIV_HPP +# +# include +# include +# include +# +# /* BOOST_PP_DIV */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_DIV(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y)) +# else +# define BOOST_PP_DIV(x, y) BOOST_PP_DIV_I(x, y) +# define BOOST_PP_DIV_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE(x, y)) +# endif +# +# /* BOOST_PP_DIV_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_DIV_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y)) +# else +# define BOOST_PP_DIV_D(d, x, y) BOOST_PP_DIV_D_I(d, x, y) +# define BOOST_PP_DIV_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_DIV_BASE_D(d, x, y)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/inc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/inc.hpp new file mode 100644 index 0000000..4c367f9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/inc.hpp @@ -0,0 +1,288 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_INC_HPP +# +# include +# +# /* BOOST_PP_INC */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_INC(x) BOOST_PP_INC_I(x) +# else +# define BOOST_PP_INC(x) BOOST_PP_INC_OO((x)) +# define BOOST_PP_INC_OO(par) BOOST_PP_INC_I ## par +# endif +# +# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x +# +# define BOOST_PP_INC_0 1 +# define BOOST_PP_INC_1 2 +# define BOOST_PP_INC_2 3 +# define BOOST_PP_INC_3 4 +# define BOOST_PP_INC_4 5 +# define BOOST_PP_INC_5 6 +# define BOOST_PP_INC_6 7 +# define BOOST_PP_INC_7 8 +# define BOOST_PP_INC_8 9 +# define BOOST_PP_INC_9 10 +# define BOOST_PP_INC_10 11 +# define BOOST_PP_INC_11 12 +# define BOOST_PP_INC_12 13 +# define BOOST_PP_INC_13 14 +# define BOOST_PP_INC_14 15 +# define BOOST_PP_INC_15 16 +# define BOOST_PP_INC_16 17 +# define BOOST_PP_INC_17 18 +# define BOOST_PP_INC_18 19 +# define BOOST_PP_INC_19 20 +# define BOOST_PP_INC_20 21 +# define BOOST_PP_INC_21 22 +# define BOOST_PP_INC_22 23 +# define BOOST_PP_INC_23 24 +# define BOOST_PP_INC_24 25 +# define BOOST_PP_INC_25 26 +# define BOOST_PP_INC_26 27 +# define BOOST_PP_INC_27 28 +# define BOOST_PP_INC_28 29 +# define BOOST_PP_INC_29 30 +# define BOOST_PP_INC_30 31 +# define BOOST_PP_INC_31 32 +# define BOOST_PP_INC_32 33 +# define BOOST_PP_INC_33 34 +# define BOOST_PP_INC_34 35 +# define BOOST_PP_INC_35 36 +# define BOOST_PP_INC_36 37 +# define BOOST_PP_INC_37 38 +# define BOOST_PP_INC_38 39 +# define BOOST_PP_INC_39 40 +# define BOOST_PP_INC_40 41 +# define BOOST_PP_INC_41 42 +# define BOOST_PP_INC_42 43 +# define BOOST_PP_INC_43 44 +# define BOOST_PP_INC_44 45 +# define BOOST_PP_INC_45 46 +# define BOOST_PP_INC_46 47 +# define BOOST_PP_INC_47 48 +# define BOOST_PP_INC_48 49 +# define BOOST_PP_INC_49 50 +# define BOOST_PP_INC_50 51 +# define BOOST_PP_INC_51 52 +# define BOOST_PP_INC_52 53 +# define BOOST_PP_INC_53 54 +# define BOOST_PP_INC_54 55 +# define BOOST_PP_INC_55 56 +# define BOOST_PP_INC_56 57 +# define BOOST_PP_INC_57 58 +# define BOOST_PP_INC_58 59 +# define BOOST_PP_INC_59 60 +# define BOOST_PP_INC_60 61 +# define BOOST_PP_INC_61 62 +# define BOOST_PP_INC_62 63 +# define BOOST_PP_INC_63 64 +# define BOOST_PP_INC_64 65 +# define BOOST_PP_INC_65 66 +# define BOOST_PP_INC_66 67 +# define BOOST_PP_INC_67 68 +# define BOOST_PP_INC_68 69 +# define BOOST_PP_INC_69 70 +# define BOOST_PP_INC_70 71 +# define BOOST_PP_INC_71 72 +# define BOOST_PP_INC_72 73 +# define BOOST_PP_INC_73 74 +# define BOOST_PP_INC_74 75 +# define BOOST_PP_INC_75 76 +# define BOOST_PP_INC_76 77 +# define BOOST_PP_INC_77 78 +# define BOOST_PP_INC_78 79 +# define BOOST_PP_INC_79 80 +# define BOOST_PP_INC_80 81 +# define BOOST_PP_INC_81 82 +# define BOOST_PP_INC_82 83 +# define BOOST_PP_INC_83 84 +# define BOOST_PP_INC_84 85 +# define BOOST_PP_INC_85 86 +# define BOOST_PP_INC_86 87 +# define BOOST_PP_INC_87 88 +# define BOOST_PP_INC_88 89 +# define BOOST_PP_INC_89 90 +# define BOOST_PP_INC_90 91 +# define BOOST_PP_INC_91 92 +# define BOOST_PP_INC_92 93 +# define BOOST_PP_INC_93 94 +# define BOOST_PP_INC_94 95 +# define BOOST_PP_INC_95 96 +# define BOOST_PP_INC_96 97 +# define BOOST_PP_INC_97 98 +# define BOOST_PP_INC_98 99 +# define BOOST_PP_INC_99 100 +# define BOOST_PP_INC_100 101 +# define BOOST_PP_INC_101 102 +# define BOOST_PP_INC_102 103 +# define BOOST_PP_INC_103 104 +# define BOOST_PP_INC_104 105 +# define BOOST_PP_INC_105 106 +# define BOOST_PP_INC_106 107 +# define BOOST_PP_INC_107 108 +# define BOOST_PP_INC_108 109 +# define BOOST_PP_INC_109 110 +# define BOOST_PP_INC_110 111 +# define BOOST_PP_INC_111 112 +# define BOOST_PP_INC_112 113 +# define BOOST_PP_INC_113 114 +# define BOOST_PP_INC_114 115 +# define BOOST_PP_INC_115 116 +# define BOOST_PP_INC_116 117 +# define BOOST_PP_INC_117 118 +# define BOOST_PP_INC_118 119 +# define BOOST_PP_INC_119 120 +# define BOOST_PP_INC_120 121 +# define BOOST_PP_INC_121 122 +# define BOOST_PP_INC_122 123 +# define BOOST_PP_INC_123 124 +# define BOOST_PP_INC_124 125 +# define BOOST_PP_INC_125 126 +# define BOOST_PP_INC_126 127 +# define BOOST_PP_INC_127 128 +# define BOOST_PP_INC_128 129 +# define BOOST_PP_INC_129 130 +# define BOOST_PP_INC_130 131 +# define BOOST_PP_INC_131 132 +# define BOOST_PP_INC_132 133 +# define BOOST_PP_INC_133 134 +# define BOOST_PP_INC_134 135 +# define BOOST_PP_INC_135 136 +# define BOOST_PP_INC_136 137 +# define BOOST_PP_INC_137 138 +# define BOOST_PP_INC_138 139 +# define BOOST_PP_INC_139 140 +# define BOOST_PP_INC_140 141 +# define BOOST_PP_INC_141 142 +# define BOOST_PP_INC_142 143 +# define BOOST_PP_INC_143 144 +# define BOOST_PP_INC_144 145 +# define BOOST_PP_INC_145 146 +# define BOOST_PP_INC_146 147 +# define BOOST_PP_INC_147 148 +# define BOOST_PP_INC_148 149 +# define BOOST_PP_INC_149 150 +# define BOOST_PP_INC_150 151 +# define BOOST_PP_INC_151 152 +# define BOOST_PP_INC_152 153 +# define BOOST_PP_INC_153 154 +# define BOOST_PP_INC_154 155 +# define BOOST_PP_INC_155 156 +# define BOOST_PP_INC_156 157 +# define BOOST_PP_INC_157 158 +# define BOOST_PP_INC_158 159 +# define BOOST_PP_INC_159 160 +# define BOOST_PP_INC_160 161 +# define BOOST_PP_INC_161 162 +# define BOOST_PP_INC_162 163 +# define BOOST_PP_INC_163 164 +# define BOOST_PP_INC_164 165 +# define BOOST_PP_INC_165 166 +# define BOOST_PP_INC_166 167 +# define BOOST_PP_INC_167 168 +# define BOOST_PP_INC_168 169 +# define BOOST_PP_INC_169 170 +# define BOOST_PP_INC_170 171 +# define BOOST_PP_INC_171 172 +# define BOOST_PP_INC_172 173 +# define BOOST_PP_INC_173 174 +# define BOOST_PP_INC_174 175 +# define BOOST_PP_INC_175 176 +# define BOOST_PP_INC_176 177 +# define BOOST_PP_INC_177 178 +# define BOOST_PP_INC_178 179 +# define BOOST_PP_INC_179 180 +# define BOOST_PP_INC_180 181 +# define BOOST_PP_INC_181 182 +# define BOOST_PP_INC_182 183 +# define BOOST_PP_INC_183 184 +# define BOOST_PP_INC_184 185 +# define BOOST_PP_INC_185 186 +# define BOOST_PP_INC_186 187 +# define BOOST_PP_INC_187 188 +# define BOOST_PP_INC_188 189 +# define BOOST_PP_INC_189 190 +# define BOOST_PP_INC_190 191 +# define BOOST_PP_INC_191 192 +# define BOOST_PP_INC_192 193 +# define BOOST_PP_INC_193 194 +# define BOOST_PP_INC_194 195 +# define BOOST_PP_INC_195 196 +# define BOOST_PP_INC_196 197 +# define BOOST_PP_INC_197 198 +# define BOOST_PP_INC_198 199 +# define BOOST_PP_INC_199 200 +# define BOOST_PP_INC_200 201 +# define BOOST_PP_INC_201 202 +# define BOOST_PP_INC_202 203 +# define BOOST_PP_INC_203 204 +# define BOOST_PP_INC_204 205 +# define BOOST_PP_INC_205 206 +# define BOOST_PP_INC_206 207 +# define BOOST_PP_INC_207 208 +# define BOOST_PP_INC_208 209 +# define BOOST_PP_INC_209 210 +# define BOOST_PP_INC_210 211 +# define BOOST_PP_INC_211 212 +# define BOOST_PP_INC_212 213 +# define BOOST_PP_INC_213 214 +# define BOOST_PP_INC_214 215 +# define BOOST_PP_INC_215 216 +# define BOOST_PP_INC_216 217 +# define BOOST_PP_INC_217 218 +# define BOOST_PP_INC_218 219 +# define BOOST_PP_INC_219 220 +# define BOOST_PP_INC_220 221 +# define BOOST_PP_INC_221 222 +# define BOOST_PP_INC_222 223 +# define BOOST_PP_INC_223 224 +# define BOOST_PP_INC_224 225 +# define BOOST_PP_INC_225 226 +# define BOOST_PP_INC_226 227 +# define BOOST_PP_INC_227 228 +# define BOOST_PP_INC_228 229 +# define BOOST_PP_INC_229 230 +# define BOOST_PP_INC_230 231 +# define BOOST_PP_INC_231 232 +# define BOOST_PP_INC_232 233 +# define BOOST_PP_INC_233 234 +# define BOOST_PP_INC_234 235 +# define BOOST_PP_INC_235 236 +# define BOOST_PP_INC_236 237 +# define BOOST_PP_INC_237 238 +# define BOOST_PP_INC_238 239 +# define BOOST_PP_INC_239 240 +# define BOOST_PP_INC_240 241 +# define BOOST_PP_INC_241 242 +# define BOOST_PP_INC_242 243 +# define BOOST_PP_INC_243 244 +# define BOOST_PP_INC_244 245 +# define BOOST_PP_INC_245 246 +# define BOOST_PP_INC_246 247 +# define BOOST_PP_INC_247 248 +# define BOOST_PP_INC_248 249 +# define BOOST_PP_INC_249 250 +# define BOOST_PP_INC_250 251 +# define BOOST_PP_INC_251 252 +# define BOOST_PP_INC_252 253 +# define BOOST_PP_INC_253 254 +# define BOOST_PP_INC_254 255 +# define BOOST_PP_INC_255 256 +# define BOOST_PP_INC_256 256 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mod.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mod.hpp new file mode 100644 index 0000000..89f9e0d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mod.hpp @@ -0,0 +1,39 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_MOD_HPP +# +# include +# include +# include +# +# /* BOOST_PP_MOD */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MOD(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y)) +# else +# define BOOST_PP_MOD(x, y) BOOST_PP_MOD_I(x, y) +# define BOOST_PP_MOD_I(x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE(x, y)) +# endif +# +# /* BOOST_PP_MOD_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MOD_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y)) +# else +# define BOOST_PP_MOD_D(d, x, y) BOOST_PP_MOD_D_I(d, x, y) +# define BOOST_PP_MOD_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 1, BOOST_PP_DIV_BASE_D(d, x, y)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mul.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mul.hpp new file mode 100644 index 0000000..efcde5a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/mul.hpp @@ -0,0 +1,53 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_MUL_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_MUL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MUL(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y))) +# else +# define BOOST_PP_MUL(x, y) BOOST_PP_MUL_I(x, y) +# define BOOST_PP_MUL_I(x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y))) +# endif +# +# define BOOST_PP_MUL_P(d, rxy) BOOST_PP_TUPLE_ELEM(3, 2, rxy) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_IM(d, BOOST_PP_TUPLE_REM_3 rxy) +# define BOOST_PP_MUL_O_IM(d, im) BOOST_PP_MUL_O_I(d, im) +# else +# define BOOST_PP_MUL_O(d, rxy) BOOST_PP_MUL_O_I(d, BOOST_PP_TUPLE_ELEM(3, 0, rxy), BOOST_PP_TUPLE_ELEM(3, 1, rxy), BOOST_PP_TUPLE_ELEM(3, 2, rxy)) +# endif +# +# define BOOST_PP_MUL_O_I(d, r, x, y) (BOOST_PP_ADD_D(d, r, x), x, BOOST_PP_DEC(y)) +# +# /* BOOST_PP_MUL_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MUL_D(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y))) +# else +# define BOOST_PP_MUL_D(d, x, y) BOOST_PP_MUL_D_I(d, x, y) +# define BOOST_PP_MUL_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_MUL_P, BOOST_PP_MUL_O, (0, x, y))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/sub.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/sub.hpp new file mode 100644 index 0000000..3ef7a28 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/arithmetic/sub.hpp @@ -0,0 +1,50 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP +# define BOOST_PREPROCESSOR_ARITHMETIC_SUB_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_SUB */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SUB(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# else +# define BOOST_PP_SUB(x, y) BOOST_PP_SUB_I(x, y) +# define BOOST_PP_SUB_I(x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# endif +# +# define BOOST_PP_SUB_P(d, xy) BOOST_PP_TUPLE_ELEM(2, 1, xy) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I xy +# else +# define BOOST_PP_SUB_O(d, xy) BOOST_PP_SUB_O_I(BOOST_PP_TUPLE_ELEM(2, 0, xy), BOOST_PP_TUPLE_ELEM(2, 1, xy)) +# endif +# +# define BOOST_PP_SUB_O_I(x, y) (BOOST_PP_DEC(x), BOOST_PP_DEC(y)) +# +# /* BOOST_PP_SUB_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# else +# define BOOST_PP_SUB_D(d, x, y) BOOST_PP_SUB_D_I(d, x, y) +# define BOOST_PP_SUB_D_I(d, x, y) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_SUB_P, BOOST_PP_SUB_O, (x, y))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array.hpp new file mode 100644 index 0000000..bcc982b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array.hpp @@ -0,0 +1,27 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_HPP +# define BOOST_PREPROCESSOR_ARRAY_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/data.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/data.hpp new file mode 100644 index 0000000..4b00cdc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/data.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP +# define BOOST_PREPROCESSOR_ARRAY_DATA_HPP +# +# include +# include +# +# /* BOOST_PP_ARRAY_DATA */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array) +# else +# define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array) +# define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array +# define BOOST_PP_ARRAY_DATA_II(size, data) data +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/elem.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/elem.hpp new file mode 100644 index 0000000..4f11c08 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/elem.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP +# define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_ELEM */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) +# else +# define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array) +# define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/insert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/insert.hpp new file mode 100644 index 0000000..289db40 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/insert.hpp @@ -0,0 +1,55 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_INSERT_HPP +# define BOOST_PREPROCESSOR_ARRAY_INSERT_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_INSERT */ +# +# define BOOST_PP_ARRAY_INSERT(array, i, elem) BOOST_PP_ARRAY_INSERT_I(BOOST_PP_DEDUCE_D(), array, i, elem) +# define BOOST_PP_ARRAY_INSERT_I(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) +# +# /* BOOST_PP_ARRAY_INSERT_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_INSERT_P, BOOST_PP_ARRAY_INSERT_O, (0, i, elem, (0, ()), array))) +# else +# define BOOST_PP_ARRAY_INSERT_D(d, array, i, elem) BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem) +# define BOOST_PP_ARRAY_INSERT_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_INSERT_P, BOOST_PP_ARRAY_INSERT_O, (0, i, elem, (0, ()), array))) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I state +# else +# define BOOST_PP_ARRAY_INSERT_P(d, state) BOOST_PP_ARRAY_INSERT_P_I(nil, nil, nil, BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state)) +# endif +# +# define BOOST_PP_ARRAY_INSERT_P_I(_i, _ii, _iii, res, arr) BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), BOOST_PP_INC(BOOST_PP_ARRAY_SIZE(arr))) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I state +# else +# define BOOST_PP_ARRAY_INSERT_O(d, state) BOOST_PP_ARRAY_INSERT_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state)) +# endif +# +# define BOOST_PP_ARRAY_INSERT_O_I(n, i, elem, res, arr) (BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), i), BOOST_PP_INC(n), n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(BOOST_PP_ARRAY_SIZE(res), i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_back.hpp new file mode 100644 index 0000000..81cd1e0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_back.hpp @@ -0,0 +1,37 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP +# define BOOST_PREPROCESSOR_ARRAY_POP_BACK_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_POP_BACK */ +# +# define BOOST_PP_ARRAY_POP_BACK(array) BOOST_PP_ARRAY_POP_BACK_Z(BOOST_PP_DEDUCE_Z(), array) +# +# /* BOOST_PP_ARRAY_POP_BACK_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array) +# else +# define BOOST_PP_ARRAY_POP_BACK_Z(z, array) BOOST_PP_ARRAY_POP_BACK_Z_D(z, array) +# define BOOST_PP_ARRAY_POP_BACK_Z_D(z, array) BOOST_PP_ARRAY_POP_BACK_I(z, BOOST_PP_ARRAY_SIZE(array), array) +# endif +# +# define BOOST_PP_ARRAY_POP_BACK_I(z, size, array) (BOOST_PP_DEC(size), (BOOST_PP_ENUM_ ## z(BOOST_PP_DEC(size), BOOST_PP_ARRAY_POP_BACK_M, array))) +# define BOOST_PP_ARRAY_POP_BACK_M(z, n, data) BOOST_PP_ARRAY_ELEM(n, data) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_front.hpp new file mode 100644 index 0000000..2c38ce6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/pop_front.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP +# define BOOST_PREPROCESSOR_ARRAY_POP_FRONT_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_POP_FRONT */ +# +# define BOOST_PP_ARRAY_POP_FRONT(array) BOOST_PP_ARRAY_POP_FRONT_Z(BOOST_PP_DEDUCE_Z(), array) +# +# /* BOOST_PP_ARRAY_POP_FRONT_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array) +# else +# define BOOST_PP_ARRAY_POP_FRONT_Z(z, array) BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array) +# define BOOST_PP_ARRAY_POP_FRONT_Z_D(z, array) BOOST_PP_ARRAY_POP_FRONT_I(z, BOOST_PP_ARRAY_SIZE(array), array) +# endif +# +# define BOOST_PP_ARRAY_POP_FRONT_I(z, size, array) (BOOST_PP_DEC(size), (BOOST_PP_ENUM_ ## z(BOOST_PP_DEC(size), BOOST_PP_ARRAY_POP_FRONT_M, array))) +# define BOOST_PP_ARRAY_POP_FRONT_M(z, n, data) BOOST_PP_ARRAY_ELEM(BOOST_PP_INC(n), data) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_back.hpp new file mode 100644 index 0000000..78dfea6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_back.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP +# define BOOST_PREPROCESSOR_ARRAY_PUSH_BACK_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_PUSH_BACK */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem) +# else +# define BOOST_PP_ARRAY_PUSH_BACK(array, elem) BOOST_PP_ARRAY_PUSH_BACK_D(array, elem) +# define BOOST_PP_ARRAY_PUSH_BACK_D(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem) +# endif +# +# define BOOST_PP_ARRAY_PUSH_BACK_I(size, data, elem) (BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_front.hpp new file mode 100644 index 0000000..8493bcc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/push_front.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP +# define BOOST_PREPROCESSOR_ARRAY_PUSH_FRONT_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_PUSH_FRONT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem) +# else +# define BOOST_PP_ARRAY_PUSH_FRONT(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem) +# define BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem) +# endif +# +# define BOOST_PP_ARRAY_PUSH_FRONT_I(size, data, elem) (BOOST_PP_INC(size), (elem BOOST_PP_COMMA_IF(size) BOOST_PP_TUPLE_REM(size) data)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/remove.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/remove.hpp new file mode 100644 index 0000000..a7ae78d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/remove.hpp @@ -0,0 +1,54 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP +# define BOOST_PREPROCESSOR_ARRAY_REMOVE_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_REMOVE */ +# +# define BOOST_PP_ARRAY_REMOVE(array, i) BOOST_PP_ARRAY_REMOVE_I(BOOST_PP_DEDUCE_D(), array, i) +# define BOOST_PP_ARRAY_REMOVE_I(d, array, i) BOOST_PP_ARRAY_REMOVE_D(d, array, i) +# +# /* BOOST_PP_ARRAY_REMOVE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_TUPLE_ELEM(4, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REMOVE_P, BOOST_PP_ARRAY_REMOVE_O, (0, i, (0, ()), array))) +# else +# define BOOST_PP_ARRAY_REMOVE_D(d, array, i) BOOST_PP_ARRAY_REMOVE_D_I(d, array, i) +# define BOOST_PP_ARRAY_REMOVE_D_I(d, array, i) BOOST_PP_TUPLE_ELEM(4, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REMOVE_P, BOOST_PP_ARRAY_REMOVE_O, (0, i, (0, ()), array))) +# endif +# +# define BOOST_PP_ARRAY_REMOVE_P(d, st) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(4, 0, st), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(4, 3, st))) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I st +# else +# define BOOST_PP_ARRAY_REMOVE_O(d, st) BOOST_PP_ARRAY_REMOVE_O_I(BOOST_PP_TUPLE_ELEM(4, 0, st), BOOST_PP_TUPLE_ELEM(4, 1, st), BOOST_PP_TUPLE_ELEM(4, 2, st), BOOST_PP_TUPLE_ELEM(4, 3, st)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_ARRAY_REMOVE_O_I(n, i, res, arr) (BOOST_PP_INC(n), i, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_PUSH_BACK, res BOOST_PP_TUPLE_EAT_2)(res, BOOST_PP_ARRAY_ELEM(n, arr)), arr) +# else +# define BOOST_PP_ARRAY_REMOVE_O_I(n, i, res, arr) (BOOST_PP_INC(n), i, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_PUSH_BACK, BOOST_PP_TUPLE_ELEM_2_0)(res, BOOST_PP_ARRAY_ELEM(n, arr)), arr) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/replace.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/replace.hpp new file mode 100644 index 0000000..b969113 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/replace.hpp @@ -0,0 +1,49 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP +# define BOOST_PREPROCESSOR_ARRAY_REPLACE_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_REPLACE */ +# +# define BOOST_PP_ARRAY_REPLACE(array, i, elem) BOOST_PP_ARRAY_REPLACE_I(BOOST_PP_DEDUCE_D(), array, i, elem) +# define BOOST_PP_ARRAY_REPLACE_I(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) +# +# /* BOOST_PP_ARRAY_REPLACE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array))) +# else +# define BOOST_PP_ARRAY_REPLACE_D(d, array, i, elem) BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem) +# define BOOST_PP_ARRAY_REPLACE_D_I(d, array, i, elem) BOOST_PP_TUPLE_ELEM(5, 3, BOOST_PP_WHILE_ ## d(BOOST_PP_ARRAY_REPLACE_P, BOOST_PP_ARRAY_REPLACE_O, (0, i, elem, (0, ()), array))) +# endif +# +# define BOOST_PP_ARRAY_REPLACE_P(d, state) BOOST_PP_NOT_EQUAL(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_ELEM(5, 4, state))) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I state +# else +# define BOOST_PP_ARRAY_REPLACE_O(d, state) BOOST_PP_ARRAY_REPLACE_O_I(BOOST_PP_TUPLE_ELEM(5, 0, state), BOOST_PP_TUPLE_ELEM(5, 1, state), BOOST_PP_TUPLE_ELEM(5, 2, state), BOOST_PP_TUPLE_ELEM(5, 3, state), BOOST_PP_TUPLE_ELEM(5, 4, state)) +# endif +# +# define BOOST_PP_ARRAY_REPLACE_O_I(n, i, elem, res, arr) (BOOST_PP_INC(n), i, elem, BOOST_PP_ARRAY_PUSH_BACK(res, BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(n, i), BOOST_PP_ARRAY_ELEM(n, arr), elem)), arr) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/reverse.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/reverse.hpp new file mode 100644 index 0000000..3c24ce3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/reverse.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP +# define BOOST_PREPROCESSOR_ARRAY_REVERSE_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_ARRAY_REVERSE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_REVERSE(array) (BOOST_PP_ARRAY_SIZE(array), BOOST_PP_TUPLE_REVERSE(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array))) +# else +# define BOOST_PP_ARRAY_REVERSE(array) BOOST_PP_ARRAY_REVERSE_I(array) +# define BOOST_PP_ARRAY_REVERSE_I(array) (BOOST_PP_ARRAY_SIZE(array), BOOST_PP_TUPLE_REVERSE(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/size.hpp new file mode 100644 index 0000000..d3d50ee --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/array/size.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP +# define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP +# +# include +# include +# +# /* BOOST_PP_ARRAY_SIZE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array) +# else +# define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array) +# define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array +# define BOOST_PP_ARRAY_SIZE_II(size, data) size +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/assert_msg.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/assert_msg.hpp new file mode 100644 index 0000000..4b44db2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/assert_msg.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_ASSERT_MSG_HPP +# define BOOST_PREPROCESSOR_ASSERT_MSG_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/cat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/cat.hpp new file mode 100644 index 0000000..804d4d5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/cat.hpp @@ -0,0 +1,35 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CAT_HPP +# define BOOST_PREPROCESSOR_CAT_HPP +# +# include +# +# /* BOOST_PP_CAT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b) +# else +# define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b)) +# define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_CAT_I(a, b) a ## b +# else +# define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(a ## b) +# define BOOST_PP_CAT_II(res) res +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma.hpp new file mode 100644 index 0000000..03febe4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMMA_HPP +# define BOOST_PREPROCESSOR_COMMA_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma_if.hpp new file mode 100644 index 0000000..c629e1b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comma_if.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP +# define BOOST_PREPROCESSOR_COMMA_IF_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison.hpp new file mode 100644 index 0000000..5a0e751 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison.hpp @@ -0,0 +1,24 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_HPP +# define BOOST_PREPROCESSOR_COMPARISON_HPP +# +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/equal.hpp new file mode 100644 index 0000000..5387e01 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/equal.hpp @@ -0,0 +1,34 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP +# define BOOST_PREPROCESSOR_COMPARISON_EQUAL_HPP +# +# include +# include +# include +# +# /* BOOST_PP_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_EQUAL(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y)) +# else +# define BOOST_PP_EQUAL(x, y) BOOST_PP_EQUAL_I(x, y) +# define BOOST_PP_EQUAL_I(x, y) BOOST_PP_COMPL(BOOST_PP_NOT_EQUAL(x, y)) +# endif +# +# /* BOOST_PP_EQUAL_D */ +# +# define BOOST_PP_EQUAL_D(d, x, y) BOOST_PP_EQUAL(x, y) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater.hpp new file mode 100644 index 0000000..c0ef4bc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater.hpp @@ -0,0 +1,38 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP +# define BOOST_PREPROCESSOR_COMPARISON_GREATER_HPP +# +# include +# include +# +# /* BOOST_PP_GREATER */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_GREATER(x, y) BOOST_PP_LESS(y, x) +# else +# define BOOST_PP_GREATER(x, y) BOOST_PP_GREATER_I(x, y) +# define BOOST_PP_GREATER_I(x, y) BOOST_PP_LESS(y, x) +# endif +# +# /* BOOST_PP_GREATER_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_LESS_D(d, y, x) +# else +# define BOOST_PP_GREATER_D(d, x, y) BOOST_PP_GREATER_D_I(d, x, y) +# define BOOST_PP_GREATER_D_I(d, x, y) BOOST_PP_LESS_D(d, y, x) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater_equal.hpp new file mode 100644 index 0000000..8855cef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/greater_equal.hpp @@ -0,0 +1,38 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP +# define BOOST_PREPROCESSOR_COMPARISON_GREATER_EQUAL_HPP +# +# include +# include +# +# /* BOOST_PP_GREATER_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_LESS_EQUAL(y, x) +# else +# define BOOST_PP_GREATER_EQUAL(x, y) BOOST_PP_GREATER_EQUAL_I(x, y) +# define BOOST_PP_GREATER_EQUAL_I(x, y) BOOST_PP_LESS_EQUAL(y, x) +# endif +# +# /* BOOST_PP_GREATER_EQUAL_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x) +# else +# define BOOST_PP_GREATER_EQUAL_D(d, x, y) BOOST_PP_GREATER_EQUAL_D_I(d, x, y) +# define BOOST_PP_GREATER_EQUAL_D_I(d, x, y) BOOST_PP_LESS_EQUAL_D(d, y, x) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less.hpp new file mode 100644 index 0000000..ed071c4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less.hpp @@ -0,0 +1,46 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_HPP +# define BOOST_PREPROCESSOR_COMPARISON_LESS_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LESS */ +# +# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC()) +# define BOOST_PP_LESS(x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL(x, y)) +# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LESS(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y) +# else +# define BOOST_PP_LESS(x, y) BOOST_PP_LESS_I(x, y) +# define BOOST_PP_LESS_I(x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL, 0 BOOST_PP_TUPLE_EAT_2)(x, y) +# endif +# +# /* BOOST_PP_LESS_D */ +# +# if BOOST_PP_CONFIG_FLAGS() & (BOOST_PP_CONFIG_MWCC() | BOOST_PP_CONFIG_DMC()) +# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_BITAND(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D(d, x, y)) +# elif ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y) +# else +# define BOOST_PP_LESS_D(d, x, y) BOOST_PP_LESS_D_I(d, x, y) +# define BOOST_PP_LESS_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_NOT_EQUAL(x, y), BOOST_PP_LESS_EQUAL_D, 0 BOOST_PP_TUPLE_EAT_3)(d, x, y) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less_equal.hpp new file mode 100644 index 0000000..649efd2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/less_equal.hpp @@ -0,0 +1,39 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP +# define BOOST_PREPROCESSOR_COMPARISON_LESS_EQUAL_HPP +# +# include +# include +# include +# +# /* BOOST_PP_LESS_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y)) +# else +# define BOOST_PP_LESS_EQUAL(x, y) BOOST_PP_LESS_EQUAL_I(x, y) +# define BOOST_PP_LESS_EQUAL_I(x, y) BOOST_PP_NOT(BOOST_PP_SUB(x, y)) +# endif +# +# /* BOOST_PP_LESS_EQUAL_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y)) +# else +# define BOOST_PP_LESS_EQUAL_D(d, x, y) BOOST_PP_LESS_EQUAL_D_I(d, x, y) +# define BOOST_PP_LESS_EQUAL_D_I(d, x, y) BOOST_PP_NOT(BOOST_PP_SUB_D(d, x, y)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/not_equal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/not_equal.hpp new file mode 100644 index 0000000..e12b899 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/comparison/not_equal.hpp @@ -0,0 +1,814 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP +# define BOOST_PREPROCESSOR_COMPARISON_NOT_EQUAL_HPP +# +# include +# include +# include +# +# /* BOOST_PP_NOT_EQUAL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_I(x, y) +# else +# define BOOST_PP_NOT_EQUAL(x, y) BOOST_PP_NOT_EQUAL_OO((x, y)) +# define BOOST_PP_NOT_EQUAL_OO(par) BOOST_PP_NOT_EQUAL_I ## par +# endif +# +# define BOOST_PP_NOT_EQUAL_I(x, y) BOOST_PP_CAT(BOOST_PP_NOT_EQUAL_CHECK_, BOOST_PP_NOT_EQUAL_ ## x(0, BOOST_PP_NOT_EQUAL_ ## y)) +# +# /* BOOST_PP_NOT_EQUAL_D */ +# +# define BOOST_PP_NOT_EQUAL_D(d, x, y) BOOST_PP_NOT_EQUAL(x, y) +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_0(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_1(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_2(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_3(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_4(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_5(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_6(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_7(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_8(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_9(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_10(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_11(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_12(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_13(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_14(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_15(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_16(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_17(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_18(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_19(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_20(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_21(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_22(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_23(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_24(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_25(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_26(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_27(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_28(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_29(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_30(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_31(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_32(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_33(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_34(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_35(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_36(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_37(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_38(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_39(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_40(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_41(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_42(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_43(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_44(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_45(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_46(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_47(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_48(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_49(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_50(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_51(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_52(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_53(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_54(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_55(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_56(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_57(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_58(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_59(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_60(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_61(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_62(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_63(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_64(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_65(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_66(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_67(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_68(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_69(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_70(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_71(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_72(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_73(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_74(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_75(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_76(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_77(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_78(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_79(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_80(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_81(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_82(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_83(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_84(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_85(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_86(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_87(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_88(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_89(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_90(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_91(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_92(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_93(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_94(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_95(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_96(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_97(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_98(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_99(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_100(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_101(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_102(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_103(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_104(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_105(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_106(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_107(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_108(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_109(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_110(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_111(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_112(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_113(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_114(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_115(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_116(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_117(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_118(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_119(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_120(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_121(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_122(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_123(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_124(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_125(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_126(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_127(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_128(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_129(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_130(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_131(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_132(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_133(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_134(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_135(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_136(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_137(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_138(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_139(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_140(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_141(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_142(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_143(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_144(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_145(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_146(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_147(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_148(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_149(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_150(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_151(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_152(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_153(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_154(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_155(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_156(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_157(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_158(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_159(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_160(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_161(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_162(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_163(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_164(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_165(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_166(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_167(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_168(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_169(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_170(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_171(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_172(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_173(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_174(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_175(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_176(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_177(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_178(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_179(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_180(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_181(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_182(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_183(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_184(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_185(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_186(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_187(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_188(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_189(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_190(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_191(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_192(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_193(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_194(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_195(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_196(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_197(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_198(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_199(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_200(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_201(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_202(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_203(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_204(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_205(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_206(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_207(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_208(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_209(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_210(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_211(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_212(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_213(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_214(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_215(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_216(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_217(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_218(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_219(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_220(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_221(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_222(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_223(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_224(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_225(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_226(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_227(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_228(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_229(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_230(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_231(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_232(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_233(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_234(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_235(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_236(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_237(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_238(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_239(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_240(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_241(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_242(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_243(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_244(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_245(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_246(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_247(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_248(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_249(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_250(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_251(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_252(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_253(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_254(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_255(c, y) 0 +# define BOOST_PP_NOT_EQUAL_CHECK_BOOST_PP_NOT_EQUAL_256(c, y) 0 +# +#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y(1, BOOST_PP_NIL)) +# else +# define BOOST_PP_NOT_EQUAL_0(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_1(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_2(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_3(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_4(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_5(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_6(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_7(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_8(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_9(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_10(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_11(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_12(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_13(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_14(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_15(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_16(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_17(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_18(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_19(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_20(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_21(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_22(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_23(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_24(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_25(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_26(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_27(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_28(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_29(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_30(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_31(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_32(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_33(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_34(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_35(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_36(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_37(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_38(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_39(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_40(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_41(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_42(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_43(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_44(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_45(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_46(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_47(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_48(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_49(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_50(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_51(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_52(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_53(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_54(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_55(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_56(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_57(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_58(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_59(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_60(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_61(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_62(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_63(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_64(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_65(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_66(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_67(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_68(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_69(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_70(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_71(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_72(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_73(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_74(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_75(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_76(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_77(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_78(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_79(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_80(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_81(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_82(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_83(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_84(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_85(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_86(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_87(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_88(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_89(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_90(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_91(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_92(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_93(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_94(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_95(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_96(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_97(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_98(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_99(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_100(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_101(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_102(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_103(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_104(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_105(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_106(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_107(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_108(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_109(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_110(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_111(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_112(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_113(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_114(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_115(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_116(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_117(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_118(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_119(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_120(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_121(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_122(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_123(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_124(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_125(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_126(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_127(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_128(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_129(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_130(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_131(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_132(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_133(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_134(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_135(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_136(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_137(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_138(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_139(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_140(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_141(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_142(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_143(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_144(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_145(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_146(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_147(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_148(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_149(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_150(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_151(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_152(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_153(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_154(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_155(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_156(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_157(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_158(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_159(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_160(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_161(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_162(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_163(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_164(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_165(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_166(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_167(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_168(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_169(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_170(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_171(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_172(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_173(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_174(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_175(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_176(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_177(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_178(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_179(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_180(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_181(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_182(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_183(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_184(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_185(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_186(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_187(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_188(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_189(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_190(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_191(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_192(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_193(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_194(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_195(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_196(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_197(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_198(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_199(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_200(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_201(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_202(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_203(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_204(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_205(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_206(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_207(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_208(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_209(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_210(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_211(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_212(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_213(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_214(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_215(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_216(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_217(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_218(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_219(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_220(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_221(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_222(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_223(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_224(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_225(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_226(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_227(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_228(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_229(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_230(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_231(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_232(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_233(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_234(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_235(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_236(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_237(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_238(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_239(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_240(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_241(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_242(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_243(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_244(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_245(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_246(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_247(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_248(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_249(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_250(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_251(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_252(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_253(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_254(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_255(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# define BOOST_PP_NOT_EQUAL_256(c, y) BOOST_PP_IIF(c, BOOST_PP_NIL, y##(1, BOOST_PP_NIL)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/config.hpp new file mode 100644 index 0000000..dd4396a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/config.hpp @@ -0,0 +1,70 @@ +# /* ************************************************************************** +# * * +# * (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_CONFIG_CONFIG_HPP +# define BOOST_PREPROCESSOR_CONFIG_CONFIG_HPP +# +# /* BOOST_PP_CONFIG_FLAGS */ +# +# define BOOST_PP_CONFIG_STRICT() 0x0001 +# define BOOST_PP_CONFIG_IDEAL() 0x0002 +# +# define BOOST_PP_CONFIG_MSVC() 0x0004 +# define BOOST_PP_CONFIG_MWCC() 0x0008 +# define BOOST_PP_CONFIG_BCC() 0x0010 +# define BOOST_PP_CONFIG_EDG() 0x0020 +# define BOOST_PP_CONFIG_DMC() 0x0040 +# +# ifndef BOOST_PP_CONFIG_FLAGS +# if defined(__GCCXML__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__WAVE__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__MWERKS__) && __MWERKS__ >= 0x3200 +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__EDG__) || defined(__EDG_VERSION__) +# if defined(_MSC_VER) && __EDG_VERSION__ >= 308 +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) +# else +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT()) +# endif +# elif defined(__MWERKS__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC()) +# elif defined(__DMC__) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_DMC()) +# elif defined(__BORLANDC__) && __BORLANDC__ >= 0x581 +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC()) +# elif defined(_MSC_VER) +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) +# else +# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) +# endif +# endif +# +# /* BOOST_PP_CONFIG_EXTENDED_LINE_INFO */ +# +# ifndef BOOST_PP_CONFIG_EXTENDED_LINE_INFO +# define BOOST_PP_CONFIG_EXTENDED_LINE_INFO 0 +# endif +# +# /* BOOST_PP_CONFIG_ERRORS */ +# +# ifndef BOOST_PP_CONFIG_ERRORS +# ifdef NDEBUG +# define BOOST_PP_CONFIG_ERRORS 0 +# else +# define BOOST_PP_CONFIG_ERRORS 1 +# endif +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/limits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/limits.hpp new file mode 100644 index 0000000..db790fa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/config/limits.hpp @@ -0,0 +1,29 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP +# define BOOST_PREPROCESSOR_CONFIG_LIMITS_HPP +# +# define BOOST_PP_LIMIT_MAG 256 +# define BOOST_PP_LIMIT_TUPLE 25 +# define BOOST_PP_LIMIT_DIM 3 +# define BOOST_PP_LIMIT_REPEAT 256 +# define BOOST_PP_LIMIT_WHILE 256 +# define BOOST_PP_LIMIT_FOR 256 +# define BOOST_PP_LIMIT_ITERATION 256 +# define BOOST_PP_LIMIT_ITERATION_DIM 3 +# define BOOST_PP_LIMIT_SEQ 256 +# define BOOST_PP_LIMIT_SLOT_SIG 10 +# define BOOST_PP_LIMIT_SLOT_COUNT 5 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control.hpp new file mode 100644 index 0000000..8070bff --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control.hpp @@ -0,0 +1,22 @@ +# /* ************************************************************************** +# * * +# * (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_HPP +# define BOOST_PREPROCESSOR_CONTROL_HPP +# +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/deduce_d.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/deduce_d.hpp new file mode 100644 index 0000000..0a8ada9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/deduce_d.hpp @@ -0,0 +1,22 @@ +# /* ************************************************************************** +# * * +# * (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/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/dmc/while.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/dmc/while.hpp new file mode 100644 index 0000000..8ed571a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/dmc/while.hpp @@ -0,0 +1,536 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP +# +# include +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p##(2, s)), p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p##(3, s)), p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p##(4, s)), p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p##(5, s)), p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p##(6, s)), p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p##(7, s)), p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p##(8, s)), p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p##(9, s)), p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p##(10, s)), p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p##(11, s)), p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p##(12, s)), p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p##(13, s)), p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p##(14, s)), p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p##(15, s)), p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p##(16, s)), p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p##(17, s)), p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p##(18, s)), p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p##(19, s)), p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p##(20, s)), p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p##(21, s)), p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p##(22, s)), p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p##(23, s)), p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p##(24, s)), p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p##(25, s)), p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p##(26, s)), p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p##(27, s)), p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p##(28, s)), p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p##(29, s)), p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p##(30, s)), p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p##(31, s)), p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p##(32, s)), p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p##(33, s)), p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p##(34, s)), p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p##(35, s)), p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p##(36, s)), p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p##(37, s)), p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p##(38, s)), p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p##(39, s)), p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p##(40, s)), p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p##(41, s)), p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p##(42, s)), p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p##(43, s)), p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p##(44, s)), p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p##(45, s)), p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p##(46, s)), p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p##(47, s)), p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p##(48, s)), p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p##(49, s)), p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p##(50, s)), p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p##(51, s)), p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p##(52, s)), p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p##(53, s)), p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p##(54, s)), p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p##(55, s)), p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p##(56, s)), p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p##(57, s)), p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p##(58, s)), p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p##(59, s)), p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p##(60, s)), p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p##(61, s)), p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p##(62, s)), p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p##(63, s)), p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p##(64, s)), p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p##(65, s)), p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p##(66, s)), p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p##(67, s)), p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p##(68, s)), p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p##(69, s)), p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p##(70, s)), p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p##(71, s)), p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p##(72, s)), p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p##(73, s)), p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p##(74, s)), p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p##(75, s)), p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p##(76, s)), p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p##(77, s)), p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p##(78, s)), p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p##(79, s)), p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p##(80, s)), p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p##(81, s)), p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p##(82, s)), p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p##(83, s)), p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p##(84, s)), p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p##(85, s)), p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p##(86, s)), p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p##(87, s)), p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p##(88, s)), p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p##(89, s)), p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p##(90, s)), p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p##(91, s)), p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p##(92, s)), p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p##(93, s)), p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p##(94, s)), p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p##(95, s)), p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p##(96, s)), p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p##(97, s)), p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p##(98, s)), p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p##(99, s)), p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p##(100, s)), p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p##(101, s)), p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p##(102, s)), p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p##(103, s)), p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p##(104, s)), p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p##(105, s)), p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p##(106, s)), p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p##(107, s)), p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p##(108, s)), p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p##(109, s)), p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p##(110, s)), p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p##(111, s)), p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p##(112, s)), p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p##(113, s)), p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p##(114, s)), p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p##(115, s)), p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p##(116, s)), p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p##(117, s)), p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p##(118, s)), p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p##(119, s)), p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p##(120, s)), p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p##(121, s)), p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p##(122, s)), p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p##(123, s)), p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p##(124, s)), p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p##(125, s)), p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p##(126, s)), p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p##(127, s)), p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p##(128, s)), p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p##(129, s)), p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p##(130, s)), p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p##(131, s)), p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p##(132, s)), p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p##(133, s)), p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p##(134, s)), p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p##(135, s)), p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p##(136, s)), p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p##(137, s)), p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p##(138, s)), p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p##(139, s)), p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p##(140, s)), p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p##(141, s)), p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p##(142, s)), p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p##(143, s)), p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p##(144, s)), p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p##(145, s)), p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p##(146, s)), p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p##(147, s)), p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p##(148, s)), p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p##(149, s)), p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p##(150, s)), p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p##(151, s)), p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p##(152, s)), p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p##(153, s)), p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p##(154, s)), p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p##(155, s)), p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p##(156, s)), p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p##(157, s)), p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p##(158, s)), p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p##(159, s)), p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p##(160, s)), p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p##(161, s)), p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p##(162, s)), p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p##(163, s)), p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p##(164, s)), p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p##(165, s)), p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p##(166, s)), p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p##(167, s)), p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p##(168, s)), p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p##(169, s)), p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p##(170, s)), p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p##(171, s)), p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p##(172, s)), p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p##(173, s)), p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p##(174, s)), p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p##(175, s)), p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p##(176, s)), p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p##(177, s)), p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p##(178, s)), p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p##(179, s)), p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p##(180, s)), p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p##(181, s)), p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p##(182, s)), p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p##(183, s)), p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p##(184, s)), p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p##(185, s)), p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p##(186, s)), p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p##(187, s)), p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p##(188, s)), p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p##(189, s)), p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p##(190, s)), p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p##(191, s)), p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p##(192, s)), p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p##(193, s)), p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p##(194, s)), p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p##(195, s)), p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p##(196, s)), p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p##(197, s)), p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p##(198, s)), p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p##(199, s)), p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p##(200, s)), p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p##(201, s)), p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p##(202, s)), p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p##(203, s)), p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p##(204, s)), p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p##(205, s)), p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p##(206, s)), p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p##(207, s)), p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p##(208, s)), p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p##(209, s)), p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p##(210, s)), p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p##(211, s)), p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p##(212, s)), p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p##(213, s)), p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p##(214, s)), p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p##(215, s)), p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p##(216, s)), p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p##(217, s)), p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p##(218, s)), p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p##(219, s)), p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p##(220, s)), p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p##(221, s)), p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p##(222, s)), p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p##(223, s)), p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p##(224, s)), p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p##(225, s)), p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p##(226, s)), p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p##(227, s)), p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p##(228, s)), p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p##(229, s)), p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p##(230, s)), p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p##(231, s)), p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p##(232, s)), p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p##(233, s)), p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p##(234, s)), p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p##(235, s)), p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p##(236, s)), p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p##(237, s)), p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p##(238, s)), p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p##(239, s)), p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p##(240, s)), p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p##(241, s)), p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p##(242, s)), p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p##(243, s)), p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p##(244, s)), p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p##(245, s)), p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p##(246, s)), p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p##(247, s)), p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p##(248, s)), p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p##(249, s)), p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p##(250, s)), p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p##(251, s)), p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p##(252, s)), p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p##(253, s)), p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p##(254, s)), p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p##(255, s)), p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p##(256, s)), p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p##(257, s)), p, o, s) +# +# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(2, s)) +# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(3, s)) +# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(4, s)) +# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(5, s)) +# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(6, s)) +# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(7, s)) +# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(8, s)) +# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(9, s)) +# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(10, s)) +# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(11, s)) +# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(12, s)) +# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(13, s)) +# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(14, s)) +# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(15, s)) +# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(16, s)) +# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(17, s)) +# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(18, s)) +# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(19, s)) +# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(20, s)) +# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(21, s)) +# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(22, s)) +# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(23, s)) +# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(24, s)) +# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(25, s)) +# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(26, s)) +# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(27, s)) +# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(28, s)) +# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(29, s)) +# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(30, s)) +# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(31, s)) +# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(32, s)) +# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(33, s)) +# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(34, s)) +# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(35, s)) +# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(36, s)) +# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(37, s)) +# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(38, s)) +# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(39, s)) +# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(40, s)) +# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(41, s)) +# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(42, s)) +# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(43, s)) +# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(44, s)) +# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(45, s)) +# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(46, s)) +# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(47, s)) +# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(48, s)) +# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(49, s)) +# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(50, s)) +# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(51, s)) +# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(52, s)) +# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(53, s)) +# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(54, s)) +# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(55, s)) +# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(56, s)) +# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(57, s)) +# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(58, s)) +# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(59, s)) +# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(60, s)) +# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(61, s)) +# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(62, s)) +# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(63, s)) +# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(64, s)) +# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(65, s)) +# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(66, s)) +# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(67, s)) +# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(68, s)) +# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(69, s)) +# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(70, s)) +# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(71, s)) +# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(72, s)) +# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(73, s)) +# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(74, s)) +# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(75, s)) +# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(76, s)) +# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(77, s)) +# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(78, s)) +# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(79, s)) +# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(80, s)) +# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(81, s)) +# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(82, s)) +# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(83, s)) +# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(84, s)) +# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(85, s)) +# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(86, s)) +# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(87, s)) +# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(88, s)) +# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(89, s)) +# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(90, s)) +# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(91, s)) +# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(92, s)) +# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(93, s)) +# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(94, s)) +# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(95, s)) +# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(96, s)) +# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(97, s)) +# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(98, s)) +# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(99, s)) +# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(100, s)) +# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(101, s)) +# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(102, s)) +# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(103, s)) +# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(104, s)) +# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(105, s)) +# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(106, s)) +# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(107, s)) +# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(108, s)) +# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(109, s)) +# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(110, s)) +# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(111, s)) +# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(112, s)) +# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(113, s)) +# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(114, s)) +# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(115, s)) +# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(116, s)) +# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(117, s)) +# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(118, s)) +# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(119, s)) +# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(120, s)) +# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(121, s)) +# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(122, s)) +# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(123, s)) +# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(124, s)) +# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(125, s)) +# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(126, s)) +# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(127, s)) +# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(128, s)) +# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(129, s)) +# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(130, s)) +# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(131, s)) +# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(132, s)) +# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(133, s)) +# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(134, s)) +# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(135, s)) +# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(136, s)) +# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(137, s)) +# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(138, s)) +# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(139, s)) +# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(140, s)) +# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(141, s)) +# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(142, s)) +# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(143, s)) +# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(144, s)) +# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(145, s)) +# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(146, s)) +# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(147, s)) +# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(148, s)) +# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(149, s)) +# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(150, s)) +# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(151, s)) +# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(152, s)) +# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(153, s)) +# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(154, s)) +# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(155, s)) +# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(156, s)) +# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(157, s)) +# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(158, s)) +# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(159, s)) +# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(160, s)) +# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(161, s)) +# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(162, s)) +# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(163, s)) +# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(164, s)) +# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(165, s)) +# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(166, s)) +# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(167, s)) +# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(168, s)) +# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(169, s)) +# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(170, s)) +# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(171, s)) +# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(172, s)) +# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(173, s)) +# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(174, s)) +# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(175, s)) +# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(176, s)) +# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(177, s)) +# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(178, s)) +# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(179, s)) +# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(180, s)) +# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(181, s)) +# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(182, s)) +# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(183, s)) +# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(184, s)) +# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(185, s)) +# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(186, s)) +# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(187, s)) +# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(188, s)) +# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(189, s)) +# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(190, s)) +# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(191, s)) +# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(192, s)) +# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(193, s)) +# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(194, s)) +# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(195, s)) +# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(196, s)) +# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(197, s)) +# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(198, s)) +# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(199, s)) +# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(200, s)) +# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(201, s)) +# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(202, s)) +# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(203, s)) +# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(204, s)) +# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(205, s)) +# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(206, s)) +# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(207, s)) +# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(208, s)) +# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(209, s)) +# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(210, s)) +# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(211, s)) +# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(212, s)) +# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(213, s)) +# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(214, s)) +# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(215, s)) +# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(216, s)) +# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(217, s)) +# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(218, s)) +# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(219, s)) +# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(220, s)) +# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(221, s)) +# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(222, s)) +# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(223, s)) +# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(224, s)) +# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(225, s)) +# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(226, s)) +# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(227, s)) +# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(228, s)) +# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(229, s)) +# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(230, s)) +# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(231, s)) +# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(232, s)) +# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(233, s)) +# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(234, s)) +# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(235, s)) +# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(236, s)) +# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(237, s)) +# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(238, s)) +# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(239, s)) +# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(240, s)) +# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(241, s)) +# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(242, s)) +# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(243, s)) +# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(244, s)) +# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(245, s)) +# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(246, s)) +# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(247, s)) +# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(248, s)) +# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(249, s)) +# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(250, s)) +# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(251, s)) +# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(252, s)) +# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(253, s)) +# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(254, s)) +# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(255, s)) +# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(256, s)) +# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, BOOST_PP_TUPLE_ELEM_3_2)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_TUPLE_ELEM_2_1)(257, s)) +# +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/edg/while.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/edg/while.hpp new file mode 100644 index 0000000..ea10ecc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/edg/while.hpp @@ -0,0 +1,534 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_EDG_WHILE_HPP +# +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_I(p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_I(p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_I(p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_I(p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_I(p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_I(p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_I(p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_I(p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_I(p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_I(p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_I(p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_I(p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_I(p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_I(p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_I(p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_I(p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_I(p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_I(p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_I(p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_I(p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_I(p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_I(p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_I(p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_I(p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_I(p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_I(p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_I(p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_I(p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_I(p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_I(p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_I(p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_I(p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_I(p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_I(p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_I(p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_I(p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_I(p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_I(p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_I(p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_I(p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_I(p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_I(p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_I(p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_I(p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_I(p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_I(p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_I(p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_I(p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_I(p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_I(p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_I(p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_I(p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_I(p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_I(p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_I(p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_I(p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_I(p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_I(p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_I(p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_I(p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_I(p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_I(p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_I(p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_I(p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_I(p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_I(p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_I(p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_I(p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_I(p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_I(p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_I(p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_I(p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_I(p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_I(p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_I(p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_I(p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_I(p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_I(p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_I(p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_I(p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_I(p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_I(p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_I(p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_I(p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_I(p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_I(p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_I(p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_I(p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_I(p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_I(p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_I(p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_I(p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_I(p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_I(p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_I(p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_I(p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_I(p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_I(p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_I(p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_I(p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_I(p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_I(p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_I(p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_I(p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_I(p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_I(p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_I(p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_I(p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_I(p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_I(p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_I(p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_I(p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_I(p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_I(p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_I(p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_I(p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_I(p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_I(p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_I(p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_I(p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_I(p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_I(p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_I(p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_I(p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_I(p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_I(p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_I(p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_I(p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_I(p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_I(p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_I(p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_I(p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_I(p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_I(p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_I(p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_I(p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_I(p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_I(p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_I(p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_I(p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_I(p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_I(p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_I(p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_I(p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_I(p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_I(p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_I(p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_I(p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_I(p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_I(p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_I(p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_I(p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_I(p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_I(p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_I(p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_I(p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_I(p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_I(p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_I(p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_I(p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_I(p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_I(p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_I(p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_I(p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_I(p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_I(p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_I(p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_I(p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_I(p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_I(p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_I(p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_I(p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_I(p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_I(p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_I(p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_I(p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_I(p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_I(p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_I(p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_I(p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_I(p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_I(p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_I(p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_I(p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_I(p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_I(p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_I(p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_I(p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_I(p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_I(p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_I(p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_I(p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_I(p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_I(p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_I(p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_I(p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_I(p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_I(p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_I(p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_I(p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_I(p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_I(p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_I(p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_I(p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_I(p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_I(p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_I(p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_I(p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_I(p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_I(p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_I(p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_I(p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_I(p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_I(p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_I(p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_I(p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_I(p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_I(p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_I(p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_I(p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_I(p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_I(p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_I(p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_I(p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_I(p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_I(p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_I(p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_I(p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_I(p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_I(p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_I(p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_I(p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_I(p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_I(p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_I(p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_I(p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_I(p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_I(p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_I(p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_I(p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_I(p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_I(p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_I(p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_I(p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_I(p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_I(p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_I(p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_I(p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_I(p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_I(p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_I(p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_I(p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_I(p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_I(p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_I(p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_I(p, o, s) +# +# define BOOST_PP_WHILE_1_I(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) +# define BOOST_PP_WHILE_2_I(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) +# define BOOST_PP_WHILE_3_I(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) +# define BOOST_PP_WHILE_4_I(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) +# define BOOST_PP_WHILE_5_I(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) +# define BOOST_PP_WHILE_6_I(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) +# define BOOST_PP_WHILE_7_I(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) +# define BOOST_PP_WHILE_8_I(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) +# define BOOST_PP_WHILE_9_I(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) +# define BOOST_PP_WHILE_10_I(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) +# define BOOST_PP_WHILE_11_I(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) +# define BOOST_PP_WHILE_12_I(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) +# define BOOST_PP_WHILE_13_I(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) +# define BOOST_PP_WHILE_14_I(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) +# define BOOST_PP_WHILE_15_I(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) +# define BOOST_PP_WHILE_16_I(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) +# define BOOST_PP_WHILE_17_I(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) +# define BOOST_PP_WHILE_18_I(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) +# define BOOST_PP_WHILE_19_I(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) +# define BOOST_PP_WHILE_20_I(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) +# define BOOST_PP_WHILE_21_I(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) +# define BOOST_PP_WHILE_22_I(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) +# define BOOST_PP_WHILE_23_I(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) +# define BOOST_PP_WHILE_24_I(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) +# define BOOST_PP_WHILE_25_I(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) +# define BOOST_PP_WHILE_26_I(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) +# define BOOST_PP_WHILE_27_I(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) +# define BOOST_PP_WHILE_28_I(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) +# define BOOST_PP_WHILE_29_I(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) +# define BOOST_PP_WHILE_30_I(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) +# define BOOST_PP_WHILE_31_I(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) +# define BOOST_PP_WHILE_32_I(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) +# define BOOST_PP_WHILE_33_I(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) +# define BOOST_PP_WHILE_34_I(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) +# define BOOST_PP_WHILE_35_I(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) +# define BOOST_PP_WHILE_36_I(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) +# define BOOST_PP_WHILE_37_I(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) +# define BOOST_PP_WHILE_38_I(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) +# define BOOST_PP_WHILE_39_I(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) +# define BOOST_PP_WHILE_40_I(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) +# define BOOST_PP_WHILE_41_I(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) +# define BOOST_PP_WHILE_42_I(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) +# define BOOST_PP_WHILE_43_I(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) +# define BOOST_PP_WHILE_44_I(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) +# define BOOST_PP_WHILE_45_I(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) +# define BOOST_PP_WHILE_46_I(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) +# define BOOST_PP_WHILE_47_I(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) +# define BOOST_PP_WHILE_48_I(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) +# define BOOST_PP_WHILE_49_I(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) +# define BOOST_PP_WHILE_50_I(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) +# define BOOST_PP_WHILE_51_I(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) +# define BOOST_PP_WHILE_52_I(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) +# define BOOST_PP_WHILE_53_I(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) +# define BOOST_PP_WHILE_54_I(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) +# define BOOST_PP_WHILE_55_I(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) +# define BOOST_PP_WHILE_56_I(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) +# define BOOST_PP_WHILE_57_I(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) +# define BOOST_PP_WHILE_58_I(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) +# define BOOST_PP_WHILE_59_I(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) +# define BOOST_PP_WHILE_60_I(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) +# define BOOST_PP_WHILE_61_I(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) +# define BOOST_PP_WHILE_62_I(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) +# define BOOST_PP_WHILE_63_I(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) +# define BOOST_PP_WHILE_64_I(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) +# define BOOST_PP_WHILE_65_I(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) +# define BOOST_PP_WHILE_66_I(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) +# define BOOST_PP_WHILE_67_I(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) +# define BOOST_PP_WHILE_68_I(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) +# define BOOST_PP_WHILE_69_I(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) +# define BOOST_PP_WHILE_70_I(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) +# define BOOST_PP_WHILE_71_I(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) +# define BOOST_PP_WHILE_72_I(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) +# define BOOST_PP_WHILE_73_I(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) +# define BOOST_PP_WHILE_74_I(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) +# define BOOST_PP_WHILE_75_I(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) +# define BOOST_PP_WHILE_76_I(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) +# define BOOST_PP_WHILE_77_I(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) +# define BOOST_PP_WHILE_78_I(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) +# define BOOST_PP_WHILE_79_I(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) +# define BOOST_PP_WHILE_80_I(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) +# define BOOST_PP_WHILE_81_I(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) +# define BOOST_PP_WHILE_82_I(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) +# define BOOST_PP_WHILE_83_I(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) +# define BOOST_PP_WHILE_84_I(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) +# define BOOST_PP_WHILE_85_I(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) +# define BOOST_PP_WHILE_86_I(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) +# define BOOST_PP_WHILE_87_I(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) +# define BOOST_PP_WHILE_88_I(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) +# define BOOST_PP_WHILE_89_I(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) +# define BOOST_PP_WHILE_90_I(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) +# define BOOST_PP_WHILE_91_I(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) +# define BOOST_PP_WHILE_92_I(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) +# define BOOST_PP_WHILE_93_I(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) +# define BOOST_PP_WHILE_94_I(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) +# define BOOST_PP_WHILE_95_I(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) +# define BOOST_PP_WHILE_96_I(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) +# define BOOST_PP_WHILE_97_I(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) +# define BOOST_PP_WHILE_98_I(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) +# define BOOST_PP_WHILE_99_I(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) +# define BOOST_PP_WHILE_100_I(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) +# define BOOST_PP_WHILE_101_I(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) +# define BOOST_PP_WHILE_102_I(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) +# define BOOST_PP_WHILE_103_I(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) +# define BOOST_PP_WHILE_104_I(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) +# define BOOST_PP_WHILE_105_I(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) +# define BOOST_PP_WHILE_106_I(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) +# define BOOST_PP_WHILE_107_I(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) +# define BOOST_PP_WHILE_108_I(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) +# define BOOST_PP_WHILE_109_I(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) +# define BOOST_PP_WHILE_110_I(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) +# define BOOST_PP_WHILE_111_I(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) +# define BOOST_PP_WHILE_112_I(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) +# define BOOST_PP_WHILE_113_I(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) +# define BOOST_PP_WHILE_114_I(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) +# define BOOST_PP_WHILE_115_I(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) +# define BOOST_PP_WHILE_116_I(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) +# define BOOST_PP_WHILE_117_I(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) +# define BOOST_PP_WHILE_118_I(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) +# define BOOST_PP_WHILE_119_I(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) +# define BOOST_PP_WHILE_120_I(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) +# define BOOST_PP_WHILE_121_I(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) +# define BOOST_PP_WHILE_122_I(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) +# define BOOST_PP_WHILE_123_I(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) +# define BOOST_PP_WHILE_124_I(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) +# define BOOST_PP_WHILE_125_I(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) +# define BOOST_PP_WHILE_126_I(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) +# define BOOST_PP_WHILE_127_I(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) +# define BOOST_PP_WHILE_128_I(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) +# define BOOST_PP_WHILE_129_I(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) +# define BOOST_PP_WHILE_130_I(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) +# define BOOST_PP_WHILE_131_I(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) +# define BOOST_PP_WHILE_132_I(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) +# define BOOST_PP_WHILE_133_I(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) +# define BOOST_PP_WHILE_134_I(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) +# define BOOST_PP_WHILE_135_I(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) +# define BOOST_PP_WHILE_136_I(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) +# define BOOST_PP_WHILE_137_I(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) +# define BOOST_PP_WHILE_138_I(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) +# define BOOST_PP_WHILE_139_I(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) +# define BOOST_PP_WHILE_140_I(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) +# define BOOST_PP_WHILE_141_I(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) +# define BOOST_PP_WHILE_142_I(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) +# define BOOST_PP_WHILE_143_I(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) +# define BOOST_PP_WHILE_144_I(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) +# define BOOST_PP_WHILE_145_I(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) +# define BOOST_PP_WHILE_146_I(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) +# define BOOST_PP_WHILE_147_I(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) +# define BOOST_PP_WHILE_148_I(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) +# define BOOST_PP_WHILE_149_I(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) +# define BOOST_PP_WHILE_150_I(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) +# define BOOST_PP_WHILE_151_I(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) +# define BOOST_PP_WHILE_152_I(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) +# define BOOST_PP_WHILE_153_I(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) +# define BOOST_PP_WHILE_154_I(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) +# define BOOST_PP_WHILE_155_I(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) +# define BOOST_PP_WHILE_156_I(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) +# define BOOST_PP_WHILE_157_I(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) +# define BOOST_PP_WHILE_158_I(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) +# define BOOST_PP_WHILE_159_I(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) +# define BOOST_PP_WHILE_160_I(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) +# define BOOST_PP_WHILE_161_I(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) +# define BOOST_PP_WHILE_162_I(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) +# define BOOST_PP_WHILE_163_I(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) +# define BOOST_PP_WHILE_164_I(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) +# define BOOST_PP_WHILE_165_I(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) +# define BOOST_PP_WHILE_166_I(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) +# define BOOST_PP_WHILE_167_I(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) +# define BOOST_PP_WHILE_168_I(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) +# define BOOST_PP_WHILE_169_I(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) +# define BOOST_PP_WHILE_170_I(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) +# define BOOST_PP_WHILE_171_I(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) +# define BOOST_PP_WHILE_172_I(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) +# define BOOST_PP_WHILE_173_I(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) +# define BOOST_PP_WHILE_174_I(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) +# define BOOST_PP_WHILE_175_I(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) +# define BOOST_PP_WHILE_176_I(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) +# define BOOST_PP_WHILE_177_I(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) +# define BOOST_PP_WHILE_178_I(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) +# define BOOST_PP_WHILE_179_I(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) +# define BOOST_PP_WHILE_180_I(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) +# define BOOST_PP_WHILE_181_I(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) +# define BOOST_PP_WHILE_182_I(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) +# define BOOST_PP_WHILE_183_I(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) +# define BOOST_PP_WHILE_184_I(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) +# define BOOST_PP_WHILE_185_I(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) +# define BOOST_PP_WHILE_186_I(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) +# define BOOST_PP_WHILE_187_I(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) +# define BOOST_PP_WHILE_188_I(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) +# define BOOST_PP_WHILE_189_I(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) +# define BOOST_PP_WHILE_190_I(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) +# define BOOST_PP_WHILE_191_I(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) +# define BOOST_PP_WHILE_192_I(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) +# define BOOST_PP_WHILE_193_I(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) +# define BOOST_PP_WHILE_194_I(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) +# define BOOST_PP_WHILE_195_I(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) +# define BOOST_PP_WHILE_196_I(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) +# define BOOST_PP_WHILE_197_I(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) +# define BOOST_PP_WHILE_198_I(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) +# define BOOST_PP_WHILE_199_I(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) +# define BOOST_PP_WHILE_200_I(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) +# define BOOST_PP_WHILE_201_I(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) +# define BOOST_PP_WHILE_202_I(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) +# define BOOST_PP_WHILE_203_I(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) +# define BOOST_PP_WHILE_204_I(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) +# define BOOST_PP_WHILE_205_I(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) +# define BOOST_PP_WHILE_206_I(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) +# define BOOST_PP_WHILE_207_I(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) +# define BOOST_PP_WHILE_208_I(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) +# define BOOST_PP_WHILE_209_I(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) +# define BOOST_PP_WHILE_210_I(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) +# define BOOST_PP_WHILE_211_I(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) +# define BOOST_PP_WHILE_212_I(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) +# define BOOST_PP_WHILE_213_I(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) +# define BOOST_PP_WHILE_214_I(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) +# define BOOST_PP_WHILE_215_I(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) +# define BOOST_PP_WHILE_216_I(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) +# define BOOST_PP_WHILE_217_I(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) +# define BOOST_PP_WHILE_218_I(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) +# define BOOST_PP_WHILE_219_I(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) +# define BOOST_PP_WHILE_220_I(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) +# define BOOST_PP_WHILE_221_I(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) +# define BOOST_PP_WHILE_222_I(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) +# define BOOST_PP_WHILE_223_I(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) +# define BOOST_PP_WHILE_224_I(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) +# define BOOST_PP_WHILE_225_I(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) +# define BOOST_PP_WHILE_226_I(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) +# define BOOST_PP_WHILE_227_I(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) +# define BOOST_PP_WHILE_228_I(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) +# define BOOST_PP_WHILE_229_I(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) +# define BOOST_PP_WHILE_230_I(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) +# define BOOST_PP_WHILE_231_I(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) +# define BOOST_PP_WHILE_232_I(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) +# define BOOST_PP_WHILE_233_I(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) +# define BOOST_PP_WHILE_234_I(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) +# define BOOST_PP_WHILE_235_I(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) +# define BOOST_PP_WHILE_236_I(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) +# define BOOST_PP_WHILE_237_I(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) +# define BOOST_PP_WHILE_238_I(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) +# define BOOST_PP_WHILE_239_I(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) +# define BOOST_PP_WHILE_240_I(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) +# define BOOST_PP_WHILE_241_I(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) +# define BOOST_PP_WHILE_242_I(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) +# define BOOST_PP_WHILE_243_I(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) +# define BOOST_PP_WHILE_244_I(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) +# define BOOST_PP_WHILE_245_I(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) +# define BOOST_PP_WHILE_246_I(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) +# define BOOST_PP_WHILE_247_I(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) +# define BOOST_PP_WHILE_248_I(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) +# define BOOST_PP_WHILE_249_I(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) +# define BOOST_PP_WHILE_250_I(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) +# define BOOST_PP_WHILE_251_I(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) +# define BOOST_PP_WHILE_252_I(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) +# define BOOST_PP_WHILE_253_I(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) +# define BOOST_PP_WHILE_254_I(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) +# define BOOST_PP_WHILE_255_I(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) +# define BOOST_PP_WHILE_256_I(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/msvc/while.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/msvc/while.hpp new file mode 100644 index 0000000..e3cc685 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/msvc/while.hpp @@ -0,0 +1,277 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_MSVC_WHILE_HPP +# +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_IF(p(2, s), BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, o(2, s)) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_IF(p(3, s), BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, o(3, s)) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_IF(p(4, s), BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, o(4, s)) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_IF(p(5, s), BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, o(5, s)) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_IF(p(6, s), BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, o(6, s)) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_IF(p(7, s), BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, o(7, s)) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_IF(p(8, s), BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, o(8, s)) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_IF(p(9, s), BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, o(9, s)) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_IF(p(10, s), BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, o(10, s)) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_IF(p(11, s), BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, o(11, s)) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_IF(p(12, s), BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, o(12, s)) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_IF(p(13, s), BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, o(13, s)) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_IF(p(14, s), BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, o(14, s)) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_IF(p(15, s), BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, o(15, s)) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_IF(p(16, s), BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, o(16, s)) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_IF(p(17, s), BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, o(17, s)) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_IF(p(18, s), BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, o(18, s)) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_IF(p(19, s), BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, o(19, s)) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_IF(p(20, s), BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, o(20, s)) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_IF(p(21, s), BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, o(21, s)) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_IF(p(22, s), BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, o(22, s)) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_IF(p(23, s), BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, o(23, s)) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_IF(p(24, s), BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, o(24, s)) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_IF(p(25, s), BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, o(25, s)) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_IF(p(26, s), BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, o(26, s)) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_IF(p(27, s), BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, o(27, s)) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_IF(p(28, s), BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, o(28, s)) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_IF(p(29, s), BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, o(29, s)) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_IF(p(30, s), BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, o(30, s)) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_IF(p(31, s), BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, o(31, s)) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_IF(p(32, s), BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, o(32, s)) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_IF(p(33, s), BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, o(33, s)) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_IF(p(34, s), BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, o(34, s)) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_IF(p(35, s), BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, o(35, s)) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_IF(p(36, s), BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, o(36, s)) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_IF(p(37, s), BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, o(37, s)) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_IF(p(38, s), BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, o(38, s)) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_IF(p(39, s), BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, o(39, s)) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_IF(p(40, s), BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, o(40, s)) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_IF(p(41, s), BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, o(41, s)) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_IF(p(42, s), BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, o(42, s)) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_IF(p(43, s), BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, o(43, s)) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_IF(p(44, s), BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, o(44, s)) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_IF(p(45, s), BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, o(45, s)) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_IF(p(46, s), BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, o(46, s)) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_IF(p(47, s), BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, o(47, s)) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_IF(p(48, s), BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, o(48, s)) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_IF(p(49, s), BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, o(49, s)) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_IF(p(50, s), BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, o(50, s)) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_IF(p(51, s), BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, o(51, s)) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_IF(p(52, s), BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, o(52, s)) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_IF(p(53, s), BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, o(53, s)) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_IF(p(54, s), BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, o(54, s)) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_IF(p(55, s), BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, o(55, s)) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_IF(p(56, s), BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, o(56, s)) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_IF(p(57, s), BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, o(57, s)) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_IF(p(58, s), BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, o(58, s)) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_IF(p(59, s), BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, o(59, s)) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_IF(p(60, s), BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, o(60, s)) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_IF(p(61, s), BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, o(61, s)) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_IF(p(62, s), BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, o(62, s)) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_IF(p(63, s), BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, o(63, s)) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_IF(p(64, s), BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, o(64, s)) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_IF(p(65, s), BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, o(65, s)) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_IF(p(66, s), BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, o(66, s)) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_IF(p(67, s), BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, o(67, s)) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_IF(p(68, s), BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, o(68, s)) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_IF(p(69, s), BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, o(69, s)) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_IF(p(70, s), BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, o(70, s)) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_IF(p(71, s), BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, o(71, s)) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_IF(p(72, s), BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, o(72, s)) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_IF(p(73, s), BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, o(73, s)) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_IF(p(74, s), BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, o(74, s)) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_IF(p(75, s), BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, o(75, s)) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_IF(p(76, s), BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, o(76, s)) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_IF(p(77, s), BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, o(77, s)) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_IF(p(78, s), BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, o(78, s)) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_IF(p(79, s), BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, o(79, s)) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_IF(p(80, s), BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, o(80, s)) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_IF(p(81, s), BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, o(81, s)) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_IF(p(82, s), BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, o(82, s)) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_IF(p(83, s), BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, o(83, s)) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_IF(p(84, s), BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, o(84, s)) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_IF(p(85, s), BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, o(85, s)) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_IF(p(86, s), BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, o(86, s)) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_IF(p(87, s), BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, o(87, s)) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_IF(p(88, s), BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, o(88, s)) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_IF(p(89, s), BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, o(89, s)) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_IF(p(90, s), BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, o(90, s)) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_IF(p(91, s), BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, o(91, s)) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_IF(p(92, s), BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, o(92, s)) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_IF(p(93, s), BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, o(93, s)) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_IF(p(94, s), BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, o(94, s)) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_IF(p(95, s), BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, o(95, s)) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_IF(p(96, s), BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, o(96, s)) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_IF(p(97, s), BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, o(97, s)) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_IF(p(98, s), BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, o(98, s)) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_IF(p(99, s), BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, o(99, s)) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_IF(p(100, s), BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, o(100, s)) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_IF(p(101, s), BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, o(101, s)) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_IF(p(102, s), BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, o(102, s)) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_IF(p(103, s), BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, o(103, s)) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_IF(p(104, s), BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, o(104, s)) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_IF(p(105, s), BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, o(105, s)) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_IF(p(106, s), BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, o(106, s)) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_IF(p(107, s), BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, o(107, s)) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_IF(p(108, s), BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, o(108, s)) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_IF(p(109, s), BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, o(109, s)) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_IF(p(110, s), BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, o(110, s)) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_IF(p(111, s), BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, o(111, s)) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_IF(p(112, s), BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, o(112, s)) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_IF(p(113, s), BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, o(113, s)) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_IF(p(114, s), BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, o(114, s)) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_IF(p(115, s), BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, o(115, s)) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_IF(p(116, s), BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, o(116, s)) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_IF(p(117, s), BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, o(117, s)) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_IF(p(118, s), BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, o(118, s)) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_IF(p(119, s), BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, o(119, s)) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_IF(p(120, s), BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, o(120, s)) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_IF(p(121, s), BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, o(121, s)) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_IF(p(122, s), BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, o(122, s)) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_IF(p(123, s), BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, o(123, s)) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_IF(p(124, s), BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, o(124, s)) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_IF(p(125, s), BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, o(125, s)) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_IF(p(126, s), BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, o(126, s)) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_IF(p(127, s), BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, o(127, s)) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_IF(p(128, s), BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, o(128, s)) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_IF(p(129, s), BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, o(129, s)) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_IF(p(130, s), BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, o(130, s)) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_IF(p(131, s), BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, o(131, s)) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_IF(p(132, s), BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, o(132, s)) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_IF(p(133, s), BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, o(133, s)) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_IF(p(134, s), BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, o(134, s)) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_IF(p(135, s), BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, o(135, s)) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_IF(p(136, s), BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, o(136, s)) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_IF(p(137, s), BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, o(137, s)) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_IF(p(138, s), BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, o(138, s)) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_IF(p(139, s), BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, o(139, s)) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_IF(p(140, s), BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, o(140, s)) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_IF(p(141, s), BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, o(141, s)) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_IF(p(142, s), BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, o(142, s)) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_IF(p(143, s), BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, o(143, s)) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_IF(p(144, s), BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, o(144, s)) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_IF(p(145, s), BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, o(145, s)) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_IF(p(146, s), BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, o(146, s)) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_IF(p(147, s), BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, o(147, s)) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_IF(p(148, s), BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, o(148, s)) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_IF(p(149, s), BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, o(149, s)) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_IF(p(150, s), BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, o(150, s)) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_IF(p(151, s), BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, o(151, s)) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_IF(p(152, s), BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, o(152, s)) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_IF(p(153, s), BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, o(153, s)) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_IF(p(154, s), BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, o(154, s)) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_IF(p(155, s), BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, o(155, s)) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_IF(p(156, s), BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, o(156, s)) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_IF(p(157, s), BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, o(157, s)) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_IF(p(158, s), BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, o(158, s)) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_IF(p(159, s), BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, o(159, s)) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_IF(p(160, s), BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, o(160, s)) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_IF(p(161, s), BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, o(161, s)) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_IF(p(162, s), BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, o(162, s)) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_IF(p(163, s), BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, o(163, s)) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_IF(p(164, s), BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, o(164, s)) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_IF(p(165, s), BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, o(165, s)) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_IF(p(166, s), BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, o(166, s)) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_IF(p(167, s), BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, o(167, s)) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_IF(p(168, s), BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, o(168, s)) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_IF(p(169, s), BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, o(169, s)) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_IF(p(170, s), BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, o(170, s)) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_IF(p(171, s), BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, o(171, s)) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_IF(p(172, s), BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, o(172, s)) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_IF(p(173, s), BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, o(173, s)) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_IF(p(174, s), BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, o(174, s)) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_IF(p(175, s), BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, o(175, s)) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_IF(p(176, s), BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, o(176, s)) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_IF(p(177, s), BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, o(177, s)) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_IF(p(178, s), BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, o(178, s)) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_IF(p(179, s), BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, o(179, s)) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_IF(p(180, s), BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, o(180, s)) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_IF(p(181, s), BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, o(181, s)) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_IF(p(182, s), BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, o(182, s)) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_IF(p(183, s), BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, o(183, s)) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_IF(p(184, s), BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, o(184, s)) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_IF(p(185, s), BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, o(185, s)) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_IF(p(186, s), BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, o(186, s)) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_IF(p(187, s), BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, o(187, s)) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_IF(p(188, s), BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, o(188, s)) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_IF(p(189, s), BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, o(189, s)) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_IF(p(190, s), BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, o(190, s)) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_IF(p(191, s), BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, o(191, s)) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_IF(p(192, s), BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, o(192, s)) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_IF(p(193, s), BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, o(193, s)) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_IF(p(194, s), BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, o(194, s)) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_IF(p(195, s), BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, o(195, s)) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_IF(p(196, s), BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, o(196, s)) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_IF(p(197, s), BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, o(197, s)) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_IF(p(198, s), BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, o(198, s)) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_IF(p(199, s), BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, o(199, s)) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_IF(p(200, s), BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, o(200, s)) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_IF(p(201, s), BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, o(201, s)) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_IF(p(202, s), BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, o(202, s)) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_IF(p(203, s), BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, o(203, s)) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_IF(p(204, s), BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, o(204, s)) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_IF(p(205, s), BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, o(205, s)) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_IF(p(206, s), BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, o(206, s)) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_IF(p(207, s), BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, o(207, s)) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_IF(p(208, s), BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, o(208, s)) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_IF(p(209, s), BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, o(209, s)) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_IF(p(210, s), BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, o(210, s)) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_IF(p(211, s), BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, o(211, s)) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_IF(p(212, s), BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, o(212, s)) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_IF(p(213, s), BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, o(213, s)) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_IF(p(214, s), BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, o(214, s)) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_IF(p(215, s), BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, o(215, s)) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_IF(p(216, s), BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, o(216, s)) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_IF(p(217, s), BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, o(217, s)) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_IF(p(218, s), BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, o(218, s)) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_IF(p(219, s), BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, o(219, s)) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_IF(p(220, s), BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, o(220, s)) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_IF(p(221, s), BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, o(221, s)) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_IF(p(222, s), BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, o(222, s)) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_IF(p(223, s), BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, o(223, s)) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_IF(p(224, s), BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, o(224, s)) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_IF(p(225, s), BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, o(225, s)) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_IF(p(226, s), BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, o(226, s)) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_IF(p(227, s), BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, o(227, s)) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_IF(p(228, s), BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, o(228, s)) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_IF(p(229, s), BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, o(229, s)) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_IF(p(230, s), BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, o(230, s)) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_IF(p(231, s), BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, o(231, s)) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_IF(p(232, s), BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, o(232, s)) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_IF(p(233, s), BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, o(233, s)) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_IF(p(234, s), BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, o(234, s)) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_IF(p(235, s), BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, o(235, s)) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_IF(p(236, s), BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, o(236, s)) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_IF(p(237, s), BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, o(237, s)) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_IF(p(238, s), BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, o(238, s)) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_IF(p(239, s), BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, o(239, s)) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_IF(p(240, s), BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, o(240, s)) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_IF(p(241, s), BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, o(241, s)) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_IF(p(242, s), BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, o(242, s)) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_IF(p(243, s), BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, o(243, s)) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_IF(p(244, s), BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, o(244, s)) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_IF(p(245, s), BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, o(245, s)) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_IF(p(246, s), BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, o(246, s)) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_IF(p(247, s), BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, o(247, s)) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_IF(p(248, s), BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, o(248, s)) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_IF(p(249, s), BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, o(249, s)) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_IF(p(250, s), BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, o(250, s)) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_IF(p(251, s), BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, o(251, s)) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_IF(p(252, s), BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, o(252, s)) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_IF(p(253, s), BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, o(253, s)) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_IF(p(254, s), BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, o(254, s)) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_IF(p(255, s), BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, o(255, s)) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_IF(p(256, s), BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, o(256, s)) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_IF(p(257, s), BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, o(257, s)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/while.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/while.hpp new file mode 100644 index 0000000..1196c91 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/detail/while.hpp @@ -0,0 +1,536 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_DETAIL_WHILE_HPP +# +# include +# include +# include +# +# define BOOST_PP_WHILE_1(p, o, s) BOOST_PP_WHILE_1_C(BOOST_PP_BOOL(p(2, s)), p, o, s) +# define BOOST_PP_WHILE_2(p, o, s) BOOST_PP_WHILE_2_C(BOOST_PP_BOOL(p(3, s)), p, o, s) +# define BOOST_PP_WHILE_3(p, o, s) BOOST_PP_WHILE_3_C(BOOST_PP_BOOL(p(4, s)), p, o, s) +# define BOOST_PP_WHILE_4(p, o, s) BOOST_PP_WHILE_4_C(BOOST_PP_BOOL(p(5, s)), p, o, s) +# define BOOST_PP_WHILE_5(p, o, s) BOOST_PP_WHILE_5_C(BOOST_PP_BOOL(p(6, s)), p, o, s) +# define BOOST_PP_WHILE_6(p, o, s) BOOST_PP_WHILE_6_C(BOOST_PP_BOOL(p(7, s)), p, o, s) +# define BOOST_PP_WHILE_7(p, o, s) BOOST_PP_WHILE_7_C(BOOST_PP_BOOL(p(8, s)), p, o, s) +# define BOOST_PP_WHILE_8(p, o, s) BOOST_PP_WHILE_8_C(BOOST_PP_BOOL(p(9, s)), p, o, s) +# define BOOST_PP_WHILE_9(p, o, s) BOOST_PP_WHILE_9_C(BOOST_PP_BOOL(p(10, s)), p, o, s) +# define BOOST_PP_WHILE_10(p, o, s) BOOST_PP_WHILE_10_C(BOOST_PP_BOOL(p(11, s)), p, o, s) +# define BOOST_PP_WHILE_11(p, o, s) BOOST_PP_WHILE_11_C(BOOST_PP_BOOL(p(12, s)), p, o, s) +# define BOOST_PP_WHILE_12(p, o, s) BOOST_PP_WHILE_12_C(BOOST_PP_BOOL(p(13, s)), p, o, s) +# define BOOST_PP_WHILE_13(p, o, s) BOOST_PP_WHILE_13_C(BOOST_PP_BOOL(p(14, s)), p, o, s) +# define BOOST_PP_WHILE_14(p, o, s) BOOST_PP_WHILE_14_C(BOOST_PP_BOOL(p(15, s)), p, o, s) +# define BOOST_PP_WHILE_15(p, o, s) BOOST_PP_WHILE_15_C(BOOST_PP_BOOL(p(16, s)), p, o, s) +# define BOOST_PP_WHILE_16(p, o, s) BOOST_PP_WHILE_16_C(BOOST_PP_BOOL(p(17, s)), p, o, s) +# define BOOST_PP_WHILE_17(p, o, s) BOOST_PP_WHILE_17_C(BOOST_PP_BOOL(p(18, s)), p, o, s) +# define BOOST_PP_WHILE_18(p, o, s) BOOST_PP_WHILE_18_C(BOOST_PP_BOOL(p(19, s)), p, o, s) +# define BOOST_PP_WHILE_19(p, o, s) BOOST_PP_WHILE_19_C(BOOST_PP_BOOL(p(20, s)), p, o, s) +# define BOOST_PP_WHILE_20(p, o, s) BOOST_PP_WHILE_20_C(BOOST_PP_BOOL(p(21, s)), p, o, s) +# define BOOST_PP_WHILE_21(p, o, s) BOOST_PP_WHILE_21_C(BOOST_PP_BOOL(p(22, s)), p, o, s) +# define BOOST_PP_WHILE_22(p, o, s) BOOST_PP_WHILE_22_C(BOOST_PP_BOOL(p(23, s)), p, o, s) +# define BOOST_PP_WHILE_23(p, o, s) BOOST_PP_WHILE_23_C(BOOST_PP_BOOL(p(24, s)), p, o, s) +# define BOOST_PP_WHILE_24(p, o, s) BOOST_PP_WHILE_24_C(BOOST_PP_BOOL(p(25, s)), p, o, s) +# define BOOST_PP_WHILE_25(p, o, s) BOOST_PP_WHILE_25_C(BOOST_PP_BOOL(p(26, s)), p, o, s) +# define BOOST_PP_WHILE_26(p, o, s) BOOST_PP_WHILE_26_C(BOOST_PP_BOOL(p(27, s)), p, o, s) +# define BOOST_PP_WHILE_27(p, o, s) BOOST_PP_WHILE_27_C(BOOST_PP_BOOL(p(28, s)), p, o, s) +# define BOOST_PP_WHILE_28(p, o, s) BOOST_PP_WHILE_28_C(BOOST_PP_BOOL(p(29, s)), p, o, s) +# define BOOST_PP_WHILE_29(p, o, s) BOOST_PP_WHILE_29_C(BOOST_PP_BOOL(p(30, s)), p, o, s) +# define BOOST_PP_WHILE_30(p, o, s) BOOST_PP_WHILE_30_C(BOOST_PP_BOOL(p(31, s)), p, o, s) +# define BOOST_PP_WHILE_31(p, o, s) BOOST_PP_WHILE_31_C(BOOST_PP_BOOL(p(32, s)), p, o, s) +# define BOOST_PP_WHILE_32(p, o, s) BOOST_PP_WHILE_32_C(BOOST_PP_BOOL(p(33, s)), p, o, s) +# define BOOST_PP_WHILE_33(p, o, s) BOOST_PP_WHILE_33_C(BOOST_PP_BOOL(p(34, s)), p, o, s) +# define BOOST_PP_WHILE_34(p, o, s) BOOST_PP_WHILE_34_C(BOOST_PP_BOOL(p(35, s)), p, o, s) +# define BOOST_PP_WHILE_35(p, o, s) BOOST_PP_WHILE_35_C(BOOST_PP_BOOL(p(36, s)), p, o, s) +# define BOOST_PP_WHILE_36(p, o, s) BOOST_PP_WHILE_36_C(BOOST_PP_BOOL(p(37, s)), p, o, s) +# define BOOST_PP_WHILE_37(p, o, s) BOOST_PP_WHILE_37_C(BOOST_PP_BOOL(p(38, s)), p, o, s) +# define BOOST_PP_WHILE_38(p, o, s) BOOST_PP_WHILE_38_C(BOOST_PP_BOOL(p(39, s)), p, o, s) +# define BOOST_PP_WHILE_39(p, o, s) BOOST_PP_WHILE_39_C(BOOST_PP_BOOL(p(40, s)), p, o, s) +# define BOOST_PP_WHILE_40(p, o, s) BOOST_PP_WHILE_40_C(BOOST_PP_BOOL(p(41, s)), p, o, s) +# define BOOST_PP_WHILE_41(p, o, s) BOOST_PP_WHILE_41_C(BOOST_PP_BOOL(p(42, s)), p, o, s) +# define BOOST_PP_WHILE_42(p, o, s) BOOST_PP_WHILE_42_C(BOOST_PP_BOOL(p(43, s)), p, o, s) +# define BOOST_PP_WHILE_43(p, o, s) BOOST_PP_WHILE_43_C(BOOST_PP_BOOL(p(44, s)), p, o, s) +# define BOOST_PP_WHILE_44(p, o, s) BOOST_PP_WHILE_44_C(BOOST_PP_BOOL(p(45, s)), p, o, s) +# define BOOST_PP_WHILE_45(p, o, s) BOOST_PP_WHILE_45_C(BOOST_PP_BOOL(p(46, s)), p, o, s) +# define BOOST_PP_WHILE_46(p, o, s) BOOST_PP_WHILE_46_C(BOOST_PP_BOOL(p(47, s)), p, o, s) +# define BOOST_PP_WHILE_47(p, o, s) BOOST_PP_WHILE_47_C(BOOST_PP_BOOL(p(48, s)), p, o, s) +# define BOOST_PP_WHILE_48(p, o, s) BOOST_PP_WHILE_48_C(BOOST_PP_BOOL(p(49, s)), p, o, s) +# define BOOST_PP_WHILE_49(p, o, s) BOOST_PP_WHILE_49_C(BOOST_PP_BOOL(p(50, s)), p, o, s) +# define BOOST_PP_WHILE_50(p, o, s) BOOST_PP_WHILE_50_C(BOOST_PP_BOOL(p(51, s)), p, o, s) +# define BOOST_PP_WHILE_51(p, o, s) BOOST_PP_WHILE_51_C(BOOST_PP_BOOL(p(52, s)), p, o, s) +# define BOOST_PP_WHILE_52(p, o, s) BOOST_PP_WHILE_52_C(BOOST_PP_BOOL(p(53, s)), p, o, s) +# define BOOST_PP_WHILE_53(p, o, s) BOOST_PP_WHILE_53_C(BOOST_PP_BOOL(p(54, s)), p, o, s) +# define BOOST_PP_WHILE_54(p, o, s) BOOST_PP_WHILE_54_C(BOOST_PP_BOOL(p(55, s)), p, o, s) +# define BOOST_PP_WHILE_55(p, o, s) BOOST_PP_WHILE_55_C(BOOST_PP_BOOL(p(56, s)), p, o, s) +# define BOOST_PP_WHILE_56(p, o, s) BOOST_PP_WHILE_56_C(BOOST_PP_BOOL(p(57, s)), p, o, s) +# define BOOST_PP_WHILE_57(p, o, s) BOOST_PP_WHILE_57_C(BOOST_PP_BOOL(p(58, s)), p, o, s) +# define BOOST_PP_WHILE_58(p, o, s) BOOST_PP_WHILE_58_C(BOOST_PP_BOOL(p(59, s)), p, o, s) +# define BOOST_PP_WHILE_59(p, o, s) BOOST_PP_WHILE_59_C(BOOST_PP_BOOL(p(60, s)), p, o, s) +# define BOOST_PP_WHILE_60(p, o, s) BOOST_PP_WHILE_60_C(BOOST_PP_BOOL(p(61, s)), p, o, s) +# define BOOST_PP_WHILE_61(p, o, s) BOOST_PP_WHILE_61_C(BOOST_PP_BOOL(p(62, s)), p, o, s) +# define BOOST_PP_WHILE_62(p, o, s) BOOST_PP_WHILE_62_C(BOOST_PP_BOOL(p(63, s)), p, o, s) +# define BOOST_PP_WHILE_63(p, o, s) BOOST_PP_WHILE_63_C(BOOST_PP_BOOL(p(64, s)), p, o, s) +# define BOOST_PP_WHILE_64(p, o, s) BOOST_PP_WHILE_64_C(BOOST_PP_BOOL(p(65, s)), p, o, s) +# define BOOST_PP_WHILE_65(p, o, s) BOOST_PP_WHILE_65_C(BOOST_PP_BOOL(p(66, s)), p, o, s) +# define BOOST_PP_WHILE_66(p, o, s) BOOST_PP_WHILE_66_C(BOOST_PP_BOOL(p(67, s)), p, o, s) +# define BOOST_PP_WHILE_67(p, o, s) BOOST_PP_WHILE_67_C(BOOST_PP_BOOL(p(68, s)), p, o, s) +# define BOOST_PP_WHILE_68(p, o, s) BOOST_PP_WHILE_68_C(BOOST_PP_BOOL(p(69, s)), p, o, s) +# define BOOST_PP_WHILE_69(p, o, s) BOOST_PP_WHILE_69_C(BOOST_PP_BOOL(p(70, s)), p, o, s) +# define BOOST_PP_WHILE_70(p, o, s) BOOST_PP_WHILE_70_C(BOOST_PP_BOOL(p(71, s)), p, o, s) +# define BOOST_PP_WHILE_71(p, o, s) BOOST_PP_WHILE_71_C(BOOST_PP_BOOL(p(72, s)), p, o, s) +# define BOOST_PP_WHILE_72(p, o, s) BOOST_PP_WHILE_72_C(BOOST_PP_BOOL(p(73, s)), p, o, s) +# define BOOST_PP_WHILE_73(p, o, s) BOOST_PP_WHILE_73_C(BOOST_PP_BOOL(p(74, s)), p, o, s) +# define BOOST_PP_WHILE_74(p, o, s) BOOST_PP_WHILE_74_C(BOOST_PP_BOOL(p(75, s)), p, o, s) +# define BOOST_PP_WHILE_75(p, o, s) BOOST_PP_WHILE_75_C(BOOST_PP_BOOL(p(76, s)), p, o, s) +# define BOOST_PP_WHILE_76(p, o, s) BOOST_PP_WHILE_76_C(BOOST_PP_BOOL(p(77, s)), p, o, s) +# define BOOST_PP_WHILE_77(p, o, s) BOOST_PP_WHILE_77_C(BOOST_PP_BOOL(p(78, s)), p, o, s) +# define BOOST_PP_WHILE_78(p, o, s) BOOST_PP_WHILE_78_C(BOOST_PP_BOOL(p(79, s)), p, o, s) +# define BOOST_PP_WHILE_79(p, o, s) BOOST_PP_WHILE_79_C(BOOST_PP_BOOL(p(80, s)), p, o, s) +# define BOOST_PP_WHILE_80(p, o, s) BOOST_PP_WHILE_80_C(BOOST_PP_BOOL(p(81, s)), p, o, s) +# define BOOST_PP_WHILE_81(p, o, s) BOOST_PP_WHILE_81_C(BOOST_PP_BOOL(p(82, s)), p, o, s) +# define BOOST_PP_WHILE_82(p, o, s) BOOST_PP_WHILE_82_C(BOOST_PP_BOOL(p(83, s)), p, o, s) +# define BOOST_PP_WHILE_83(p, o, s) BOOST_PP_WHILE_83_C(BOOST_PP_BOOL(p(84, s)), p, o, s) +# define BOOST_PP_WHILE_84(p, o, s) BOOST_PP_WHILE_84_C(BOOST_PP_BOOL(p(85, s)), p, o, s) +# define BOOST_PP_WHILE_85(p, o, s) BOOST_PP_WHILE_85_C(BOOST_PP_BOOL(p(86, s)), p, o, s) +# define BOOST_PP_WHILE_86(p, o, s) BOOST_PP_WHILE_86_C(BOOST_PP_BOOL(p(87, s)), p, o, s) +# define BOOST_PP_WHILE_87(p, o, s) BOOST_PP_WHILE_87_C(BOOST_PP_BOOL(p(88, s)), p, o, s) +# define BOOST_PP_WHILE_88(p, o, s) BOOST_PP_WHILE_88_C(BOOST_PP_BOOL(p(89, s)), p, o, s) +# define BOOST_PP_WHILE_89(p, o, s) BOOST_PP_WHILE_89_C(BOOST_PP_BOOL(p(90, s)), p, o, s) +# define BOOST_PP_WHILE_90(p, o, s) BOOST_PP_WHILE_90_C(BOOST_PP_BOOL(p(91, s)), p, o, s) +# define BOOST_PP_WHILE_91(p, o, s) BOOST_PP_WHILE_91_C(BOOST_PP_BOOL(p(92, s)), p, o, s) +# define BOOST_PP_WHILE_92(p, o, s) BOOST_PP_WHILE_92_C(BOOST_PP_BOOL(p(93, s)), p, o, s) +# define BOOST_PP_WHILE_93(p, o, s) BOOST_PP_WHILE_93_C(BOOST_PP_BOOL(p(94, s)), p, o, s) +# define BOOST_PP_WHILE_94(p, o, s) BOOST_PP_WHILE_94_C(BOOST_PP_BOOL(p(95, s)), p, o, s) +# define BOOST_PP_WHILE_95(p, o, s) BOOST_PP_WHILE_95_C(BOOST_PP_BOOL(p(96, s)), p, o, s) +# define BOOST_PP_WHILE_96(p, o, s) BOOST_PP_WHILE_96_C(BOOST_PP_BOOL(p(97, s)), p, o, s) +# define BOOST_PP_WHILE_97(p, o, s) BOOST_PP_WHILE_97_C(BOOST_PP_BOOL(p(98, s)), p, o, s) +# define BOOST_PP_WHILE_98(p, o, s) BOOST_PP_WHILE_98_C(BOOST_PP_BOOL(p(99, s)), p, o, s) +# define BOOST_PP_WHILE_99(p, o, s) BOOST_PP_WHILE_99_C(BOOST_PP_BOOL(p(100, s)), p, o, s) +# define BOOST_PP_WHILE_100(p, o, s) BOOST_PP_WHILE_100_C(BOOST_PP_BOOL(p(101, s)), p, o, s) +# define BOOST_PP_WHILE_101(p, o, s) BOOST_PP_WHILE_101_C(BOOST_PP_BOOL(p(102, s)), p, o, s) +# define BOOST_PP_WHILE_102(p, o, s) BOOST_PP_WHILE_102_C(BOOST_PP_BOOL(p(103, s)), p, o, s) +# define BOOST_PP_WHILE_103(p, o, s) BOOST_PP_WHILE_103_C(BOOST_PP_BOOL(p(104, s)), p, o, s) +# define BOOST_PP_WHILE_104(p, o, s) BOOST_PP_WHILE_104_C(BOOST_PP_BOOL(p(105, s)), p, o, s) +# define BOOST_PP_WHILE_105(p, o, s) BOOST_PP_WHILE_105_C(BOOST_PP_BOOL(p(106, s)), p, o, s) +# define BOOST_PP_WHILE_106(p, o, s) BOOST_PP_WHILE_106_C(BOOST_PP_BOOL(p(107, s)), p, o, s) +# define BOOST_PP_WHILE_107(p, o, s) BOOST_PP_WHILE_107_C(BOOST_PP_BOOL(p(108, s)), p, o, s) +# define BOOST_PP_WHILE_108(p, o, s) BOOST_PP_WHILE_108_C(BOOST_PP_BOOL(p(109, s)), p, o, s) +# define BOOST_PP_WHILE_109(p, o, s) BOOST_PP_WHILE_109_C(BOOST_PP_BOOL(p(110, s)), p, o, s) +# define BOOST_PP_WHILE_110(p, o, s) BOOST_PP_WHILE_110_C(BOOST_PP_BOOL(p(111, s)), p, o, s) +# define BOOST_PP_WHILE_111(p, o, s) BOOST_PP_WHILE_111_C(BOOST_PP_BOOL(p(112, s)), p, o, s) +# define BOOST_PP_WHILE_112(p, o, s) BOOST_PP_WHILE_112_C(BOOST_PP_BOOL(p(113, s)), p, o, s) +# define BOOST_PP_WHILE_113(p, o, s) BOOST_PP_WHILE_113_C(BOOST_PP_BOOL(p(114, s)), p, o, s) +# define BOOST_PP_WHILE_114(p, o, s) BOOST_PP_WHILE_114_C(BOOST_PP_BOOL(p(115, s)), p, o, s) +# define BOOST_PP_WHILE_115(p, o, s) BOOST_PP_WHILE_115_C(BOOST_PP_BOOL(p(116, s)), p, o, s) +# define BOOST_PP_WHILE_116(p, o, s) BOOST_PP_WHILE_116_C(BOOST_PP_BOOL(p(117, s)), p, o, s) +# define BOOST_PP_WHILE_117(p, o, s) BOOST_PP_WHILE_117_C(BOOST_PP_BOOL(p(118, s)), p, o, s) +# define BOOST_PP_WHILE_118(p, o, s) BOOST_PP_WHILE_118_C(BOOST_PP_BOOL(p(119, s)), p, o, s) +# define BOOST_PP_WHILE_119(p, o, s) BOOST_PP_WHILE_119_C(BOOST_PP_BOOL(p(120, s)), p, o, s) +# define BOOST_PP_WHILE_120(p, o, s) BOOST_PP_WHILE_120_C(BOOST_PP_BOOL(p(121, s)), p, o, s) +# define BOOST_PP_WHILE_121(p, o, s) BOOST_PP_WHILE_121_C(BOOST_PP_BOOL(p(122, s)), p, o, s) +# define BOOST_PP_WHILE_122(p, o, s) BOOST_PP_WHILE_122_C(BOOST_PP_BOOL(p(123, s)), p, o, s) +# define BOOST_PP_WHILE_123(p, o, s) BOOST_PP_WHILE_123_C(BOOST_PP_BOOL(p(124, s)), p, o, s) +# define BOOST_PP_WHILE_124(p, o, s) BOOST_PP_WHILE_124_C(BOOST_PP_BOOL(p(125, s)), p, o, s) +# define BOOST_PP_WHILE_125(p, o, s) BOOST_PP_WHILE_125_C(BOOST_PP_BOOL(p(126, s)), p, o, s) +# define BOOST_PP_WHILE_126(p, o, s) BOOST_PP_WHILE_126_C(BOOST_PP_BOOL(p(127, s)), p, o, s) +# define BOOST_PP_WHILE_127(p, o, s) BOOST_PP_WHILE_127_C(BOOST_PP_BOOL(p(128, s)), p, o, s) +# define BOOST_PP_WHILE_128(p, o, s) BOOST_PP_WHILE_128_C(BOOST_PP_BOOL(p(129, s)), p, o, s) +# define BOOST_PP_WHILE_129(p, o, s) BOOST_PP_WHILE_129_C(BOOST_PP_BOOL(p(130, s)), p, o, s) +# define BOOST_PP_WHILE_130(p, o, s) BOOST_PP_WHILE_130_C(BOOST_PP_BOOL(p(131, s)), p, o, s) +# define BOOST_PP_WHILE_131(p, o, s) BOOST_PP_WHILE_131_C(BOOST_PP_BOOL(p(132, s)), p, o, s) +# define BOOST_PP_WHILE_132(p, o, s) BOOST_PP_WHILE_132_C(BOOST_PP_BOOL(p(133, s)), p, o, s) +# define BOOST_PP_WHILE_133(p, o, s) BOOST_PP_WHILE_133_C(BOOST_PP_BOOL(p(134, s)), p, o, s) +# define BOOST_PP_WHILE_134(p, o, s) BOOST_PP_WHILE_134_C(BOOST_PP_BOOL(p(135, s)), p, o, s) +# define BOOST_PP_WHILE_135(p, o, s) BOOST_PP_WHILE_135_C(BOOST_PP_BOOL(p(136, s)), p, o, s) +# define BOOST_PP_WHILE_136(p, o, s) BOOST_PP_WHILE_136_C(BOOST_PP_BOOL(p(137, s)), p, o, s) +# define BOOST_PP_WHILE_137(p, o, s) BOOST_PP_WHILE_137_C(BOOST_PP_BOOL(p(138, s)), p, o, s) +# define BOOST_PP_WHILE_138(p, o, s) BOOST_PP_WHILE_138_C(BOOST_PP_BOOL(p(139, s)), p, o, s) +# define BOOST_PP_WHILE_139(p, o, s) BOOST_PP_WHILE_139_C(BOOST_PP_BOOL(p(140, s)), p, o, s) +# define BOOST_PP_WHILE_140(p, o, s) BOOST_PP_WHILE_140_C(BOOST_PP_BOOL(p(141, s)), p, o, s) +# define BOOST_PP_WHILE_141(p, o, s) BOOST_PP_WHILE_141_C(BOOST_PP_BOOL(p(142, s)), p, o, s) +# define BOOST_PP_WHILE_142(p, o, s) BOOST_PP_WHILE_142_C(BOOST_PP_BOOL(p(143, s)), p, o, s) +# define BOOST_PP_WHILE_143(p, o, s) BOOST_PP_WHILE_143_C(BOOST_PP_BOOL(p(144, s)), p, o, s) +# define BOOST_PP_WHILE_144(p, o, s) BOOST_PP_WHILE_144_C(BOOST_PP_BOOL(p(145, s)), p, o, s) +# define BOOST_PP_WHILE_145(p, o, s) BOOST_PP_WHILE_145_C(BOOST_PP_BOOL(p(146, s)), p, o, s) +# define BOOST_PP_WHILE_146(p, o, s) BOOST_PP_WHILE_146_C(BOOST_PP_BOOL(p(147, s)), p, o, s) +# define BOOST_PP_WHILE_147(p, o, s) BOOST_PP_WHILE_147_C(BOOST_PP_BOOL(p(148, s)), p, o, s) +# define BOOST_PP_WHILE_148(p, o, s) BOOST_PP_WHILE_148_C(BOOST_PP_BOOL(p(149, s)), p, o, s) +# define BOOST_PP_WHILE_149(p, o, s) BOOST_PP_WHILE_149_C(BOOST_PP_BOOL(p(150, s)), p, o, s) +# define BOOST_PP_WHILE_150(p, o, s) BOOST_PP_WHILE_150_C(BOOST_PP_BOOL(p(151, s)), p, o, s) +# define BOOST_PP_WHILE_151(p, o, s) BOOST_PP_WHILE_151_C(BOOST_PP_BOOL(p(152, s)), p, o, s) +# define BOOST_PP_WHILE_152(p, o, s) BOOST_PP_WHILE_152_C(BOOST_PP_BOOL(p(153, s)), p, o, s) +# define BOOST_PP_WHILE_153(p, o, s) BOOST_PP_WHILE_153_C(BOOST_PP_BOOL(p(154, s)), p, o, s) +# define BOOST_PP_WHILE_154(p, o, s) BOOST_PP_WHILE_154_C(BOOST_PP_BOOL(p(155, s)), p, o, s) +# define BOOST_PP_WHILE_155(p, o, s) BOOST_PP_WHILE_155_C(BOOST_PP_BOOL(p(156, s)), p, o, s) +# define BOOST_PP_WHILE_156(p, o, s) BOOST_PP_WHILE_156_C(BOOST_PP_BOOL(p(157, s)), p, o, s) +# define BOOST_PP_WHILE_157(p, o, s) BOOST_PP_WHILE_157_C(BOOST_PP_BOOL(p(158, s)), p, o, s) +# define BOOST_PP_WHILE_158(p, o, s) BOOST_PP_WHILE_158_C(BOOST_PP_BOOL(p(159, s)), p, o, s) +# define BOOST_PP_WHILE_159(p, o, s) BOOST_PP_WHILE_159_C(BOOST_PP_BOOL(p(160, s)), p, o, s) +# define BOOST_PP_WHILE_160(p, o, s) BOOST_PP_WHILE_160_C(BOOST_PP_BOOL(p(161, s)), p, o, s) +# define BOOST_PP_WHILE_161(p, o, s) BOOST_PP_WHILE_161_C(BOOST_PP_BOOL(p(162, s)), p, o, s) +# define BOOST_PP_WHILE_162(p, o, s) BOOST_PP_WHILE_162_C(BOOST_PP_BOOL(p(163, s)), p, o, s) +# define BOOST_PP_WHILE_163(p, o, s) BOOST_PP_WHILE_163_C(BOOST_PP_BOOL(p(164, s)), p, o, s) +# define BOOST_PP_WHILE_164(p, o, s) BOOST_PP_WHILE_164_C(BOOST_PP_BOOL(p(165, s)), p, o, s) +# define BOOST_PP_WHILE_165(p, o, s) BOOST_PP_WHILE_165_C(BOOST_PP_BOOL(p(166, s)), p, o, s) +# define BOOST_PP_WHILE_166(p, o, s) BOOST_PP_WHILE_166_C(BOOST_PP_BOOL(p(167, s)), p, o, s) +# define BOOST_PP_WHILE_167(p, o, s) BOOST_PP_WHILE_167_C(BOOST_PP_BOOL(p(168, s)), p, o, s) +# define BOOST_PP_WHILE_168(p, o, s) BOOST_PP_WHILE_168_C(BOOST_PP_BOOL(p(169, s)), p, o, s) +# define BOOST_PP_WHILE_169(p, o, s) BOOST_PP_WHILE_169_C(BOOST_PP_BOOL(p(170, s)), p, o, s) +# define BOOST_PP_WHILE_170(p, o, s) BOOST_PP_WHILE_170_C(BOOST_PP_BOOL(p(171, s)), p, o, s) +# define BOOST_PP_WHILE_171(p, o, s) BOOST_PP_WHILE_171_C(BOOST_PP_BOOL(p(172, s)), p, o, s) +# define BOOST_PP_WHILE_172(p, o, s) BOOST_PP_WHILE_172_C(BOOST_PP_BOOL(p(173, s)), p, o, s) +# define BOOST_PP_WHILE_173(p, o, s) BOOST_PP_WHILE_173_C(BOOST_PP_BOOL(p(174, s)), p, o, s) +# define BOOST_PP_WHILE_174(p, o, s) BOOST_PP_WHILE_174_C(BOOST_PP_BOOL(p(175, s)), p, o, s) +# define BOOST_PP_WHILE_175(p, o, s) BOOST_PP_WHILE_175_C(BOOST_PP_BOOL(p(176, s)), p, o, s) +# define BOOST_PP_WHILE_176(p, o, s) BOOST_PP_WHILE_176_C(BOOST_PP_BOOL(p(177, s)), p, o, s) +# define BOOST_PP_WHILE_177(p, o, s) BOOST_PP_WHILE_177_C(BOOST_PP_BOOL(p(178, s)), p, o, s) +# define BOOST_PP_WHILE_178(p, o, s) BOOST_PP_WHILE_178_C(BOOST_PP_BOOL(p(179, s)), p, o, s) +# define BOOST_PP_WHILE_179(p, o, s) BOOST_PP_WHILE_179_C(BOOST_PP_BOOL(p(180, s)), p, o, s) +# define BOOST_PP_WHILE_180(p, o, s) BOOST_PP_WHILE_180_C(BOOST_PP_BOOL(p(181, s)), p, o, s) +# define BOOST_PP_WHILE_181(p, o, s) BOOST_PP_WHILE_181_C(BOOST_PP_BOOL(p(182, s)), p, o, s) +# define BOOST_PP_WHILE_182(p, o, s) BOOST_PP_WHILE_182_C(BOOST_PP_BOOL(p(183, s)), p, o, s) +# define BOOST_PP_WHILE_183(p, o, s) BOOST_PP_WHILE_183_C(BOOST_PP_BOOL(p(184, s)), p, o, s) +# define BOOST_PP_WHILE_184(p, o, s) BOOST_PP_WHILE_184_C(BOOST_PP_BOOL(p(185, s)), p, o, s) +# define BOOST_PP_WHILE_185(p, o, s) BOOST_PP_WHILE_185_C(BOOST_PP_BOOL(p(186, s)), p, o, s) +# define BOOST_PP_WHILE_186(p, o, s) BOOST_PP_WHILE_186_C(BOOST_PP_BOOL(p(187, s)), p, o, s) +# define BOOST_PP_WHILE_187(p, o, s) BOOST_PP_WHILE_187_C(BOOST_PP_BOOL(p(188, s)), p, o, s) +# define BOOST_PP_WHILE_188(p, o, s) BOOST_PP_WHILE_188_C(BOOST_PP_BOOL(p(189, s)), p, o, s) +# define BOOST_PP_WHILE_189(p, o, s) BOOST_PP_WHILE_189_C(BOOST_PP_BOOL(p(190, s)), p, o, s) +# define BOOST_PP_WHILE_190(p, o, s) BOOST_PP_WHILE_190_C(BOOST_PP_BOOL(p(191, s)), p, o, s) +# define BOOST_PP_WHILE_191(p, o, s) BOOST_PP_WHILE_191_C(BOOST_PP_BOOL(p(192, s)), p, o, s) +# define BOOST_PP_WHILE_192(p, o, s) BOOST_PP_WHILE_192_C(BOOST_PP_BOOL(p(193, s)), p, o, s) +# define BOOST_PP_WHILE_193(p, o, s) BOOST_PP_WHILE_193_C(BOOST_PP_BOOL(p(194, s)), p, o, s) +# define BOOST_PP_WHILE_194(p, o, s) BOOST_PP_WHILE_194_C(BOOST_PP_BOOL(p(195, s)), p, o, s) +# define BOOST_PP_WHILE_195(p, o, s) BOOST_PP_WHILE_195_C(BOOST_PP_BOOL(p(196, s)), p, o, s) +# define BOOST_PP_WHILE_196(p, o, s) BOOST_PP_WHILE_196_C(BOOST_PP_BOOL(p(197, s)), p, o, s) +# define BOOST_PP_WHILE_197(p, o, s) BOOST_PP_WHILE_197_C(BOOST_PP_BOOL(p(198, s)), p, o, s) +# define BOOST_PP_WHILE_198(p, o, s) BOOST_PP_WHILE_198_C(BOOST_PP_BOOL(p(199, s)), p, o, s) +# define BOOST_PP_WHILE_199(p, o, s) BOOST_PP_WHILE_199_C(BOOST_PP_BOOL(p(200, s)), p, o, s) +# define BOOST_PP_WHILE_200(p, o, s) BOOST_PP_WHILE_200_C(BOOST_PP_BOOL(p(201, s)), p, o, s) +# define BOOST_PP_WHILE_201(p, o, s) BOOST_PP_WHILE_201_C(BOOST_PP_BOOL(p(202, s)), p, o, s) +# define BOOST_PP_WHILE_202(p, o, s) BOOST_PP_WHILE_202_C(BOOST_PP_BOOL(p(203, s)), p, o, s) +# define BOOST_PP_WHILE_203(p, o, s) BOOST_PP_WHILE_203_C(BOOST_PP_BOOL(p(204, s)), p, o, s) +# define BOOST_PP_WHILE_204(p, o, s) BOOST_PP_WHILE_204_C(BOOST_PP_BOOL(p(205, s)), p, o, s) +# define BOOST_PP_WHILE_205(p, o, s) BOOST_PP_WHILE_205_C(BOOST_PP_BOOL(p(206, s)), p, o, s) +# define BOOST_PP_WHILE_206(p, o, s) BOOST_PP_WHILE_206_C(BOOST_PP_BOOL(p(207, s)), p, o, s) +# define BOOST_PP_WHILE_207(p, o, s) BOOST_PP_WHILE_207_C(BOOST_PP_BOOL(p(208, s)), p, o, s) +# define BOOST_PP_WHILE_208(p, o, s) BOOST_PP_WHILE_208_C(BOOST_PP_BOOL(p(209, s)), p, o, s) +# define BOOST_PP_WHILE_209(p, o, s) BOOST_PP_WHILE_209_C(BOOST_PP_BOOL(p(210, s)), p, o, s) +# define BOOST_PP_WHILE_210(p, o, s) BOOST_PP_WHILE_210_C(BOOST_PP_BOOL(p(211, s)), p, o, s) +# define BOOST_PP_WHILE_211(p, o, s) BOOST_PP_WHILE_211_C(BOOST_PP_BOOL(p(212, s)), p, o, s) +# define BOOST_PP_WHILE_212(p, o, s) BOOST_PP_WHILE_212_C(BOOST_PP_BOOL(p(213, s)), p, o, s) +# define BOOST_PP_WHILE_213(p, o, s) BOOST_PP_WHILE_213_C(BOOST_PP_BOOL(p(214, s)), p, o, s) +# define BOOST_PP_WHILE_214(p, o, s) BOOST_PP_WHILE_214_C(BOOST_PP_BOOL(p(215, s)), p, o, s) +# define BOOST_PP_WHILE_215(p, o, s) BOOST_PP_WHILE_215_C(BOOST_PP_BOOL(p(216, s)), p, o, s) +# define BOOST_PP_WHILE_216(p, o, s) BOOST_PP_WHILE_216_C(BOOST_PP_BOOL(p(217, s)), p, o, s) +# define BOOST_PP_WHILE_217(p, o, s) BOOST_PP_WHILE_217_C(BOOST_PP_BOOL(p(218, s)), p, o, s) +# define BOOST_PP_WHILE_218(p, o, s) BOOST_PP_WHILE_218_C(BOOST_PP_BOOL(p(219, s)), p, o, s) +# define BOOST_PP_WHILE_219(p, o, s) BOOST_PP_WHILE_219_C(BOOST_PP_BOOL(p(220, s)), p, o, s) +# define BOOST_PP_WHILE_220(p, o, s) BOOST_PP_WHILE_220_C(BOOST_PP_BOOL(p(221, s)), p, o, s) +# define BOOST_PP_WHILE_221(p, o, s) BOOST_PP_WHILE_221_C(BOOST_PP_BOOL(p(222, s)), p, o, s) +# define BOOST_PP_WHILE_222(p, o, s) BOOST_PP_WHILE_222_C(BOOST_PP_BOOL(p(223, s)), p, o, s) +# define BOOST_PP_WHILE_223(p, o, s) BOOST_PP_WHILE_223_C(BOOST_PP_BOOL(p(224, s)), p, o, s) +# define BOOST_PP_WHILE_224(p, o, s) BOOST_PP_WHILE_224_C(BOOST_PP_BOOL(p(225, s)), p, o, s) +# define BOOST_PP_WHILE_225(p, o, s) BOOST_PP_WHILE_225_C(BOOST_PP_BOOL(p(226, s)), p, o, s) +# define BOOST_PP_WHILE_226(p, o, s) BOOST_PP_WHILE_226_C(BOOST_PP_BOOL(p(227, s)), p, o, s) +# define BOOST_PP_WHILE_227(p, o, s) BOOST_PP_WHILE_227_C(BOOST_PP_BOOL(p(228, s)), p, o, s) +# define BOOST_PP_WHILE_228(p, o, s) BOOST_PP_WHILE_228_C(BOOST_PP_BOOL(p(229, s)), p, o, s) +# define BOOST_PP_WHILE_229(p, o, s) BOOST_PP_WHILE_229_C(BOOST_PP_BOOL(p(230, s)), p, o, s) +# define BOOST_PP_WHILE_230(p, o, s) BOOST_PP_WHILE_230_C(BOOST_PP_BOOL(p(231, s)), p, o, s) +# define BOOST_PP_WHILE_231(p, o, s) BOOST_PP_WHILE_231_C(BOOST_PP_BOOL(p(232, s)), p, o, s) +# define BOOST_PP_WHILE_232(p, o, s) BOOST_PP_WHILE_232_C(BOOST_PP_BOOL(p(233, s)), p, o, s) +# define BOOST_PP_WHILE_233(p, o, s) BOOST_PP_WHILE_233_C(BOOST_PP_BOOL(p(234, s)), p, o, s) +# define BOOST_PP_WHILE_234(p, o, s) BOOST_PP_WHILE_234_C(BOOST_PP_BOOL(p(235, s)), p, o, s) +# define BOOST_PP_WHILE_235(p, o, s) BOOST_PP_WHILE_235_C(BOOST_PP_BOOL(p(236, s)), p, o, s) +# define BOOST_PP_WHILE_236(p, o, s) BOOST_PP_WHILE_236_C(BOOST_PP_BOOL(p(237, s)), p, o, s) +# define BOOST_PP_WHILE_237(p, o, s) BOOST_PP_WHILE_237_C(BOOST_PP_BOOL(p(238, s)), p, o, s) +# define BOOST_PP_WHILE_238(p, o, s) BOOST_PP_WHILE_238_C(BOOST_PP_BOOL(p(239, s)), p, o, s) +# define BOOST_PP_WHILE_239(p, o, s) BOOST_PP_WHILE_239_C(BOOST_PP_BOOL(p(240, s)), p, o, s) +# define BOOST_PP_WHILE_240(p, o, s) BOOST_PP_WHILE_240_C(BOOST_PP_BOOL(p(241, s)), p, o, s) +# define BOOST_PP_WHILE_241(p, o, s) BOOST_PP_WHILE_241_C(BOOST_PP_BOOL(p(242, s)), p, o, s) +# define BOOST_PP_WHILE_242(p, o, s) BOOST_PP_WHILE_242_C(BOOST_PP_BOOL(p(243, s)), p, o, s) +# define BOOST_PP_WHILE_243(p, o, s) BOOST_PP_WHILE_243_C(BOOST_PP_BOOL(p(244, s)), p, o, s) +# define BOOST_PP_WHILE_244(p, o, s) BOOST_PP_WHILE_244_C(BOOST_PP_BOOL(p(245, s)), p, o, s) +# define BOOST_PP_WHILE_245(p, o, s) BOOST_PP_WHILE_245_C(BOOST_PP_BOOL(p(246, s)), p, o, s) +# define BOOST_PP_WHILE_246(p, o, s) BOOST_PP_WHILE_246_C(BOOST_PP_BOOL(p(247, s)), p, o, s) +# define BOOST_PP_WHILE_247(p, o, s) BOOST_PP_WHILE_247_C(BOOST_PP_BOOL(p(248, s)), p, o, s) +# define BOOST_PP_WHILE_248(p, o, s) BOOST_PP_WHILE_248_C(BOOST_PP_BOOL(p(249, s)), p, o, s) +# define BOOST_PP_WHILE_249(p, o, s) BOOST_PP_WHILE_249_C(BOOST_PP_BOOL(p(250, s)), p, o, s) +# define BOOST_PP_WHILE_250(p, o, s) BOOST_PP_WHILE_250_C(BOOST_PP_BOOL(p(251, s)), p, o, s) +# define BOOST_PP_WHILE_251(p, o, s) BOOST_PP_WHILE_251_C(BOOST_PP_BOOL(p(252, s)), p, o, s) +# define BOOST_PP_WHILE_252(p, o, s) BOOST_PP_WHILE_252_C(BOOST_PP_BOOL(p(253, s)), p, o, s) +# define BOOST_PP_WHILE_253(p, o, s) BOOST_PP_WHILE_253_C(BOOST_PP_BOOL(p(254, s)), p, o, s) +# define BOOST_PP_WHILE_254(p, o, s) BOOST_PP_WHILE_254_C(BOOST_PP_BOOL(p(255, s)), p, o, s) +# define BOOST_PP_WHILE_255(p, o, s) BOOST_PP_WHILE_255_C(BOOST_PP_BOOL(p(256, s)), p, o, s) +# define BOOST_PP_WHILE_256(p, o, s) BOOST_PP_WHILE_256_C(BOOST_PP_BOOL(p(257, s)), p, o, s) +# +# define BOOST_PP_WHILE_1_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_2, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(2, s)) +# define BOOST_PP_WHILE_2_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_3, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(3, s)) +# define BOOST_PP_WHILE_3_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_4, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(4, s)) +# define BOOST_PP_WHILE_4_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_5, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(5, s)) +# define BOOST_PP_WHILE_5_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_6, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(6, s)) +# define BOOST_PP_WHILE_6_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_7, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(7, s)) +# define BOOST_PP_WHILE_7_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_8, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(8, s)) +# define BOOST_PP_WHILE_8_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_9, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(9, s)) +# define BOOST_PP_WHILE_9_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_10, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(10, s)) +# define BOOST_PP_WHILE_10_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_11, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(11, s)) +# define BOOST_PP_WHILE_11_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_12, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(12, s)) +# define BOOST_PP_WHILE_12_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_13, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(13, s)) +# define BOOST_PP_WHILE_13_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_14, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(14, s)) +# define BOOST_PP_WHILE_14_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_15, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(15, s)) +# define BOOST_PP_WHILE_15_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_16, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(16, s)) +# define BOOST_PP_WHILE_16_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_17, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(17, s)) +# define BOOST_PP_WHILE_17_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_18, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(18, s)) +# define BOOST_PP_WHILE_18_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_19, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(19, s)) +# define BOOST_PP_WHILE_19_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_20, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(20, s)) +# define BOOST_PP_WHILE_20_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_21, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(21, s)) +# define BOOST_PP_WHILE_21_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_22, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(22, s)) +# define BOOST_PP_WHILE_22_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_23, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(23, s)) +# define BOOST_PP_WHILE_23_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_24, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(24, s)) +# define BOOST_PP_WHILE_24_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_25, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(25, s)) +# define BOOST_PP_WHILE_25_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_26, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(26, s)) +# define BOOST_PP_WHILE_26_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_27, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(27, s)) +# define BOOST_PP_WHILE_27_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_28, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(28, s)) +# define BOOST_PP_WHILE_28_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_29, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(29, s)) +# define BOOST_PP_WHILE_29_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_30, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(30, s)) +# define BOOST_PP_WHILE_30_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_31, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(31, s)) +# define BOOST_PP_WHILE_31_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_32, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(32, s)) +# define BOOST_PP_WHILE_32_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_33, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(33, s)) +# define BOOST_PP_WHILE_33_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_34, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(34, s)) +# define BOOST_PP_WHILE_34_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_35, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(35, s)) +# define BOOST_PP_WHILE_35_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_36, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(36, s)) +# define BOOST_PP_WHILE_36_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_37, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(37, s)) +# define BOOST_PP_WHILE_37_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_38, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(38, s)) +# define BOOST_PP_WHILE_38_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_39, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(39, s)) +# define BOOST_PP_WHILE_39_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_40, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(40, s)) +# define BOOST_PP_WHILE_40_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_41, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(41, s)) +# define BOOST_PP_WHILE_41_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_42, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(42, s)) +# define BOOST_PP_WHILE_42_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_43, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(43, s)) +# define BOOST_PP_WHILE_43_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_44, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(44, s)) +# define BOOST_PP_WHILE_44_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_45, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(45, s)) +# define BOOST_PP_WHILE_45_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_46, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(46, s)) +# define BOOST_PP_WHILE_46_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_47, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(47, s)) +# define BOOST_PP_WHILE_47_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_48, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(48, s)) +# define BOOST_PP_WHILE_48_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_49, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(49, s)) +# define BOOST_PP_WHILE_49_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_50, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(50, s)) +# define BOOST_PP_WHILE_50_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_51, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(51, s)) +# define BOOST_PP_WHILE_51_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_52, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(52, s)) +# define BOOST_PP_WHILE_52_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_53, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(53, s)) +# define BOOST_PP_WHILE_53_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_54, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(54, s)) +# define BOOST_PP_WHILE_54_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_55, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(55, s)) +# define BOOST_PP_WHILE_55_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_56, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(56, s)) +# define BOOST_PP_WHILE_56_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_57, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(57, s)) +# define BOOST_PP_WHILE_57_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_58, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(58, s)) +# define BOOST_PP_WHILE_58_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_59, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(59, s)) +# define BOOST_PP_WHILE_59_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_60, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(60, s)) +# define BOOST_PP_WHILE_60_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_61, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(61, s)) +# define BOOST_PP_WHILE_61_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_62, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(62, s)) +# define BOOST_PP_WHILE_62_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_63, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(63, s)) +# define BOOST_PP_WHILE_63_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_64, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(64, s)) +# define BOOST_PP_WHILE_64_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_65, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(65, s)) +# define BOOST_PP_WHILE_65_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_66, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(66, s)) +# define BOOST_PP_WHILE_66_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_67, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(67, s)) +# define BOOST_PP_WHILE_67_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_68, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(68, s)) +# define BOOST_PP_WHILE_68_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_69, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(69, s)) +# define BOOST_PP_WHILE_69_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_70, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(70, s)) +# define BOOST_PP_WHILE_70_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_71, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(71, s)) +# define BOOST_PP_WHILE_71_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_72, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(72, s)) +# define BOOST_PP_WHILE_72_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_73, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(73, s)) +# define BOOST_PP_WHILE_73_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_74, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(74, s)) +# define BOOST_PP_WHILE_74_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_75, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(75, s)) +# define BOOST_PP_WHILE_75_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_76, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(76, s)) +# define BOOST_PP_WHILE_76_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_77, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(77, s)) +# define BOOST_PP_WHILE_77_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_78, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(78, s)) +# define BOOST_PP_WHILE_78_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_79, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(79, s)) +# define BOOST_PP_WHILE_79_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_80, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(80, s)) +# define BOOST_PP_WHILE_80_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_81, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(81, s)) +# define BOOST_PP_WHILE_81_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_82, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(82, s)) +# define BOOST_PP_WHILE_82_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_83, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(83, s)) +# define BOOST_PP_WHILE_83_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_84, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(84, s)) +# define BOOST_PP_WHILE_84_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_85, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(85, s)) +# define BOOST_PP_WHILE_85_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_86, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(86, s)) +# define BOOST_PP_WHILE_86_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_87, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(87, s)) +# define BOOST_PP_WHILE_87_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_88, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(88, s)) +# define BOOST_PP_WHILE_88_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_89, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(89, s)) +# define BOOST_PP_WHILE_89_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_90, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(90, s)) +# define BOOST_PP_WHILE_90_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_91, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(91, s)) +# define BOOST_PP_WHILE_91_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_92, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(92, s)) +# define BOOST_PP_WHILE_92_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_93, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(93, s)) +# define BOOST_PP_WHILE_93_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_94, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(94, s)) +# define BOOST_PP_WHILE_94_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_95, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(95, s)) +# define BOOST_PP_WHILE_95_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_96, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(96, s)) +# define BOOST_PP_WHILE_96_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_97, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(97, s)) +# define BOOST_PP_WHILE_97_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_98, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(98, s)) +# define BOOST_PP_WHILE_98_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_99, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(99, s)) +# define BOOST_PP_WHILE_99_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_100, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(100, s)) +# define BOOST_PP_WHILE_100_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_101, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(101, s)) +# define BOOST_PP_WHILE_101_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_102, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(102, s)) +# define BOOST_PP_WHILE_102_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_103, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(103, s)) +# define BOOST_PP_WHILE_103_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_104, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(104, s)) +# define BOOST_PP_WHILE_104_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_105, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(105, s)) +# define BOOST_PP_WHILE_105_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_106, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(106, s)) +# define BOOST_PP_WHILE_106_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_107, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(107, s)) +# define BOOST_PP_WHILE_107_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_108, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(108, s)) +# define BOOST_PP_WHILE_108_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_109, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(109, s)) +# define BOOST_PP_WHILE_109_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_110, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(110, s)) +# define BOOST_PP_WHILE_110_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_111, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(111, s)) +# define BOOST_PP_WHILE_111_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_112, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(112, s)) +# define BOOST_PP_WHILE_112_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_113, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(113, s)) +# define BOOST_PP_WHILE_113_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_114, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(114, s)) +# define BOOST_PP_WHILE_114_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_115, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(115, s)) +# define BOOST_PP_WHILE_115_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_116, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(116, s)) +# define BOOST_PP_WHILE_116_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_117, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(117, s)) +# define BOOST_PP_WHILE_117_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_118, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(118, s)) +# define BOOST_PP_WHILE_118_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_119, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(119, s)) +# define BOOST_PP_WHILE_119_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_120, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(120, s)) +# define BOOST_PP_WHILE_120_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_121, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(121, s)) +# define BOOST_PP_WHILE_121_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_122, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(122, s)) +# define BOOST_PP_WHILE_122_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_123, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(123, s)) +# define BOOST_PP_WHILE_123_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_124, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(124, s)) +# define BOOST_PP_WHILE_124_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_125, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(125, s)) +# define BOOST_PP_WHILE_125_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_126, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(126, s)) +# define BOOST_PP_WHILE_126_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_127, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(127, s)) +# define BOOST_PP_WHILE_127_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_128, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(128, s)) +# define BOOST_PP_WHILE_128_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_129, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(129, s)) +# define BOOST_PP_WHILE_129_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_130, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(130, s)) +# define BOOST_PP_WHILE_130_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_131, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(131, s)) +# define BOOST_PP_WHILE_131_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_132, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(132, s)) +# define BOOST_PP_WHILE_132_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_133, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(133, s)) +# define BOOST_PP_WHILE_133_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_134, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(134, s)) +# define BOOST_PP_WHILE_134_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_135, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(135, s)) +# define BOOST_PP_WHILE_135_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_136, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(136, s)) +# define BOOST_PP_WHILE_136_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_137, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(137, s)) +# define BOOST_PP_WHILE_137_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_138, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(138, s)) +# define BOOST_PP_WHILE_138_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_139, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(139, s)) +# define BOOST_PP_WHILE_139_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_140, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(140, s)) +# define BOOST_PP_WHILE_140_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_141, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(141, s)) +# define BOOST_PP_WHILE_141_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_142, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(142, s)) +# define BOOST_PP_WHILE_142_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_143, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(143, s)) +# define BOOST_PP_WHILE_143_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_144, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(144, s)) +# define BOOST_PP_WHILE_144_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_145, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(145, s)) +# define BOOST_PP_WHILE_145_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_146, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(146, s)) +# define BOOST_PP_WHILE_146_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_147, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(147, s)) +# define BOOST_PP_WHILE_147_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_148, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(148, s)) +# define BOOST_PP_WHILE_148_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_149, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(149, s)) +# define BOOST_PP_WHILE_149_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_150, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(150, s)) +# define BOOST_PP_WHILE_150_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_151, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(151, s)) +# define BOOST_PP_WHILE_151_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_152, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(152, s)) +# define BOOST_PP_WHILE_152_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_153, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(153, s)) +# define BOOST_PP_WHILE_153_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_154, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(154, s)) +# define BOOST_PP_WHILE_154_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_155, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(155, s)) +# define BOOST_PP_WHILE_155_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_156, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(156, s)) +# define BOOST_PP_WHILE_156_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_157, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(157, s)) +# define BOOST_PP_WHILE_157_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_158, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(158, s)) +# define BOOST_PP_WHILE_158_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_159, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(159, s)) +# define BOOST_PP_WHILE_159_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_160, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(160, s)) +# define BOOST_PP_WHILE_160_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_161, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(161, s)) +# define BOOST_PP_WHILE_161_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_162, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(162, s)) +# define BOOST_PP_WHILE_162_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_163, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(163, s)) +# define BOOST_PP_WHILE_163_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_164, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(164, s)) +# define BOOST_PP_WHILE_164_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_165, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(165, s)) +# define BOOST_PP_WHILE_165_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_166, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(166, s)) +# define BOOST_PP_WHILE_166_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_167, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(167, s)) +# define BOOST_PP_WHILE_167_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_168, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(168, s)) +# define BOOST_PP_WHILE_168_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_169, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(169, s)) +# define BOOST_PP_WHILE_169_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_170, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(170, s)) +# define BOOST_PP_WHILE_170_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_171, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(171, s)) +# define BOOST_PP_WHILE_171_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_172, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(172, s)) +# define BOOST_PP_WHILE_172_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_173, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(173, s)) +# define BOOST_PP_WHILE_173_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_174, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(174, s)) +# define BOOST_PP_WHILE_174_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_175, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(175, s)) +# define BOOST_PP_WHILE_175_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_176, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(176, s)) +# define BOOST_PP_WHILE_176_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_177, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(177, s)) +# define BOOST_PP_WHILE_177_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_178, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(178, s)) +# define BOOST_PP_WHILE_178_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_179, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(179, s)) +# define BOOST_PP_WHILE_179_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_180, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(180, s)) +# define BOOST_PP_WHILE_180_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_181, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(181, s)) +# define BOOST_PP_WHILE_181_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_182, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(182, s)) +# define BOOST_PP_WHILE_182_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_183, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(183, s)) +# define BOOST_PP_WHILE_183_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_184, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(184, s)) +# define BOOST_PP_WHILE_184_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_185, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(185, s)) +# define BOOST_PP_WHILE_185_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_186, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(186, s)) +# define BOOST_PP_WHILE_186_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_187, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(187, s)) +# define BOOST_PP_WHILE_187_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_188, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(188, s)) +# define BOOST_PP_WHILE_188_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_189, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(189, s)) +# define BOOST_PP_WHILE_189_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_190, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(190, s)) +# define BOOST_PP_WHILE_190_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_191, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(191, s)) +# define BOOST_PP_WHILE_191_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_192, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(192, s)) +# define BOOST_PP_WHILE_192_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_193, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(193, s)) +# define BOOST_PP_WHILE_193_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_194, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(194, s)) +# define BOOST_PP_WHILE_194_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_195, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(195, s)) +# define BOOST_PP_WHILE_195_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_196, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(196, s)) +# define BOOST_PP_WHILE_196_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_197, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(197, s)) +# define BOOST_PP_WHILE_197_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_198, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(198, s)) +# define BOOST_PP_WHILE_198_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_199, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(199, s)) +# define BOOST_PP_WHILE_199_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_200, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(200, s)) +# define BOOST_PP_WHILE_200_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_201, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(201, s)) +# define BOOST_PP_WHILE_201_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_202, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(202, s)) +# define BOOST_PP_WHILE_202_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_203, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(203, s)) +# define BOOST_PP_WHILE_203_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_204, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(204, s)) +# define BOOST_PP_WHILE_204_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_205, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(205, s)) +# define BOOST_PP_WHILE_205_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_206, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(206, s)) +# define BOOST_PP_WHILE_206_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_207, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(207, s)) +# define BOOST_PP_WHILE_207_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_208, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(208, s)) +# define BOOST_PP_WHILE_208_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_209, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(209, s)) +# define BOOST_PP_WHILE_209_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_210, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(210, s)) +# define BOOST_PP_WHILE_210_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_211, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(211, s)) +# define BOOST_PP_WHILE_211_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_212, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(212, s)) +# define BOOST_PP_WHILE_212_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_213, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(213, s)) +# define BOOST_PP_WHILE_213_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_214, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(214, s)) +# define BOOST_PP_WHILE_214_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_215, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(215, s)) +# define BOOST_PP_WHILE_215_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_216, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(216, s)) +# define BOOST_PP_WHILE_216_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_217, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(217, s)) +# define BOOST_PP_WHILE_217_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_218, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(218, s)) +# define BOOST_PP_WHILE_218_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_219, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(219, s)) +# define BOOST_PP_WHILE_219_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_220, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(220, s)) +# define BOOST_PP_WHILE_220_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_221, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(221, s)) +# define BOOST_PP_WHILE_221_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_222, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(222, s)) +# define BOOST_PP_WHILE_222_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_223, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(223, s)) +# define BOOST_PP_WHILE_223_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_224, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(224, s)) +# define BOOST_PP_WHILE_224_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_225, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(225, s)) +# define BOOST_PP_WHILE_225_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_226, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(226, s)) +# define BOOST_PP_WHILE_226_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_227, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(227, s)) +# define BOOST_PP_WHILE_227_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_228, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(228, s)) +# define BOOST_PP_WHILE_228_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_229, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(229, s)) +# define BOOST_PP_WHILE_229_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_230, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(230, s)) +# define BOOST_PP_WHILE_230_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_231, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(231, s)) +# define BOOST_PP_WHILE_231_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_232, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(232, s)) +# define BOOST_PP_WHILE_232_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_233, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(233, s)) +# define BOOST_PP_WHILE_233_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_234, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(234, s)) +# define BOOST_PP_WHILE_234_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_235, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(235, s)) +# define BOOST_PP_WHILE_235_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_236, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(236, s)) +# define BOOST_PP_WHILE_236_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_237, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(237, s)) +# define BOOST_PP_WHILE_237_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_238, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(238, s)) +# define BOOST_PP_WHILE_238_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_239, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(239, s)) +# define BOOST_PP_WHILE_239_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_240, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(240, s)) +# define BOOST_PP_WHILE_240_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_241, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(241, s)) +# define BOOST_PP_WHILE_241_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_242, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(242, s)) +# define BOOST_PP_WHILE_242_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_243, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(243, s)) +# define BOOST_PP_WHILE_243_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_244, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(244, s)) +# define BOOST_PP_WHILE_244_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_245, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(245, s)) +# define BOOST_PP_WHILE_245_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_246, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(246, s)) +# define BOOST_PP_WHILE_246_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_247, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(247, s)) +# define BOOST_PP_WHILE_247_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_248, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(248, s)) +# define BOOST_PP_WHILE_248_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_249, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(249, s)) +# define BOOST_PP_WHILE_249_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_250, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(250, s)) +# define BOOST_PP_WHILE_250_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_251, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(251, s)) +# define BOOST_PP_WHILE_251_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_252, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(252, s)) +# define BOOST_PP_WHILE_252_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_253, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(253, s)) +# define BOOST_PP_WHILE_253_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_254, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(254, s)) +# define BOOST_PP_WHILE_254_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_255, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(255, s)) +# define BOOST_PP_WHILE_255_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_256, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(256, s)) +# define BOOST_PP_WHILE_256_C(c, p, o, s) BOOST_PP_IIF(c, BOOST_PP_WHILE_257, s BOOST_PP_TUPLE_EAT_3)(p, o, BOOST_PP_IIF(c, o, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_2)(257, s)) +# +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_if.hpp new file mode 100644 index 0000000..ddbacc9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_if.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP +# define BOOST_PREPROCESSOR_CONTROL_EXPR_IF_HPP +# +# include +# include +# include +# +# /* BOOST_PP_EXPR_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr) +# else +# define BOOST_PP_EXPR_IF(cond, expr) BOOST_PP_EXPR_IF_I(cond, expr) +# define BOOST_PP_EXPR_IF_I(cond, expr) BOOST_PP_EXPR_IIF(BOOST_PP_BOOL(cond), expr) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_iif.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_iif.hpp new file mode 100644 index 0000000..01818fe --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/expr_iif.hpp @@ -0,0 +1,31 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP +# define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP +# +# include +# +# /* BOOST_PP_EXPR_IIF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr) +# else +# define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr)) +# define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par +# endif +# +# define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr) +# +# define BOOST_PP_EXPR_IIF_0(expr) +# define BOOST_PP_EXPR_IIF_1(expr) expr +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/if.hpp new file mode 100644 index 0000000..51ab276 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/if.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP +# define BOOST_PREPROCESSOR_CONTROL_IF_HPP +# +# include +# include +# include +# +# /* BOOST_PP_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) +# else +# define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f) +# define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/iif.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/iif.hpp new file mode 100644 index 0000000..21dd8d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/iif.hpp @@ -0,0 +1,34 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP +# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f) +# else +# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f)) +# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f) +# else +# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f)) +# define BOOST_PP_IIF_II(id) id +# endif +# +# define BOOST_PP_IIF_0(t, f) f +# define BOOST_PP_IIF_1(t, f) t +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/while.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/while.hpp new file mode 100644 index 0000000..31f9746 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/control/while.hpp @@ -0,0 +1,312 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_CONTROL_WHILE_HPP +# define BOOST_PREPROCESSOR_CONTROL_WHILE_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_WHILE */ +# +# if 0 +# define BOOST_PP_WHILE(pred, op, state) +# endif +# +# define BOOST_PP_WHILE BOOST_PP_CAT(BOOST_PP_WHILE_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_CHECK_, BOOST_PP_LIST_FOLD_RIGHT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL)))) +# else +# define BOOST_PP_WHILE_P(n) BOOST_PP_BITAND(BOOST_PP_CAT(BOOST_PP_WHILE_CHECK_, BOOST_PP_WHILE_ ## n(BOOST_PP_WHILE_F, BOOST_PP_NIL, BOOST_PP_NIL)), BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_CHECK_, BOOST_PP_LIST_FOLD_LEFT_ ## n(BOOST_PP_NIL, BOOST_PP_NIL, BOOST_PP_NIL))) +# endif +# +# define BOOST_PP_WHILE_F(d, _) 0 +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# define BOOST_PP_WHILE_257(p, o, s) BOOST_PP_ERROR(0x0001) +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_1(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_2(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_3(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_4(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_5(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_6(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_7(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_8(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_9(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_10(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_11(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_12(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_13(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_14(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_15(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_16(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_17(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_18(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_19(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_20(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_21(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_22(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_23(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_24(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_25(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_26(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_27(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_28(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_29(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_30(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_31(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_32(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_33(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_34(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_35(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_36(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_37(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_38(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_39(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_40(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_41(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_42(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_43(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_44(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_45(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_46(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_47(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_48(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_49(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_50(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_51(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_52(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_53(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_54(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_55(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_56(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_57(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_58(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_59(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_60(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_61(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_62(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_63(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_64(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_65(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_66(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_67(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_68(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_69(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_70(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_71(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_72(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_73(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_74(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_75(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_76(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_77(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_78(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_79(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_80(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_81(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_82(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_83(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_84(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_85(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_86(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_87(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_88(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_89(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_90(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_91(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_92(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_93(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_94(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_95(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_96(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_97(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_98(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_99(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_100(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_101(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_102(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_103(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_104(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_105(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_106(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_107(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_108(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_109(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_110(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_111(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_112(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_113(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_114(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_115(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_116(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_117(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_118(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_119(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_120(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_121(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_122(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_123(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_124(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_125(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_126(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_127(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_128(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_129(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_130(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_131(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_132(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_133(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_134(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_135(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_136(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_137(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_138(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_139(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_140(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_141(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_142(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_143(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_144(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_145(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_146(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_147(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_148(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_149(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_150(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_151(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_152(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_153(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_154(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_155(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_156(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_157(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_158(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_159(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_160(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_161(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_162(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_163(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_164(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_165(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_166(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_167(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_168(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_169(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_170(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_171(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_172(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_173(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_174(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_175(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_176(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_177(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_178(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_179(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_180(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_181(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_182(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_183(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_184(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_185(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_186(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_187(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_188(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_189(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_190(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_191(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_192(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_193(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_194(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_195(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_196(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_197(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_198(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_199(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_200(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_201(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_202(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_203(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_204(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_205(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_206(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_207(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_208(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_209(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_210(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_211(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_212(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_213(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_214(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_215(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_216(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_217(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_218(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_219(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_220(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_221(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_222(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_223(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_224(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_225(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_226(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_227(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_228(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_229(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_230(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_231(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_232(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_233(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_234(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_235(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_236(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_237(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_238(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_239(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_240(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_241(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_242(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_243(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_244(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_245(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_246(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_247(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_248(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_249(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_250(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_251(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_252(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_253(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_254(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_255(p, o, s) 0 +# define BOOST_PP_WHILE_CHECK_BOOST_PP_WHILE_256(p, o, s) 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug.hpp new file mode 100644 index 0000000..ad6f6f6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug.hpp @@ -0,0 +1,18 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEBUG_HPP +# define BOOST_PREPROCESSOR_DEBUG_HPP +# +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/assert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/assert.hpp new file mode 100644 index 0000000..66e333e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/assert.hpp @@ -0,0 +1,44 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP +# define BOOST_PREPROCESSOR_DEBUG_ASSERT_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ASSERT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ASSERT BOOST_PP_ASSERT_D +# else +# define BOOST_PP_ASSERT(cond) BOOST_PP_ASSERT_D(cond) +# endif +# +# define BOOST_PP_ASSERT_D(cond) BOOST_PP_IIF(BOOST_PP_NOT(cond), BOOST_PP_ASSERT_ERROR, BOOST_PP_TUPLE_EAT_1)(...) +# define BOOST_PP_ASSERT_ERROR(x, y, z) +# +# /* BOOST_PP_ASSERT_MSG */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ASSERT_MSG BOOST_PP_ASSERT_MSG_D +# else +# define BOOST_PP_ASSERT_MSG(cond, msg) BOOST_PP_ASSERT_MSG_D(cond, msg) +# endif +# +# define BOOST_PP_ASSERT_MSG_D(cond, msg) BOOST_PP_EXPR_IIF(BOOST_PP_NOT(cond), msg) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/error.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/error.hpp new file mode 100644 index 0000000..8941caf --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/error.hpp @@ -0,0 +1,33 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEBUG_ERROR_HPP +# define BOOST_PREPROCESSOR_DEBUG_ERROR_HPP +# +# include +# include +# +# /* BOOST_PP_ERROR */ +# +# if BOOST_PP_CONFIG_ERRORS +# define BOOST_PP_ERROR(code) BOOST_PP_CAT(BOOST_PP_ERROR_, code) +# endif +# +# define BOOST_PP_ERROR_0x0000 BOOST_PP_ERROR(0x0000, BOOST_PP_INDEX_OUT_OF_BOUNDS) +# define BOOST_PP_ERROR_0x0001 BOOST_PP_ERROR(0x0001, BOOST_PP_WHILE_OVERFLOW) +# define BOOST_PP_ERROR_0x0002 BOOST_PP_ERROR(0x0002, BOOST_PP_FOR_OVERFLOW) +# define BOOST_PP_ERROR_0x0003 BOOST_PP_ERROR(0x0003, BOOST_PP_REPEAT_OVERFLOW) +# define BOOST_PP_ERROR_0x0004 BOOST_PP_ERROR(0x0004, BOOST_PP_LIST_FOLD_OVERFLOW) +# define BOOST_PP_ERROR_0x0005 BOOST_PP_ERROR(0x0005, BOOST_PP_SEQ_FOLD_OVERFLOW) +# define BOOST_PP_ERROR_0x0006 BOOST_PP_ERROR(0x0006, BOOST_PP_ARITHMETIC_OVERFLOW) +# define BOOST_PP_ERROR_0x0007 BOOST_PP_ERROR(0x0007, BOOST_PP_DIVISION_BY_ZERO) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/line.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/line.hpp new file mode 100644 index 0000000..ac96c2c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/debug/line.hpp @@ -0,0 +1,35 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEBUG_LINE_HPP +# define BOOST_PREPROCESSOR_DEBUG_LINE_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LINE */ +# +# if BOOST_PP_CONFIG_EXTENDED_LINE_INFO +# define BOOST_PP_LINE(line, file) line BOOST_PP_CAT(BOOST_PP_LINE_, BOOST_PP_IS_ITERATING)(file) +# define BOOST_PP_LINE_BOOST_PP_IS_ITERATING(file) #file +# define BOOST_PP_LINE_1(file) BOOST_PP_STRINGIZE(file BOOST_PP_CAT(BOOST_PP_LINE_I_, BOOST_PP_ITERATION_DEPTH())()) +# define BOOST_PP_LINE_I_1() [BOOST_PP_FRAME_ITERATION(1)] +# define BOOST_PP_LINE_I_2() BOOST_PP_LINE_I_1()[BOOST_PP_FRAME_ITERATION(2)] +# define BOOST_PP_LINE_I_3() BOOST_PP_LINE_I_2()[BOOST_PP_FRAME_ITERATION(3)] +# define BOOST_PP_LINE_I_4() BOOST_PP_LINE_I_3()[BOOST_PP_FRAME_ITERATION(4)] +# define BOOST_PP_LINE_I_5() BOOST_PP_LINE_I_4()[BOOST_PP_FRAME_ITERATION(5)] +# else +# define BOOST_PP_LINE(line, file) line __FILE__ +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/dec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/dec.hpp new file mode 100644 index 0000000..641c540 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/dec.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DEC_HPP +# define BOOST_PREPROCESSOR_DEC_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/auto_rec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/auto_rec.hpp new file mode 100644 index 0000000..9e706fa --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/auto_rec.hpp @@ -0,0 +1,293 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# +# include +# +# /* BOOST_PP_AUTO_REC */ +# +# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) +# +# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) +# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) +# +# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) +# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) +# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) +# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) +# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) +# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) +# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) +# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p(1), 1, 2) +# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p(3), 3, 4) +# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) +# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p(5), 5, 6) +# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p(7), 7, 8) +# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) +# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) +# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p(9), 9, 10) +# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p(11), 11, 12) +# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) +# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p(13), 13, 14) +# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p(15), 15, 16) +# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) +# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) +# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) +# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p(17), 17, 18) +# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p(19), 19, 20) +# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) +# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p(21), 21, 22) +# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p(23), 23, 24) +# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) +# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) +# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p(25), 25, 26) +# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p(27), 27, 28) +# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) +# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p(29), 29, 30) +# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p(31), 31, 32) +# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) +# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) +# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) +# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) +# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p(33), 33, 34) +# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p(35), 35, 36) +# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) +# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p(37), 37, 38) +# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p(39), 39, 40) +# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) +# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) +# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p(41), 41, 42) +# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p(43), 43, 44) +# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) +# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p(45), 45, 46) +# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p(47), 47, 48) +# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) +# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) +# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) +# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p(49), 49, 50) +# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p(51), 51, 52) +# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) +# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p(53), 53, 54) +# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p(55), 55, 56) +# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) +# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) +# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p(57), 57, 58) +# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p(59), 59, 60) +# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) +# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p(61), 61, 62) +# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p(63), 63, 64) +# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) +# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) +# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) +# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) +# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) +# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p(65), 65, 66) +# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p(67), 67, 68) +# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) +# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p(69), 69, 70) +# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p(71), 71, 72) +# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) +# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) +# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p(73), 73, 74) +# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p(75), 75, 76) +# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) +# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p(77), 77, 78) +# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p(79), 79, 80) +# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) +# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) +# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) +# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p(81), 81, 82) +# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p(83), 83, 84) +# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) +# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p(85), 85, 86) +# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p(87), 87, 88) +# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) +# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) +# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p(89), 89, 90) +# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p(91), 91, 92) +# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) +# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p(93), 93, 94) +# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p(95), 95, 96) +# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) +# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) +# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) +# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) +# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p(97), 97, 98) +# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p(99), 99, 100) +# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) +# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p(101), 101, 102) +# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p(103), 103, 104) +# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) +# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) +# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p(105), 105, 106) +# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p(107), 107, 108) +# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) +# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p(109), 109, 110) +# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p(111), 111, 112) +# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) +# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) +# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) +# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p(113), 113, 114) +# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p(115), 115, 116) +# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) +# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p(117), 117, 118) +# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p(119), 119, 120) +# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) +# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) +# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p(121), 121, 122) +# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p(123), 123, 124) +# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) +# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p(125), 125, 126) +# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p(127), 127, 128) +# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) +# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) +# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) +# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) +# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) +# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) +# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p(129), 129, 130) +# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p(131), 131, 132) +# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) +# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p(133), 133, 134) +# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p(135), 135, 136) +# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) +# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) +# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p(137), 137, 138) +# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p(139), 139, 140) +# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) +# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p(141), 141, 142) +# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p(143), 143, 144) +# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) +# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) +# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) +# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p(145), 145, 146) +# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p(147), 147, 148) +# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) +# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p(149), 149, 150) +# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p(151), 151, 152) +# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) +# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) +# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p(153), 153, 154) +# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p(155), 155, 156) +# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) +# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p(157), 157, 158) +# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p(159), 159, 160) +# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) +# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) +# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) +# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) +# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p(161), 161, 162) +# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p(163), 163, 164) +# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) +# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p(165), 165, 166) +# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p(167), 167, 168) +# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) +# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) +# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p(169), 169, 170) +# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p(171), 171, 172) +# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) +# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p(173), 173, 174) +# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p(175), 175, 176) +# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) +# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) +# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) +# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p(177), 177, 178) +# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p(179), 179, 180) +# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) +# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p(181), 181, 182) +# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p(183), 183, 184) +# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) +# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) +# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p(185), 185, 186) +# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p(187), 187, 188) +# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) +# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p(189), 189, 190) +# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p(191), 191, 192) +# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) +# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) +# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) +# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) +# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) +# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p(193), 193, 194) +# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p(195), 195, 196) +# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) +# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p(197), 197, 198) +# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p(199), 199, 200) +# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) +# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) +# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p(201), 201, 202) +# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p(203), 203, 204) +# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) +# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p(205), 205, 206) +# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p(207), 207, 208) +# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) +# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) +# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) +# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p(209), 209, 210) +# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p(211), 211, 212) +# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) +# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p(213), 213, 214) +# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p(215), 215, 216) +# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) +# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) +# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p(217), 217, 218) +# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p(219), 219, 220) +# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) +# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p(221), 221, 222) +# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p(223), 223, 224) +# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) +# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) +# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) +# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) +# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p(225), 225, 226) +# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p(227), 227, 228) +# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) +# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p(229), 229, 230) +# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p(231), 231, 232) +# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) +# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) +# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p(233), 233, 234) +# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p(235), 235, 236) +# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) +# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p(237), 237, 238) +# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p(239), 239, 240) +# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) +# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) +# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) +# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p(241), 241, 242) +# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p(243), 243, 244) +# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) +# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p(245), 245, 246) +# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p(247), 247, 248) +# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) +# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) +# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p(249), 249, 250) +# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p(251), 251, 252) +# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) +# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p(253), 253, 254) +# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p(255), 255, 256) +# +# endif +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/check.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/check.hpp new file mode 100644 index 0000000..8e374c6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/check.hpp @@ -0,0 +1,48 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_CHECK_HPP +# define BOOST_PREPROCESSOR_DETAIL_CHECK_HPP +# +# include +# include +# +# /* BOOST_PP_CHECK */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_D(x, type) +# else +# define BOOST_PP_CHECK(x, type) BOOST_PP_CHECK_OO((x, type)) +# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_D ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x)) +# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) +# define BOOST_PP_CHECK_2(res, _) res +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_1(type x) +# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) +# define BOOST_PP_CHECK_2(chk) BOOST_PP_CHECK_3((BOOST_PP_CHECK_RESULT_ ## chk)) +# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im) +# define BOOST_PP_CHECK_4(res, _) res +# define BOOST_PP_CHECK_5(res) res +# else /* DMC */ +# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x)) +# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par +# define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk)) +# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk) +# define BOOST_PP_CHECK_2(res, _) res +# endif +# +# define BOOST_PP_CHECK_RESULT_1 1, BOOST_PP_NIL +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/dmc/auto_rec.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/dmc/auto_rec.hpp new file mode 100644 index 0000000..dda0ba9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/dmc/auto_rec.hpp @@ -0,0 +1,286 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# define BOOST_PREPROCESSOR_DETAIL_AUTO_REC_HPP +# +# include +# +# /* BOOST_PP_AUTO_REC */ +# +# define BOOST_PP_AUTO_REC(pred, n) BOOST_PP_NODE_ENTRY_ ## n(pred) +# +# define BOOST_PP_NODE_ENTRY_256(p) BOOST_PP_NODE_128(p)(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_128(p) BOOST_PP_NODE_64(p)(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_64(p) BOOST_PP_NODE_32(p)(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_32(p) BOOST_PP_NODE_16(p)(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_16(p) BOOST_PP_NODE_8(p)(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_8(p) BOOST_PP_NODE_4(p)(p)(p) +# define BOOST_PP_NODE_ENTRY_4(p) BOOST_PP_NODE_2(p)(p) +# define BOOST_PP_NODE_ENTRY_2(p) BOOST_PP_NODE_1(p) +# +# define BOOST_PP_NODE_128(p) BOOST_PP_IIF(p##(128), BOOST_PP_NODE_64, BOOST_PP_NODE_192) +# define BOOST_PP_NODE_64(p) BOOST_PP_IIF(p##(64), BOOST_PP_NODE_32, BOOST_PP_NODE_96) +# define BOOST_PP_NODE_32(p) BOOST_PP_IIF(p##(32), BOOST_PP_NODE_16, BOOST_PP_NODE_48) +# define BOOST_PP_NODE_16(p) BOOST_PP_IIF(p##(16), BOOST_PP_NODE_8, BOOST_PP_NODE_24) +# define BOOST_PP_NODE_8(p) BOOST_PP_IIF(p##(8), BOOST_PP_NODE_4, BOOST_PP_NODE_12) +# define BOOST_PP_NODE_4(p) BOOST_PP_IIF(p##(4), BOOST_PP_NODE_2, BOOST_PP_NODE_6) +# define BOOST_PP_NODE_2(p) BOOST_PP_IIF(p##(2), BOOST_PP_NODE_1, BOOST_PP_NODE_3) +# define BOOST_PP_NODE_1(p) BOOST_PP_IIF(p##(1), 1, 2) +# define BOOST_PP_NODE_3(p) BOOST_PP_IIF(p##(3), 3, 4) +# define BOOST_PP_NODE_6(p) BOOST_PP_IIF(p##(6), BOOST_PP_NODE_5, BOOST_PP_NODE_7) +# define BOOST_PP_NODE_5(p) BOOST_PP_IIF(p##(5), 5, 6) +# define BOOST_PP_NODE_7(p) BOOST_PP_IIF(p##(7), 7, 8) +# define BOOST_PP_NODE_12(p) BOOST_PP_IIF(p##(12), BOOST_PP_NODE_10, BOOST_PP_NODE_14) +# define BOOST_PP_NODE_10(p) BOOST_PP_IIF(p##(10), BOOST_PP_NODE_9, BOOST_PP_NODE_11) +# define BOOST_PP_NODE_9(p) BOOST_PP_IIF(p##(9), 9, 10) +# define BOOST_PP_NODE_11(p) BOOST_PP_IIF(p##(11), 11, 12) +# define BOOST_PP_NODE_14(p) BOOST_PP_IIF(p##(14), BOOST_PP_NODE_13, BOOST_PP_NODE_15) +# define BOOST_PP_NODE_13(p) BOOST_PP_IIF(p##(13), 13, 14) +# define BOOST_PP_NODE_15(p) BOOST_PP_IIF(p##(15), 15, 16) +# define BOOST_PP_NODE_24(p) BOOST_PP_IIF(p##(24), BOOST_PP_NODE_20, BOOST_PP_NODE_28) +# define BOOST_PP_NODE_20(p) BOOST_PP_IIF(p##(20), BOOST_PP_NODE_18, BOOST_PP_NODE_22) +# define BOOST_PP_NODE_18(p) BOOST_PP_IIF(p##(18), BOOST_PP_NODE_17, BOOST_PP_NODE_19) +# define BOOST_PP_NODE_17(p) BOOST_PP_IIF(p##(17), 17, 18) +# define BOOST_PP_NODE_19(p) BOOST_PP_IIF(p##(19), 19, 20) +# define BOOST_PP_NODE_22(p) BOOST_PP_IIF(p##(22), BOOST_PP_NODE_21, BOOST_PP_NODE_23) +# define BOOST_PP_NODE_21(p) BOOST_PP_IIF(p##(21), 21, 22) +# define BOOST_PP_NODE_23(p) BOOST_PP_IIF(p##(23), 23, 24) +# define BOOST_PP_NODE_28(p) BOOST_PP_IIF(p##(28), BOOST_PP_NODE_26, BOOST_PP_NODE_30) +# define BOOST_PP_NODE_26(p) BOOST_PP_IIF(p##(26), BOOST_PP_NODE_25, BOOST_PP_NODE_27) +# define BOOST_PP_NODE_25(p) BOOST_PP_IIF(p##(25), 25, 26) +# define BOOST_PP_NODE_27(p) BOOST_PP_IIF(p##(27), 27, 28) +# define BOOST_PP_NODE_30(p) BOOST_PP_IIF(p##(30), BOOST_PP_NODE_29, BOOST_PP_NODE_31) +# define BOOST_PP_NODE_29(p) BOOST_PP_IIF(p##(29), 29, 30) +# define BOOST_PP_NODE_31(p) BOOST_PP_IIF(p##(31), 31, 32) +# define BOOST_PP_NODE_48(p) BOOST_PP_IIF(p##(48), BOOST_PP_NODE_40, BOOST_PP_NODE_56) +# define BOOST_PP_NODE_40(p) BOOST_PP_IIF(p##(40), BOOST_PP_NODE_36, BOOST_PP_NODE_44) +# define BOOST_PP_NODE_36(p) BOOST_PP_IIF(p##(36), BOOST_PP_NODE_34, BOOST_PP_NODE_38) +# define BOOST_PP_NODE_34(p) BOOST_PP_IIF(p##(34), BOOST_PP_NODE_33, BOOST_PP_NODE_35) +# define BOOST_PP_NODE_33(p) BOOST_PP_IIF(p##(33), 33, 34) +# define BOOST_PP_NODE_35(p) BOOST_PP_IIF(p##(35), 35, 36) +# define BOOST_PP_NODE_38(p) BOOST_PP_IIF(p##(38), BOOST_PP_NODE_37, BOOST_PP_NODE_39) +# define BOOST_PP_NODE_37(p) BOOST_PP_IIF(p##(37), 37, 38) +# define BOOST_PP_NODE_39(p) BOOST_PP_IIF(p##(39), 39, 40) +# define BOOST_PP_NODE_44(p) BOOST_PP_IIF(p##(44), BOOST_PP_NODE_42, BOOST_PP_NODE_46) +# define BOOST_PP_NODE_42(p) BOOST_PP_IIF(p##(42), BOOST_PP_NODE_41, BOOST_PP_NODE_43) +# define BOOST_PP_NODE_41(p) BOOST_PP_IIF(p##(41), 41, 42) +# define BOOST_PP_NODE_43(p) BOOST_PP_IIF(p##(43), 43, 44) +# define BOOST_PP_NODE_46(p) BOOST_PP_IIF(p##(46), BOOST_PP_NODE_45, BOOST_PP_NODE_47) +# define BOOST_PP_NODE_45(p) BOOST_PP_IIF(p##(45), 45, 46) +# define BOOST_PP_NODE_47(p) BOOST_PP_IIF(p##(47), 47, 48) +# define BOOST_PP_NODE_56(p) BOOST_PP_IIF(p##(56), BOOST_PP_NODE_52, BOOST_PP_NODE_60) +# define BOOST_PP_NODE_52(p) BOOST_PP_IIF(p##(52), BOOST_PP_NODE_50, BOOST_PP_NODE_54) +# define BOOST_PP_NODE_50(p) BOOST_PP_IIF(p##(50), BOOST_PP_NODE_49, BOOST_PP_NODE_51) +# define BOOST_PP_NODE_49(p) BOOST_PP_IIF(p##(49), 49, 50) +# define BOOST_PP_NODE_51(p) BOOST_PP_IIF(p##(51), 51, 52) +# define BOOST_PP_NODE_54(p) BOOST_PP_IIF(p##(54), BOOST_PP_NODE_53, BOOST_PP_NODE_55) +# define BOOST_PP_NODE_53(p) BOOST_PP_IIF(p##(53), 53, 54) +# define BOOST_PP_NODE_55(p) BOOST_PP_IIF(p##(55), 55, 56) +# define BOOST_PP_NODE_60(p) BOOST_PP_IIF(p##(60), BOOST_PP_NODE_58, BOOST_PP_NODE_62) +# define BOOST_PP_NODE_58(p) BOOST_PP_IIF(p##(58), BOOST_PP_NODE_57, BOOST_PP_NODE_59) +# define BOOST_PP_NODE_57(p) BOOST_PP_IIF(p##(57), 57, 58) +# define BOOST_PP_NODE_59(p) BOOST_PP_IIF(p##(59), 59, 60) +# define BOOST_PP_NODE_62(p) BOOST_PP_IIF(p##(62), BOOST_PP_NODE_61, BOOST_PP_NODE_63) +# define BOOST_PP_NODE_61(p) BOOST_PP_IIF(p##(61), 61, 62) +# define BOOST_PP_NODE_63(p) BOOST_PP_IIF(p##(63), 63, 64) +# define BOOST_PP_NODE_96(p) BOOST_PP_IIF(p##(96), BOOST_PP_NODE_80, BOOST_PP_NODE_112) +# define BOOST_PP_NODE_80(p) BOOST_PP_IIF(p##(80), BOOST_PP_NODE_72, BOOST_PP_NODE_88) +# define BOOST_PP_NODE_72(p) BOOST_PP_IIF(p##(72), BOOST_PP_NODE_68, BOOST_PP_NODE_76) +# define BOOST_PP_NODE_68(p) BOOST_PP_IIF(p##(68), BOOST_PP_NODE_66, BOOST_PP_NODE_70) +# define BOOST_PP_NODE_66(p) BOOST_PP_IIF(p##(66), BOOST_PP_NODE_65, BOOST_PP_NODE_67) +# define BOOST_PP_NODE_65(p) BOOST_PP_IIF(p##(65), 65, 66) +# define BOOST_PP_NODE_67(p) BOOST_PP_IIF(p##(67), 67, 68) +# define BOOST_PP_NODE_70(p) BOOST_PP_IIF(p##(70), BOOST_PP_NODE_69, BOOST_PP_NODE_71) +# define BOOST_PP_NODE_69(p) BOOST_PP_IIF(p##(69), 69, 70) +# define BOOST_PP_NODE_71(p) BOOST_PP_IIF(p##(71), 71, 72) +# define BOOST_PP_NODE_76(p) BOOST_PP_IIF(p##(76), BOOST_PP_NODE_74, BOOST_PP_NODE_78) +# define BOOST_PP_NODE_74(p) BOOST_PP_IIF(p##(74), BOOST_PP_NODE_73, BOOST_PP_NODE_75) +# define BOOST_PP_NODE_73(p) BOOST_PP_IIF(p##(73), 73, 74) +# define BOOST_PP_NODE_75(p) BOOST_PP_IIF(p##(75), 75, 76) +# define BOOST_PP_NODE_78(p) BOOST_PP_IIF(p##(78), BOOST_PP_NODE_77, BOOST_PP_NODE_79) +# define BOOST_PP_NODE_77(p) BOOST_PP_IIF(p##(77), 77, 78) +# define BOOST_PP_NODE_79(p) BOOST_PP_IIF(p##(79), 79, 80) +# define BOOST_PP_NODE_88(p) BOOST_PP_IIF(p##(88), BOOST_PP_NODE_84, BOOST_PP_NODE_92) +# define BOOST_PP_NODE_84(p) BOOST_PP_IIF(p##(84), BOOST_PP_NODE_82, BOOST_PP_NODE_86) +# define BOOST_PP_NODE_82(p) BOOST_PP_IIF(p##(82), BOOST_PP_NODE_81, BOOST_PP_NODE_83) +# define BOOST_PP_NODE_81(p) BOOST_PP_IIF(p##(81), 81, 82) +# define BOOST_PP_NODE_83(p) BOOST_PP_IIF(p##(83), 83, 84) +# define BOOST_PP_NODE_86(p) BOOST_PP_IIF(p##(86), BOOST_PP_NODE_85, BOOST_PP_NODE_87) +# define BOOST_PP_NODE_85(p) BOOST_PP_IIF(p##(85), 85, 86) +# define BOOST_PP_NODE_87(p) BOOST_PP_IIF(p##(87), 87, 88) +# define BOOST_PP_NODE_92(p) BOOST_PP_IIF(p##(92), BOOST_PP_NODE_90, BOOST_PP_NODE_94) +# define BOOST_PP_NODE_90(p) BOOST_PP_IIF(p##(90), BOOST_PP_NODE_89, BOOST_PP_NODE_91) +# define BOOST_PP_NODE_89(p) BOOST_PP_IIF(p##(89), 89, 90) +# define BOOST_PP_NODE_91(p) BOOST_PP_IIF(p##(91), 91, 92) +# define BOOST_PP_NODE_94(p) BOOST_PP_IIF(p##(94), BOOST_PP_NODE_93, BOOST_PP_NODE_95) +# define BOOST_PP_NODE_93(p) BOOST_PP_IIF(p##(93), 93, 94) +# define BOOST_PP_NODE_95(p) BOOST_PP_IIF(p##(95), 95, 96) +# define BOOST_PP_NODE_112(p) BOOST_PP_IIF(p##(112), BOOST_PP_NODE_104, BOOST_PP_NODE_120) +# define BOOST_PP_NODE_104(p) BOOST_PP_IIF(p##(104), BOOST_PP_NODE_100, BOOST_PP_NODE_108) +# define BOOST_PP_NODE_100(p) BOOST_PP_IIF(p##(100), BOOST_PP_NODE_98, BOOST_PP_NODE_102) +# define BOOST_PP_NODE_98(p) BOOST_PP_IIF(p##(98), BOOST_PP_NODE_97, BOOST_PP_NODE_99) +# define BOOST_PP_NODE_97(p) BOOST_PP_IIF(p##(97), 97, 98) +# define BOOST_PP_NODE_99(p) BOOST_PP_IIF(p##(99), 99, 100) +# define BOOST_PP_NODE_102(p) BOOST_PP_IIF(p##(102), BOOST_PP_NODE_101, BOOST_PP_NODE_103) +# define BOOST_PP_NODE_101(p) BOOST_PP_IIF(p##(101), 101, 102) +# define BOOST_PP_NODE_103(p) BOOST_PP_IIF(p##(103), 103, 104) +# define BOOST_PP_NODE_108(p) BOOST_PP_IIF(p##(108), BOOST_PP_NODE_106, BOOST_PP_NODE_110) +# define BOOST_PP_NODE_106(p) BOOST_PP_IIF(p##(106), BOOST_PP_NODE_105, BOOST_PP_NODE_107) +# define BOOST_PP_NODE_105(p) BOOST_PP_IIF(p##(105), 105, 106) +# define BOOST_PP_NODE_107(p) BOOST_PP_IIF(p##(107), 107, 108) +# define BOOST_PP_NODE_110(p) BOOST_PP_IIF(p##(110), BOOST_PP_NODE_109, BOOST_PP_NODE_111) +# define BOOST_PP_NODE_109(p) BOOST_PP_IIF(p##(109), 109, 110) +# define BOOST_PP_NODE_111(p) BOOST_PP_IIF(p##(111), 111, 112) +# define BOOST_PP_NODE_120(p) BOOST_PP_IIF(p##(120), BOOST_PP_NODE_116, BOOST_PP_NODE_124) +# define BOOST_PP_NODE_116(p) BOOST_PP_IIF(p##(116), BOOST_PP_NODE_114, BOOST_PP_NODE_118) +# define BOOST_PP_NODE_114(p) BOOST_PP_IIF(p##(114), BOOST_PP_NODE_113, BOOST_PP_NODE_115) +# define BOOST_PP_NODE_113(p) BOOST_PP_IIF(p##(113), 113, 114) +# define BOOST_PP_NODE_115(p) BOOST_PP_IIF(p##(115), 115, 116) +# define BOOST_PP_NODE_118(p) BOOST_PP_IIF(p##(118), BOOST_PP_NODE_117, BOOST_PP_NODE_119) +# define BOOST_PP_NODE_117(p) BOOST_PP_IIF(p##(117), 117, 118) +# define BOOST_PP_NODE_119(p) BOOST_PP_IIF(p##(119), 119, 120) +# define BOOST_PP_NODE_124(p) BOOST_PP_IIF(p##(124), BOOST_PP_NODE_122, BOOST_PP_NODE_126) +# define BOOST_PP_NODE_122(p) BOOST_PP_IIF(p##(122), BOOST_PP_NODE_121, BOOST_PP_NODE_123) +# define BOOST_PP_NODE_121(p) BOOST_PP_IIF(p##(121), 121, 122) +# define BOOST_PP_NODE_123(p) BOOST_PP_IIF(p##(123), 123, 124) +# define BOOST_PP_NODE_126(p) BOOST_PP_IIF(p##(126), BOOST_PP_NODE_125, BOOST_PP_NODE_127) +# define BOOST_PP_NODE_125(p) BOOST_PP_IIF(p##(125), 125, 126) +# define BOOST_PP_NODE_127(p) BOOST_PP_IIF(p##(127), 127, 128) +# define BOOST_PP_NODE_192(p) BOOST_PP_IIF(p##(192), BOOST_PP_NODE_160, BOOST_PP_NODE_224) +# define BOOST_PP_NODE_160(p) BOOST_PP_IIF(p##(160), BOOST_PP_NODE_144, BOOST_PP_NODE_176) +# define BOOST_PP_NODE_144(p) BOOST_PP_IIF(p##(144), BOOST_PP_NODE_136, BOOST_PP_NODE_152) +# define BOOST_PP_NODE_136(p) BOOST_PP_IIF(p##(136), BOOST_PP_NODE_132, BOOST_PP_NODE_140) +# define BOOST_PP_NODE_132(p) BOOST_PP_IIF(p##(132), BOOST_PP_NODE_130, BOOST_PP_NODE_134) +# define BOOST_PP_NODE_130(p) BOOST_PP_IIF(p##(130), BOOST_PP_NODE_129, BOOST_PP_NODE_131) +# define BOOST_PP_NODE_129(p) BOOST_PP_IIF(p##(129), 129, 130) +# define BOOST_PP_NODE_131(p) BOOST_PP_IIF(p##(131), 131, 132) +# define BOOST_PP_NODE_134(p) BOOST_PP_IIF(p##(134), BOOST_PP_NODE_133, BOOST_PP_NODE_135) +# define BOOST_PP_NODE_133(p) BOOST_PP_IIF(p##(133), 133, 134) +# define BOOST_PP_NODE_135(p) BOOST_PP_IIF(p##(135), 135, 136) +# define BOOST_PP_NODE_140(p) BOOST_PP_IIF(p##(140), BOOST_PP_NODE_138, BOOST_PP_NODE_142) +# define BOOST_PP_NODE_138(p) BOOST_PP_IIF(p##(138), BOOST_PP_NODE_137, BOOST_PP_NODE_139) +# define BOOST_PP_NODE_137(p) BOOST_PP_IIF(p##(137), 137, 138) +# define BOOST_PP_NODE_139(p) BOOST_PP_IIF(p##(139), 139, 140) +# define BOOST_PP_NODE_142(p) BOOST_PP_IIF(p##(142), BOOST_PP_NODE_141, BOOST_PP_NODE_143) +# define BOOST_PP_NODE_141(p) BOOST_PP_IIF(p##(141), 141, 142) +# define BOOST_PP_NODE_143(p) BOOST_PP_IIF(p##(143), 143, 144) +# define BOOST_PP_NODE_152(p) BOOST_PP_IIF(p##(152), BOOST_PP_NODE_148, BOOST_PP_NODE_156) +# define BOOST_PP_NODE_148(p) BOOST_PP_IIF(p##(148), BOOST_PP_NODE_146, BOOST_PP_NODE_150) +# define BOOST_PP_NODE_146(p) BOOST_PP_IIF(p##(146), BOOST_PP_NODE_145, BOOST_PP_NODE_147) +# define BOOST_PP_NODE_145(p) BOOST_PP_IIF(p##(145), 145, 146) +# define BOOST_PP_NODE_147(p) BOOST_PP_IIF(p##(147), 147, 148) +# define BOOST_PP_NODE_150(p) BOOST_PP_IIF(p##(150), BOOST_PP_NODE_149, BOOST_PP_NODE_151) +# define BOOST_PP_NODE_149(p) BOOST_PP_IIF(p##(149), 149, 150) +# define BOOST_PP_NODE_151(p) BOOST_PP_IIF(p##(151), 151, 152) +# define BOOST_PP_NODE_156(p) BOOST_PP_IIF(p##(156), BOOST_PP_NODE_154, BOOST_PP_NODE_158) +# define BOOST_PP_NODE_154(p) BOOST_PP_IIF(p##(154), BOOST_PP_NODE_153, BOOST_PP_NODE_155) +# define BOOST_PP_NODE_153(p) BOOST_PP_IIF(p##(153), 153, 154) +# define BOOST_PP_NODE_155(p) BOOST_PP_IIF(p##(155), 155, 156) +# define BOOST_PP_NODE_158(p) BOOST_PP_IIF(p##(158), BOOST_PP_NODE_157, BOOST_PP_NODE_159) +# define BOOST_PP_NODE_157(p) BOOST_PP_IIF(p##(157), 157, 158) +# define BOOST_PP_NODE_159(p) BOOST_PP_IIF(p##(159), 159, 160) +# define BOOST_PP_NODE_176(p) BOOST_PP_IIF(p##(176), BOOST_PP_NODE_168, BOOST_PP_NODE_184) +# define BOOST_PP_NODE_168(p) BOOST_PP_IIF(p##(168), BOOST_PP_NODE_164, BOOST_PP_NODE_172) +# define BOOST_PP_NODE_164(p) BOOST_PP_IIF(p##(164), BOOST_PP_NODE_162, BOOST_PP_NODE_166) +# define BOOST_PP_NODE_162(p) BOOST_PP_IIF(p##(162), BOOST_PP_NODE_161, BOOST_PP_NODE_163) +# define BOOST_PP_NODE_161(p) BOOST_PP_IIF(p##(161), 161, 162) +# define BOOST_PP_NODE_163(p) BOOST_PP_IIF(p##(163), 163, 164) +# define BOOST_PP_NODE_166(p) BOOST_PP_IIF(p##(166), BOOST_PP_NODE_165, BOOST_PP_NODE_167) +# define BOOST_PP_NODE_165(p) BOOST_PP_IIF(p##(165), 165, 166) +# define BOOST_PP_NODE_167(p) BOOST_PP_IIF(p##(167), 167, 168) +# define BOOST_PP_NODE_172(p) BOOST_PP_IIF(p##(172), BOOST_PP_NODE_170, BOOST_PP_NODE_174) +# define BOOST_PP_NODE_170(p) BOOST_PP_IIF(p##(170), BOOST_PP_NODE_169, BOOST_PP_NODE_171) +# define BOOST_PP_NODE_169(p) BOOST_PP_IIF(p##(169), 169, 170) +# define BOOST_PP_NODE_171(p) BOOST_PP_IIF(p##(171), 171, 172) +# define BOOST_PP_NODE_174(p) BOOST_PP_IIF(p##(174), BOOST_PP_NODE_173, BOOST_PP_NODE_175) +# define BOOST_PP_NODE_173(p) BOOST_PP_IIF(p##(173), 173, 174) +# define BOOST_PP_NODE_175(p) BOOST_PP_IIF(p##(175), 175, 176) +# define BOOST_PP_NODE_184(p) BOOST_PP_IIF(p##(184), BOOST_PP_NODE_180, BOOST_PP_NODE_188) +# define BOOST_PP_NODE_180(p) BOOST_PP_IIF(p##(180), BOOST_PP_NODE_178, BOOST_PP_NODE_182) +# define BOOST_PP_NODE_178(p) BOOST_PP_IIF(p##(178), BOOST_PP_NODE_177, BOOST_PP_NODE_179) +# define BOOST_PP_NODE_177(p) BOOST_PP_IIF(p##(177), 177, 178) +# define BOOST_PP_NODE_179(p) BOOST_PP_IIF(p##(179), 179, 180) +# define BOOST_PP_NODE_182(p) BOOST_PP_IIF(p##(182), BOOST_PP_NODE_181, BOOST_PP_NODE_183) +# define BOOST_PP_NODE_181(p) BOOST_PP_IIF(p##(181), 181, 182) +# define BOOST_PP_NODE_183(p) BOOST_PP_IIF(p##(183), 183, 184) +# define BOOST_PP_NODE_188(p) BOOST_PP_IIF(p##(188), BOOST_PP_NODE_186, BOOST_PP_NODE_190) +# define BOOST_PP_NODE_186(p) BOOST_PP_IIF(p##(186), BOOST_PP_NODE_185, BOOST_PP_NODE_187) +# define BOOST_PP_NODE_185(p) BOOST_PP_IIF(p##(185), 185, 186) +# define BOOST_PP_NODE_187(p) BOOST_PP_IIF(p##(187), 187, 188) +# define BOOST_PP_NODE_190(p) BOOST_PP_IIF(p##(190), BOOST_PP_NODE_189, BOOST_PP_NODE_191) +# define BOOST_PP_NODE_189(p) BOOST_PP_IIF(p##(189), 189, 190) +# define BOOST_PP_NODE_191(p) BOOST_PP_IIF(p##(191), 191, 192) +# define BOOST_PP_NODE_224(p) BOOST_PP_IIF(p##(224), BOOST_PP_NODE_208, BOOST_PP_NODE_240) +# define BOOST_PP_NODE_208(p) BOOST_PP_IIF(p##(208), BOOST_PP_NODE_200, BOOST_PP_NODE_216) +# define BOOST_PP_NODE_200(p) BOOST_PP_IIF(p##(200), BOOST_PP_NODE_196, BOOST_PP_NODE_204) +# define BOOST_PP_NODE_196(p) BOOST_PP_IIF(p##(196), BOOST_PP_NODE_194, BOOST_PP_NODE_198) +# define BOOST_PP_NODE_194(p) BOOST_PP_IIF(p##(194), BOOST_PP_NODE_193, BOOST_PP_NODE_195) +# define BOOST_PP_NODE_193(p) BOOST_PP_IIF(p##(193), 193, 194) +# define BOOST_PP_NODE_195(p) BOOST_PP_IIF(p##(195), 195, 196) +# define BOOST_PP_NODE_198(p) BOOST_PP_IIF(p##(198), BOOST_PP_NODE_197, BOOST_PP_NODE_199) +# define BOOST_PP_NODE_197(p) BOOST_PP_IIF(p##(197), 197, 198) +# define BOOST_PP_NODE_199(p) BOOST_PP_IIF(p##(199), 199, 200) +# define BOOST_PP_NODE_204(p) BOOST_PP_IIF(p##(204), BOOST_PP_NODE_202, BOOST_PP_NODE_206) +# define BOOST_PP_NODE_202(p) BOOST_PP_IIF(p##(202), BOOST_PP_NODE_201, BOOST_PP_NODE_203) +# define BOOST_PP_NODE_201(p) BOOST_PP_IIF(p##(201), 201, 202) +# define BOOST_PP_NODE_203(p) BOOST_PP_IIF(p##(203), 203, 204) +# define BOOST_PP_NODE_206(p) BOOST_PP_IIF(p##(206), BOOST_PP_NODE_205, BOOST_PP_NODE_207) +# define BOOST_PP_NODE_205(p) BOOST_PP_IIF(p##(205), 205, 206) +# define BOOST_PP_NODE_207(p) BOOST_PP_IIF(p##(207), 207, 208) +# define BOOST_PP_NODE_216(p) BOOST_PP_IIF(p##(216), BOOST_PP_NODE_212, BOOST_PP_NODE_220) +# define BOOST_PP_NODE_212(p) BOOST_PP_IIF(p##(212), BOOST_PP_NODE_210, BOOST_PP_NODE_214) +# define BOOST_PP_NODE_210(p) BOOST_PP_IIF(p##(210), BOOST_PP_NODE_209, BOOST_PP_NODE_211) +# define BOOST_PP_NODE_209(p) BOOST_PP_IIF(p##(209), 209, 210) +# define BOOST_PP_NODE_211(p) BOOST_PP_IIF(p##(211), 211, 212) +# define BOOST_PP_NODE_214(p) BOOST_PP_IIF(p##(214), BOOST_PP_NODE_213, BOOST_PP_NODE_215) +# define BOOST_PP_NODE_213(p) BOOST_PP_IIF(p##(213), 213, 214) +# define BOOST_PP_NODE_215(p) BOOST_PP_IIF(p##(215), 215, 216) +# define BOOST_PP_NODE_220(p) BOOST_PP_IIF(p##(220), BOOST_PP_NODE_218, BOOST_PP_NODE_222) +# define BOOST_PP_NODE_218(p) BOOST_PP_IIF(p##(218), BOOST_PP_NODE_217, BOOST_PP_NODE_219) +# define BOOST_PP_NODE_217(p) BOOST_PP_IIF(p##(217), 217, 218) +# define BOOST_PP_NODE_219(p) BOOST_PP_IIF(p##(219), 219, 220) +# define BOOST_PP_NODE_222(p) BOOST_PP_IIF(p##(222), BOOST_PP_NODE_221, BOOST_PP_NODE_223) +# define BOOST_PP_NODE_221(p) BOOST_PP_IIF(p##(221), 221, 222) +# define BOOST_PP_NODE_223(p) BOOST_PP_IIF(p##(223), 223, 224) +# define BOOST_PP_NODE_240(p) BOOST_PP_IIF(p##(240), BOOST_PP_NODE_232, BOOST_PP_NODE_248) +# define BOOST_PP_NODE_232(p) BOOST_PP_IIF(p##(232), BOOST_PP_NODE_228, BOOST_PP_NODE_236) +# define BOOST_PP_NODE_228(p) BOOST_PP_IIF(p##(228), BOOST_PP_NODE_226, BOOST_PP_NODE_230) +# define BOOST_PP_NODE_226(p) BOOST_PP_IIF(p##(226), BOOST_PP_NODE_225, BOOST_PP_NODE_227) +# define BOOST_PP_NODE_225(p) BOOST_PP_IIF(p##(225), 225, 226) +# define BOOST_PP_NODE_227(p) BOOST_PP_IIF(p##(227), 227, 228) +# define BOOST_PP_NODE_230(p) BOOST_PP_IIF(p##(230), BOOST_PP_NODE_229, BOOST_PP_NODE_231) +# define BOOST_PP_NODE_229(p) BOOST_PP_IIF(p##(229), 229, 230) +# define BOOST_PP_NODE_231(p) BOOST_PP_IIF(p##(231), 231, 232) +# define BOOST_PP_NODE_236(p) BOOST_PP_IIF(p##(236), BOOST_PP_NODE_234, BOOST_PP_NODE_238) +# define BOOST_PP_NODE_234(p) BOOST_PP_IIF(p##(234), BOOST_PP_NODE_233, BOOST_PP_NODE_235) +# define BOOST_PP_NODE_233(p) BOOST_PP_IIF(p##(233), 233, 234) +# define BOOST_PP_NODE_235(p) BOOST_PP_IIF(p##(235), 235, 236) +# define BOOST_PP_NODE_238(p) BOOST_PP_IIF(p##(238), BOOST_PP_NODE_237, BOOST_PP_NODE_239) +# define BOOST_PP_NODE_237(p) BOOST_PP_IIF(p##(237), 237, 238) +# define BOOST_PP_NODE_239(p) BOOST_PP_IIF(p##(239), 239, 240) +# define BOOST_PP_NODE_248(p) BOOST_PP_IIF(p##(248), BOOST_PP_NODE_244, BOOST_PP_NODE_252) +# define BOOST_PP_NODE_244(p) BOOST_PP_IIF(p##(244), BOOST_PP_NODE_242, BOOST_PP_NODE_246) +# define BOOST_PP_NODE_242(p) BOOST_PP_IIF(p##(242), BOOST_PP_NODE_241, BOOST_PP_NODE_243) +# define BOOST_PP_NODE_241(p) BOOST_PP_IIF(p##(241), 241, 242) +# define BOOST_PP_NODE_243(p) BOOST_PP_IIF(p##(243), 243, 244) +# define BOOST_PP_NODE_246(p) BOOST_PP_IIF(p##(246), BOOST_PP_NODE_245, BOOST_PP_NODE_247) +# define BOOST_PP_NODE_245(p) BOOST_PP_IIF(p##(245), 245, 246) +# define BOOST_PP_NODE_247(p) BOOST_PP_IIF(p##(247), 247, 248) +# define BOOST_PP_NODE_252(p) BOOST_PP_IIF(p##(252), BOOST_PP_NODE_250, BOOST_PP_NODE_254) +# define BOOST_PP_NODE_250(p) BOOST_PP_IIF(p##(250), BOOST_PP_NODE_249, BOOST_PP_NODE_251) +# define BOOST_PP_NODE_249(p) BOOST_PP_IIF(p##(249), 249, 250) +# define BOOST_PP_NODE_251(p) BOOST_PP_IIF(p##(251), 251, 252) +# define BOOST_PP_NODE_254(p) BOOST_PP_IIF(p##(254), BOOST_PP_NODE_253, BOOST_PP_NODE_255) +# define BOOST_PP_NODE_253(p) BOOST_PP_IIF(p##(253), 253, 254) +# define BOOST_PP_NODE_255(p) BOOST_PP_IIF(p##(255), 255, 256) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_binary.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_binary.hpp new file mode 100644 index 0000000..f2180e5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_binary.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP +# define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP +# +# include +# include +# +# /* BOOST_PP_IS_BINARY */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) +# else +# define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x) +# define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK) +# endif +# +# define BOOST_PP_IS_BINARY_CHECK(a, b) 1 +# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_nullary.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_nullary.hpp new file mode 100644 index 0000000..a99822d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_nullary.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP +# define BOOST_PREPROCESSOR_DETAIL_IS_NULLARY_HPP +# +# include +# include +# +# /* BOOST_PP_IS_NULLARY */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_IS_NULLARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK) +# else +# define BOOST_PP_IS_NULLARY(x) BOOST_PP_IS_NULLARY_I(x) +# define BOOST_PP_IS_NULLARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_NULLARY_CHECK) +# endif +# +# define BOOST_PP_IS_NULLARY_CHECK() 1 +# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_NULLARY_CHECK 0, BOOST_PP_NIL +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_unary.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_unary.hpp new file mode 100644 index 0000000..72486c5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/is_unary.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP +# define BOOST_PREPROCESSOR_DETAIL_IS_UNARY_HPP +# +# include +# include +# +# /* BOOST_PP_IS_UNARY */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_IS_UNARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK) +# else +# define BOOST_PP_IS_UNARY(x) BOOST_PP_IS_UNARY_I(x) +# define BOOST_PP_IS_UNARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_UNARY_CHECK) +# endif +# +# define BOOST_PP_IS_UNARY_CHECK(a) 1 +# define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_UNARY_CHECK 0, BOOST_PP_NIL +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/null.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/null.hpp new file mode 100644 index 0000000..eaec7ba --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/null.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_NULL_HPP +# define BOOST_PREPROCESSOR_DETAIL_NULL_HPP +# +# /* empty file */ +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/split.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/split.hpp new file mode 100644 index 0000000..99d9183 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/detail/split.hpp @@ -0,0 +1,35 @@ +# /* ************************************************************************** +# * * +# * (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) +# * * +# ************************************************************************** */ +# +# ifndef BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP +# define BOOST_PREPROCESSOR_DETAIL_SPLIT_HPP +# +# include +# +# /* BOOST_PP_SPLIT */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I((n, im)) +# define BOOST_PP_SPLIT_I(par) BOOST_PP_SPLIT_II ## par +# define BOOST_PP_SPLIT_II(n, a, b) BOOST_PP_SPLIT_ ## n(a, b) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n((im))) +# define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_II_ ## n) +# define BOOST_PP_SPLIT_II_0(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_0 s) +# define BOOST_PP_SPLIT_II_1(s) BOOST_PP_SPLIT_ID(BOOST_PP_SPLIT_1 s) +# define BOOST_PP_SPLIT_ID(id) id +# else +# define BOOST_PP_SPLIT(n, im) BOOST_PP_SPLIT_I(n)(im) +# define BOOST_PP_SPLIT_I(n) BOOST_PP_SPLIT_ ## n +# endif +# +# define BOOST_PP_SPLIT_0(a, b) a +# define BOOST_PP_SPLIT_1(a, b) b +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/empty.hpp new file mode 100644 index 0000000..2367897 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/empty.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_EMPTY_HPP +# define BOOST_PREPROCESSOR_EMPTY_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum.hpp new file mode 100644 index 0000000..a5bd7e0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ENUM_HPP +# define BOOST_PREPROCESSOR_ENUM_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params.hpp new file mode 100644 index 0000000..4b03350 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP +# define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_a_default.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_a_default.hpp new file mode 100644 index 0000000..ed7f22d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_a_default.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP +# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_defaults.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_defaults.hpp new file mode 100644 index 0000000..cab7db6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_params_with_defaults.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP +# define BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted.hpp new file mode 100644 index 0000000..8d111d6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP +# define BOOST_PREPROCESSOR_ENUM_SHIFTED_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted_params.hpp new file mode 100644 index 0000000..ebdea2d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/enum_shifted_params.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP +# define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expand.hpp new file mode 100644 index 0000000..bb2e0a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expand.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_EXPAND_HPP +# define BOOST_PREPROCESSOR_EXPAND_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expr_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expr_if.hpp new file mode 100644 index 0000000..46948e9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/expr_if.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_EXPR_IF_HPP +# define BOOST_PREPROCESSOR_EXPR_IF_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities.hpp new file mode 100644 index 0000000..af8eb07 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities.hpp @@ -0,0 +1,21 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_HPP +# define BOOST_PREPROCESSOR_FACILITIES_HPP +# +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/apply.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/apply.hpp new file mode 100644 index 0000000..360bb50 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/apply.hpp @@ -0,0 +1,34 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_APPLY_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_APPLY */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x) +# define BOOST_PP_APPLY_I(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() +# define BOOST_PP_APPLY(x) BOOST_PP_APPLY_I(x) +# define BOOST_PP_APPLY_I(x) BOOST_PP_APPLY_ ## x +# define BOOST_PP_APPLY_(x) x +# define BOOST_PP_APPLY_BOOST_PP_NIL +# else +# define BOOST_PP_APPLY(x) BOOST_PP_EXPR_IIF(BOOST_PP_IS_UNARY(x), BOOST_PP_TUPLE_REM_1 x) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/empty.hpp new file mode 100644 index 0000000..ad45c12 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/empty.hpp @@ -0,0 +1,21 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP +# +# /* BOOST_PP_EMPTY */ +# +# define BOOST_PP_EMPTY() +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/expand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/expand.hpp new file mode 100644 index 0000000..562d5fd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/expand.hpp @@ -0,0 +1,28 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP +# define BOOST_PREPROCESSOR_FACILITIES_EXPAND_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_I(x) +# else +# define BOOST_PP_EXPAND(x) BOOST_PP_EXPAND_OO((x)) +# define BOOST_PP_EXPAND_OO(par) BOOST_PP_EXPAND_I ## par +# endif +# +# define BOOST_PP_EXPAND_I(x) x +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/identity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/identity.hpp new file mode 100644 index 0000000..f79b3ce --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/identity.hpp @@ -0,0 +1,23 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP +# +# include +# +# /* BOOST_PP_IDENTITY */ +# +# define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/intercept.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/intercept.hpp new file mode 100644 index 0000000..3cbaa67 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/intercept.hpp @@ -0,0 +1,277 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP +# define BOOST_PREPROCESSOR_FACILITIES_INTERCEPT_HPP +# +# /* BOOST_PP_INTERCEPT */ +# +# define BOOST_PP_INTERCEPT BOOST_PP_INTERCEPT_ +# +# define BOOST_PP_INTERCEPT_0 +# define BOOST_PP_INTERCEPT_1 +# define BOOST_PP_INTERCEPT_2 +# define BOOST_PP_INTERCEPT_3 +# define BOOST_PP_INTERCEPT_4 +# define BOOST_PP_INTERCEPT_5 +# define BOOST_PP_INTERCEPT_6 +# define BOOST_PP_INTERCEPT_7 +# define BOOST_PP_INTERCEPT_8 +# define BOOST_PP_INTERCEPT_9 +# define BOOST_PP_INTERCEPT_10 +# define BOOST_PP_INTERCEPT_11 +# define BOOST_PP_INTERCEPT_12 +# define BOOST_PP_INTERCEPT_13 +# define BOOST_PP_INTERCEPT_14 +# define BOOST_PP_INTERCEPT_15 +# define BOOST_PP_INTERCEPT_16 +# define BOOST_PP_INTERCEPT_17 +# define BOOST_PP_INTERCEPT_18 +# define BOOST_PP_INTERCEPT_19 +# define BOOST_PP_INTERCEPT_20 +# define BOOST_PP_INTERCEPT_21 +# define BOOST_PP_INTERCEPT_22 +# define BOOST_PP_INTERCEPT_23 +# define BOOST_PP_INTERCEPT_24 +# define BOOST_PP_INTERCEPT_25 +# define BOOST_PP_INTERCEPT_26 +# define BOOST_PP_INTERCEPT_27 +# define BOOST_PP_INTERCEPT_28 +# define BOOST_PP_INTERCEPT_29 +# define BOOST_PP_INTERCEPT_30 +# define BOOST_PP_INTERCEPT_31 +# define BOOST_PP_INTERCEPT_32 +# define BOOST_PP_INTERCEPT_33 +# define BOOST_PP_INTERCEPT_34 +# define BOOST_PP_INTERCEPT_35 +# define BOOST_PP_INTERCEPT_36 +# define BOOST_PP_INTERCEPT_37 +# define BOOST_PP_INTERCEPT_38 +# define BOOST_PP_INTERCEPT_39 +# define BOOST_PP_INTERCEPT_40 +# define BOOST_PP_INTERCEPT_41 +# define BOOST_PP_INTERCEPT_42 +# define BOOST_PP_INTERCEPT_43 +# define BOOST_PP_INTERCEPT_44 +# define BOOST_PP_INTERCEPT_45 +# define BOOST_PP_INTERCEPT_46 +# define BOOST_PP_INTERCEPT_47 +# define BOOST_PP_INTERCEPT_48 +# define BOOST_PP_INTERCEPT_49 +# define BOOST_PP_INTERCEPT_50 +# define BOOST_PP_INTERCEPT_51 +# define BOOST_PP_INTERCEPT_52 +# define BOOST_PP_INTERCEPT_53 +# define BOOST_PP_INTERCEPT_54 +# define BOOST_PP_INTERCEPT_55 +# define BOOST_PP_INTERCEPT_56 +# define BOOST_PP_INTERCEPT_57 +# define BOOST_PP_INTERCEPT_58 +# define BOOST_PP_INTERCEPT_59 +# define BOOST_PP_INTERCEPT_60 +# define BOOST_PP_INTERCEPT_61 +# define BOOST_PP_INTERCEPT_62 +# define BOOST_PP_INTERCEPT_63 +# define BOOST_PP_INTERCEPT_64 +# define BOOST_PP_INTERCEPT_65 +# define BOOST_PP_INTERCEPT_66 +# define BOOST_PP_INTERCEPT_67 +# define BOOST_PP_INTERCEPT_68 +# define BOOST_PP_INTERCEPT_69 +# define BOOST_PP_INTERCEPT_70 +# define BOOST_PP_INTERCEPT_71 +# define BOOST_PP_INTERCEPT_72 +# define BOOST_PP_INTERCEPT_73 +# define BOOST_PP_INTERCEPT_74 +# define BOOST_PP_INTERCEPT_75 +# define BOOST_PP_INTERCEPT_76 +# define BOOST_PP_INTERCEPT_77 +# define BOOST_PP_INTERCEPT_78 +# define BOOST_PP_INTERCEPT_79 +# define BOOST_PP_INTERCEPT_80 +# define BOOST_PP_INTERCEPT_81 +# define BOOST_PP_INTERCEPT_82 +# define BOOST_PP_INTERCEPT_83 +# define BOOST_PP_INTERCEPT_84 +# define BOOST_PP_INTERCEPT_85 +# define BOOST_PP_INTERCEPT_86 +# define BOOST_PP_INTERCEPT_87 +# define BOOST_PP_INTERCEPT_88 +# define BOOST_PP_INTERCEPT_89 +# define BOOST_PP_INTERCEPT_90 +# define BOOST_PP_INTERCEPT_91 +# define BOOST_PP_INTERCEPT_92 +# define BOOST_PP_INTERCEPT_93 +# define BOOST_PP_INTERCEPT_94 +# define BOOST_PP_INTERCEPT_95 +# define BOOST_PP_INTERCEPT_96 +# define BOOST_PP_INTERCEPT_97 +# define BOOST_PP_INTERCEPT_98 +# define BOOST_PP_INTERCEPT_99 +# define BOOST_PP_INTERCEPT_100 +# define BOOST_PP_INTERCEPT_101 +# define BOOST_PP_INTERCEPT_102 +# define BOOST_PP_INTERCEPT_103 +# define BOOST_PP_INTERCEPT_104 +# define BOOST_PP_INTERCEPT_105 +# define BOOST_PP_INTERCEPT_106 +# define BOOST_PP_INTERCEPT_107 +# define BOOST_PP_INTERCEPT_108 +# define BOOST_PP_INTERCEPT_109 +# define BOOST_PP_INTERCEPT_110 +# define BOOST_PP_INTERCEPT_111 +# define BOOST_PP_INTERCEPT_112 +# define BOOST_PP_INTERCEPT_113 +# define BOOST_PP_INTERCEPT_114 +# define BOOST_PP_INTERCEPT_115 +# define BOOST_PP_INTERCEPT_116 +# define BOOST_PP_INTERCEPT_117 +# define BOOST_PP_INTERCEPT_118 +# define BOOST_PP_INTERCEPT_119 +# define BOOST_PP_INTERCEPT_120 +# define BOOST_PP_INTERCEPT_121 +# define BOOST_PP_INTERCEPT_122 +# define BOOST_PP_INTERCEPT_123 +# define BOOST_PP_INTERCEPT_124 +# define BOOST_PP_INTERCEPT_125 +# define BOOST_PP_INTERCEPT_126 +# define BOOST_PP_INTERCEPT_127 +# define BOOST_PP_INTERCEPT_128 +# define BOOST_PP_INTERCEPT_129 +# define BOOST_PP_INTERCEPT_130 +# define BOOST_PP_INTERCEPT_131 +# define BOOST_PP_INTERCEPT_132 +# define BOOST_PP_INTERCEPT_133 +# define BOOST_PP_INTERCEPT_134 +# define BOOST_PP_INTERCEPT_135 +# define BOOST_PP_INTERCEPT_136 +# define BOOST_PP_INTERCEPT_137 +# define BOOST_PP_INTERCEPT_138 +# define BOOST_PP_INTERCEPT_139 +# define BOOST_PP_INTERCEPT_140 +# define BOOST_PP_INTERCEPT_141 +# define BOOST_PP_INTERCEPT_142 +# define BOOST_PP_INTERCEPT_143 +# define BOOST_PP_INTERCEPT_144 +# define BOOST_PP_INTERCEPT_145 +# define BOOST_PP_INTERCEPT_146 +# define BOOST_PP_INTERCEPT_147 +# define BOOST_PP_INTERCEPT_148 +# define BOOST_PP_INTERCEPT_149 +# define BOOST_PP_INTERCEPT_150 +# define BOOST_PP_INTERCEPT_151 +# define BOOST_PP_INTERCEPT_152 +# define BOOST_PP_INTERCEPT_153 +# define BOOST_PP_INTERCEPT_154 +# define BOOST_PP_INTERCEPT_155 +# define BOOST_PP_INTERCEPT_156 +# define BOOST_PP_INTERCEPT_157 +# define BOOST_PP_INTERCEPT_158 +# define BOOST_PP_INTERCEPT_159 +# define BOOST_PP_INTERCEPT_160 +# define BOOST_PP_INTERCEPT_161 +# define BOOST_PP_INTERCEPT_162 +# define BOOST_PP_INTERCEPT_163 +# define BOOST_PP_INTERCEPT_164 +# define BOOST_PP_INTERCEPT_165 +# define BOOST_PP_INTERCEPT_166 +# define BOOST_PP_INTERCEPT_167 +# define BOOST_PP_INTERCEPT_168 +# define BOOST_PP_INTERCEPT_169 +# define BOOST_PP_INTERCEPT_170 +# define BOOST_PP_INTERCEPT_171 +# define BOOST_PP_INTERCEPT_172 +# define BOOST_PP_INTERCEPT_173 +# define BOOST_PP_INTERCEPT_174 +# define BOOST_PP_INTERCEPT_175 +# define BOOST_PP_INTERCEPT_176 +# define BOOST_PP_INTERCEPT_177 +# define BOOST_PP_INTERCEPT_178 +# define BOOST_PP_INTERCEPT_179 +# define BOOST_PP_INTERCEPT_180 +# define BOOST_PP_INTERCEPT_181 +# define BOOST_PP_INTERCEPT_182 +# define BOOST_PP_INTERCEPT_183 +# define BOOST_PP_INTERCEPT_184 +# define BOOST_PP_INTERCEPT_185 +# define BOOST_PP_INTERCEPT_186 +# define BOOST_PP_INTERCEPT_187 +# define BOOST_PP_INTERCEPT_188 +# define BOOST_PP_INTERCEPT_189 +# define BOOST_PP_INTERCEPT_190 +# define BOOST_PP_INTERCEPT_191 +# define BOOST_PP_INTERCEPT_192 +# define BOOST_PP_INTERCEPT_193 +# define BOOST_PP_INTERCEPT_194 +# define BOOST_PP_INTERCEPT_195 +# define BOOST_PP_INTERCEPT_196 +# define BOOST_PP_INTERCEPT_197 +# define BOOST_PP_INTERCEPT_198 +# define BOOST_PP_INTERCEPT_199 +# define BOOST_PP_INTERCEPT_200 +# define BOOST_PP_INTERCEPT_201 +# define BOOST_PP_INTERCEPT_202 +# define BOOST_PP_INTERCEPT_203 +# define BOOST_PP_INTERCEPT_204 +# define BOOST_PP_INTERCEPT_205 +# define BOOST_PP_INTERCEPT_206 +# define BOOST_PP_INTERCEPT_207 +# define BOOST_PP_INTERCEPT_208 +# define BOOST_PP_INTERCEPT_209 +# define BOOST_PP_INTERCEPT_210 +# define BOOST_PP_INTERCEPT_211 +# define BOOST_PP_INTERCEPT_212 +# define BOOST_PP_INTERCEPT_213 +# define BOOST_PP_INTERCEPT_214 +# define BOOST_PP_INTERCEPT_215 +# define BOOST_PP_INTERCEPT_216 +# define BOOST_PP_INTERCEPT_217 +# define BOOST_PP_INTERCEPT_218 +# define BOOST_PP_INTERCEPT_219 +# define BOOST_PP_INTERCEPT_220 +# define BOOST_PP_INTERCEPT_221 +# define BOOST_PP_INTERCEPT_222 +# define BOOST_PP_INTERCEPT_223 +# define BOOST_PP_INTERCEPT_224 +# define BOOST_PP_INTERCEPT_225 +# define BOOST_PP_INTERCEPT_226 +# define BOOST_PP_INTERCEPT_227 +# define BOOST_PP_INTERCEPT_228 +# define BOOST_PP_INTERCEPT_229 +# define BOOST_PP_INTERCEPT_230 +# define BOOST_PP_INTERCEPT_231 +# define BOOST_PP_INTERCEPT_232 +# define BOOST_PP_INTERCEPT_233 +# define BOOST_PP_INTERCEPT_234 +# define BOOST_PP_INTERCEPT_235 +# define BOOST_PP_INTERCEPT_236 +# define BOOST_PP_INTERCEPT_237 +# define BOOST_PP_INTERCEPT_238 +# define BOOST_PP_INTERCEPT_239 +# define BOOST_PP_INTERCEPT_240 +# define BOOST_PP_INTERCEPT_241 +# define BOOST_PP_INTERCEPT_242 +# define BOOST_PP_INTERCEPT_243 +# define BOOST_PP_INTERCEPT_244 +# define BOOST_PP_INTERCEPT_245 +# define BOOST_PP_INTERCEPT_246 +# define BOOST_PP_INTERCEPT_247 +# define BOOST_PP_INTERCEPT_248 +# define BOOST_PP_INTERCEPT_249 +# define BOOST_PP_INTERCEPT_250 +# define BOOST_PP_INTERCEPT_251 +# define BOOST_PP_INTERCEPT_252 +# define BOOST_PP_INTERCEPT_253 +# define BOOST_PP_INTERCEPT_254 +# define BOOST_PP_INTERCEPT_255 +# define BOOST_PP_INTERCEPT_256 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_1.hpp new file mode 100644 index 0000000..b3dba6d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_1.hpp @@ -0,0 +1,23 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2003. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IS_1_HPP +# +# include +# include +# +# /* BOOST_PP_IS_1 */ +# +# define BOOST_PP_IS_1(x) BOOST_PP_IS_EMPTY(BOOST_PP_CAT(BOOST_PP_IS_1_HELPER_, x)) +# define BOOST_PP_IS_1_HELPER_1 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty.hpp new file mode 100644 index 0000000..3f6eeba --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty.hpp @@ -0,0 +1,43 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2003. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_IS_EMPTY */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(x BOOST_PP_IS_EMPTY_HELPER) +# define BOOST_PP_IS_EMPTY_I(contents) BOOST_PP_TUPLE_ELEM(2, 1, (BOOST_PP_IS_EMPTY_DEF_ ## contents())) +# define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 1, 1 BOOST_PP_EMPTY +# define BOOST_PP_IS_EMPTY_HELPER() , 0 +# else +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(BOOST_PP_IS_EMPTY_HELPER x ()) +# define BOOST_PP_IS_EMPTY_I(test) BOOST_PP_IS_EMPTY_II(BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PP_IS_EMPTY_DEF_, test))) +# define BOOST_PP_IS_EMPTY_II(id) id +# else +# define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I((BOOST_PP_IS_EMPTY_HELPER x ())) +# define BOOST_PP_IS_EMPTY_I(par) BOOST_PP_IS_EMPTY_II ## par +# define BOOST_PP_IS_EMPTY_II(test) BOOST_PP_SPLIT(0, BOOST_PP_CAT(BOOST_PP_IS_EMPTY_DEF_, test)) +# endif +# define BOOST_PP_IS_EMPTY_HELPER() 1 +# define BOOST_PP_IS_EMPTY_DEF_1 1, BOOST_PP_NIL +# define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 0, BOOST_PP_NIL +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty_or_1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty_or_1.hpp new file mode 100644 index 0000000..b437d1e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/facilities/is_empty_or_1.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2003. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_OR_1_HPP +# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_OR_1_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_IS_EMPTY_OR_1 */ +# +# define BOOST_PP_IS_EMPTY_OR_1(x) \ + BOOST_PP_IIF( \ + BOOST_PP_IS_EMPTY(x BOOST_PP_EMPTY()), \ + 1 BOOST_PP_EMPTY, \ + BOOST_PP_IS_1 \ + )(x) \ + /**/ +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/for.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/for.hpp new file mode 100644 index 0000000..f84a074 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/for.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_FOR_HPP +# define BOOST_PREPROCESSOR_FOR_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/identity.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/identity.hpp new file mode 100644 index 0000000..23f37a4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/identity.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_IDENTITY_HPP +# define BOOST_PREPROCESSOR_IDENTITY_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/if.hpp new file mode 100644 index 0000000..0a23da1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/if.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_IF_HPP +# define BOOST_PREPROCESSOR_IF_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/inc.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/inc.hpp new file mode 100644 index 0000000..b11e899 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/inc.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_INC_HPP +# define BOOST_PREPROCESSOR_INC_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iterate.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iterate.hpp new file mode 100644 index 0000000..b3b4aeb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iterate.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ITERATE_HPP +# define BOOST_PREPROCESSOR_ITERATE_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration.hpp new file mode 100644 index 0000000..bd2541e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration.hpp @@ -0,0 +1,19 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ITERATION_HPP +# define BOOST_PREPROCESSOR_ITERATION_HPP +# +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp new file mode 100644 index 0000000..6c4dad2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_START_1 +# +# undef BOOST_PP_ITERATION_START_1_DIGIT_1 +# undef BOOST_PP_ITERATION_START_1_DIGIT_2 +# undef BOOST_PP_ITERATION_START_1_DIGIT_3 +# undef BOOST_PP_ITERATION_START_1_DIGIT_4 +# undef BOOST_PP_ITERATION_START_1_DIGIT_5 +# undef BOOST_PP_ITERATION_START_1_DIGIT_6 +# undef BOOST_PP_ITERATION_START_1_DIGIT_7 +# undef BOOST_PP_ITERATION_START_1_DIGIT_8 +# undef BOOST_PP_ITERATION_START_1_DIGIT_9 +# undef BOOST_PP_ITERATION_START_1_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_START_1_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_START_1_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_START_1_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_START_1_DIGIT_3 +# define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_1_DIGIT_3, BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1) +# elif BOOST_PP_ITERATION_START_1_DIGIT_2 +# define BOOST_PP_ITERATION_START_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_1_DIGIT_2, BOOST_PP_ITERATION_START_1_DIGIT_1) +# else +# define BOOST_PP_ITERATION_START_1 BOOST_PP_ITERATION_START_1_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp new file mode 100644 index 0000000..29cf19d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower2.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_START_2 +# +# undef BOOST_PP_ITERATION_START_2_DIGIT_1 +# undef BOOST_PP_ITERATION_START_2_DIGIT_2 +# undef BOOST_PP_ITERATION_START_2_DIGIT_3 +# undef BOOST_PP_ITERATION_START_2_DIGIT_4 +# undef BOOST_PP_ITERATION_START_2_DIGIT_5 +# undef BOOST_PP_ITERATION_START_2_DIGIT_6 +# undef BOOST_PP_ITERATION_START_2_DIGIT_7 +# undef BOOST_PP_ITERATION_START_2_DIGIT_8 +# undef BOOST_PP_ITERATION_START_2_DIGIT_9 +# undef BOOST_PP_ITERATION_START_2_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_START_2_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_START_2_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_START_2_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_START_2_DIGIT_3 +# define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_2_DIGIT_3, BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1) +# elif BOOST_PP_ITERATION_START_2_DIGIT_2 +# define BOOST_PP_ITERATION_START_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_2_DIGIT_2, BOOST_PP_ITERATION_START_2_DIGIT_1) +# else +# define BOOST_PP_ITERATION_START_2 BOOST_PP_ITERATION_START_2_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp new file mode 100644 index 0000000..fe5f658 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower3.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_START_3 +# +# undef BOOST_PP_ITERATION_START_3_DIGIT_1 +# undef BOOST_PP_ITERATION_START_3_DIGIT_2 +# undef BOOST_PP_ITERATION_START_3_DIGIT_3 +# undef BOOST_PP_ITERATION_START_3_DIGIT_4 +# undef BOOST_PP_ITERATION_START_3_DIGIT_5 +# undef BOOST_PP_ITERATION_START_3_DIGIT_6 +# undef BOOST_PP_ITERATION_START_3_DIGIT_7 +# undef BOOST_PP_ITERATION_START_3_DIGIT_8 +# undef BOOST_PP_ITERATION_START_3_DIGIT_9 +# undef BOOST_PP_ITERATION_START_3_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_START_3_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_START_3_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_START_3_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_START_3_DIGIT_3 +# define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_3_DIGIT_3, BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1) +# elif BOOST_PP_ITERATION_START_3_DIGIT_2 +# define BOOST_PP_ITERATION_START_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_3_DIGIT_2, BOOST_PP_ITERATION_START_3_DIGIT_1) +# else +# define BOOST_PP_ITERATION_START_3 BOOST_PP_ITERATION_START_3_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp new file mode 100644 index 0000000..0a5a398 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower4.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_START_4 +# +# undef BOOST_PP_ITERATION_START_4_DIGIT_1 +# undef BOOST_PP_ITERATION_START_4_DIGIT_2 +# undef BOOST_PP_ITERATION_START_4_DIGIT_3 +# undef BOOST_PP_ITERATION_START_4_DIGIT_4 +# undef BOOST_PP_ITERATION_START_4_DIGIT_5 +# undef BOOST_PP_ITERATION_START_4_DIGIT_6 +# undef BOOST_PP_ITERATION_START_4_DIGIT_7 +# undef BOOST_PP_ITERATION_START_4_DIGIT_8 +# undef BOOST_PP_ITERATION_START_4_DIGIT_9 +# undef BOOST_PP_ITERATION_START_4_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_START_4_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_START_4_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_START_4_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_START_4_DIGIT_3 +# define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_4_DIGIT_3, BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1) +# elif BOOST_PP_ITERATION_START_4_DIGIT_2 +# define BOOST_PP_ITERATION_START_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_4_DIGIT_2, BOOST_PP_ITERATION_START_4_DIGIT_1) +# else +# define BOOST_PP_ITERATION_START_4 BOOST_PP_ITERATION_START_4_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp new file mode 100644 index 0000000..227efde --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/lower5.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_START_5 +# +# undef BOOST_PP_ITERATION_START_5_DIGIT_1 +# undef BOOST_PP_ITERATION_START_5_DIGIT_2 +# undef BOOST_PP_ITERATION_START_5_DIGIT_3 +# undef BOOST_PP_ITERATION_START_5_DIGIT_4 +# undef BOOST_PP_ITERATION_START_5_DIGIT_5 +# undef BOOST_PP_ITERATION_START_5_DIGIT_6 +# undef BOOST_PP_ITERATION_START_5_DIGIT_7 +# undef BOOST_PP_ITERATION_START_5_DIGIT_8 +# undef BOOST_PP_ITERATION_START_5_DIGIT_9 +# undef BOOST_PP_ITERATION_START_5_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_START_5_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_START_5_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_START_5_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_START_5_DIGIT_3 +# define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_START_5_DIGIT_3, BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1) +# elif BOOST_PP_ITERATION_START_5_DIGIT_2 +# define BOOST_PP_ITERATION_START_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_START_5_DIGIT_2, BOOST_PP_ITERATION_START_5_DIGIT_1) +# else +# define BOOST_PP_ITERATION_START_5 BOOST_PP_ITERATION_START_5_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp new file mode 100644 index 0000000..db0732d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_FINISH_1 +# +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_1 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_2 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_3 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_4 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_5 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_6 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_7 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_8 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_9 +# undef BOOST_PP_ITERATION_FINISH_1_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_FINISH_1_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_FINISH_1_DIGIT_3 +# define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_1_DIGIT_3, BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1) +# elif BOOST_PP_ITERATION_FINISH_1_DIGIT_2 +# define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_1_DIGIT_2, BOOST_PP_ITERATION_FINISH_1_DIGIT_1) +# else +# define BOOST_PP_ITERATION_FINISH_1 BOOST_PP_ITERATION_FINISH_1_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp new file mode 100644 index 0000000..fd053c0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper2.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_FINISH_2 +# +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_1 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_2 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_3 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_4 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_5 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_6 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_7 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_8 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_9 +# undef BOOST_PP_ITERATION_FINISH_2_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_FINISH_2_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_FINISH_2_DIGIT_3 +# define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_2_DIGIT_3, BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1) +# elif BOOST_PP_ITERATION_FINISH_2_DIGIT_2 +# define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_2_DIGIT_2, BOOST_PP_ITERATION_FINISH_2_DIGIT_1) +# else +# define BOOST_PP_ITERATION_FINISH_2 BOOST_PP_ITERATION_FINISH_2_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp new file mode 100644 index 0000000..f6838f0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper3.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_FINISH_3 +# +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_1 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_2 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_3 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_4 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_5 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_6 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_7 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_8 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_9 +# undef BOOST_PP_ITERATION_FINISH_3_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_FINISH_3_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_FINISH_3_DIGIT_3 +# define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_3_DIGIT_3, BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1) +# elif BOOST_PP_ITERATION_FINISH_3_DIGIT_2 +# define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_3_DIGIT_2, BOOST_PP_ITERATION_FINISH_3_DIGIT_1) +# else +# define BOOST_PP_ITERATION_FINISH_3 BOOST_PP_ITERATION_FINISH_3_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp new file mode 100644 index 0000000..9049732 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper4.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_FINISH_4 +# +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_1 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_2 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_3 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_4 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_5 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_6 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_7 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_8 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_9 +# undef BOOST_PP_ITERATION_FINISH_4_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_FINISH_4_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_FINISH_4_DIGIT_3 +# define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_4_DIGIT_3, BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1) +# elif BOOST_PP_ITERATION_FINISH_4_DIGIT_2 +# define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_4_DIGIT_2, BOOST_PP_ITERATION_FINISH_4_DIGIT_1) +# else +# define BOOST_PP_ITERATION_FINISH_4 BOOST_PP_ITERATION_FINISH_4_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp new file mode 100644 index 0000000..3fddffd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/bounds/upper5.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_ITERATION_FINISH_5 +# +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_1 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_2 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_3 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_4 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_5 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_6 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_7 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_8 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_9 +# undef BOOST_PP_ITERATION_FINISH_5_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_ITERATION_FINISH_5_DIGIT_1 9 +# endif +# +# if BOOST_PP_ITERATION_FINISH_5_DIGIT_3 +# define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_3(BOOST_PP_ITERATION_FINISH_5_DIGIT_3, BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1) +# elif BOOST_PP_ITERATION_FINISH_5_DIGIT_2 +# define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_SLOT_CC_2(BOOST_PP_ITERATION_FINISH_5_DIGIT_2, BOOST_PP_ITERATION_FINISH_5_DIGIT_1) +# else +# define BOOST_PP_ITERATION_FINISH_5 BOOST_PP_ITERATION_FINISH_5_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/finish.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/finish.hpp new file mode 100644 index 0000000..7fbd1ff --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/finish.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_LOCAL_FE +# +# undef BOOST_PP_LOCAL_FE_DIGIT_1 +# undef BOOST_PP_LOCAL_FE_DIGIT_2 +# undef BOOST_PP_LOCAL_FE_DIGIT_3 +# undef BOOST_PP_LOCAL_FE_DIGIT_4 +# undef BOOST_PP_LOCAL_FE_DIGIT_5 +# undef BOOST_PP_LOCAL_FE_DIGIT_6 +# undef BOOST_PP_LOCAL_FE_DIGIT_7 +# undef BOOST_PP_LOCAL_FE_DIGIT_8 +# undef BOOST_PP_LOCAL_FE_DIGIT_9 +# undef BOOST_PP_LOCAL_FE_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_LOCAL_FE_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_LOCAL_FE_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_LOCAL_FE_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_LOCAL_FE_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_LOCAL_FE_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_LOCAL_FE_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_LOCAL_FE_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_LOCAL_FE_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_LOCAL_FE_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_LOCAL_FE_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_LOCAL_FE_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_LOCAL_FE_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_LOCAL_FE_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_LOCAL_FE_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_LOCAL_FE_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_LOCAL_FE_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_LOCAL_FE_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_LOCAL_FE_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_LOCAL_FE_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_LOCAL_FE_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_LOCAL_FE_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_LOCAL_FE_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_LOCAL_FE_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_LOCAL_FE_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_LOCAL_FE_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_LOCAL_FE_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_LOCAL_FE_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_LOCAL_FE_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_LOCAL_FE_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_LOCAL_FE_DIGIT_1 9 +# endif +# +# if BOOST_PP_LOCAL_FE_DIGIT_3 +# define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_FE_DIGIT_3, BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1) +# elif BOOST_PP_LOCAL_FE_DIGIT_2 +# define BOOST_PP_LOCAL_FE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_FE_DIGIT_2, BOOST_PP_LOCAL_FE_DIGIT_1) +# else +# define BOOST_PP_LOCAL_FE() BOOST_PP_LOCAL_FE_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward1.hpp new file mode 100644 index 0000000..2d50054 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward1.hpp @@ -0,0 +1,1342 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if defined(BOOST_PP_ITERATION_LIMITS) +# if !defined(BOOST_PP_FILENAME_1) +# error BOOST_PP_ERROR: depth #1 filename is not defined +# endif +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_ITERATION_FLAGS_1 0 +# undef BOOST_PP_ITERATION_LIMITS +# elif defined(BOOST_PP_ITERATION_PARAMS_1) +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_1) +# include +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_1) +# include +# define BOOST_PP_FILENAME_1 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_1) +# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_1) >= 4 +# define BOOST_PP_ITERATION_FLAGS_1 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_1) +# else +# define BOOST_PP_ITERATION_FLAGS_1 0 +# endif +# else +# error BOOST_PP_ERROR: depth #1 iteration boundaries or filename not defined +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 1 +# +# define BOOST_PP_IS_ITERATING 1 +# +# if (BOOST_PP_ITERATION_START_1) > (BOOST_PP_ITERATION_FINISH_1) +# include +# else +# if BOOST_PP_ITERATION_START_1 <= 0 && BOOST_PP_ITERATION_FINISH_1 >= 0 +# define BOOST_PP_ITERATION_1 0 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 1 && BOOST_PP_ITERATION_FINISH_1 >= 1 +# define BOOST_PP_ITERATION_1 1 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 2 && BOOST_PP_ITERATION_FINISH_1 >= 2 +# define BOOST_PP_ITERATION_1 2 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 3 && BOOST_PP_ITERATION_FINISH_1 >= 3 +# define BOOST_PP_ITERATION_1 3 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 4 && BOOST_PP_ITERATION_FINISH_1 >= 4 +# define BOOST_PP_ITERATION_1 4 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 5 && BOOST_PP_ITERATION_FINISH_1 >= 5 +# define BOOST_PP_ITERATION_1 5 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 6 && BOOST_PP_ITERATION_FINISH_1 >= 6 +# define BOOST_PP_ITERATION_1 6 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 7 && BOOST_PP_ITERATION_FINISH_1 >= 7 +# define BOOST_PP_ITERATION_1 7 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 8 && BOOST_PP_ITERATION_FINISH_1 >= 8 +# define BOOST_PP_ITERATION_1 8 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 9 && BOOST_PP_ITERATION_FINISH_1 >= 9 +# define BOOST_PP_ITERATION_1 9 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 10 && BOOST_PP_ITERATION_FINISH_1 >= 10 +# define BOOST_PP_ITERATION_1 10 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 11 && BOOST_PP_ITERATION_FINISH_1 >= 11 +# define BOOST_PP_ITERATION_1 11 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 12 && BOOST_PP_ITERATION_FINISH_1 >= 12 +# define BOOST_PP_ITERATION_1 12 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 13 && BOOST_PP_ITERATION_FINISH_1 >= 13 +# define BOOST_PP_ITERATION_1 13 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 14 && BOOST_PP_ITERATION_FINISH_1 >= 14 +# define BOOST_PP_ITERATION_1 14 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 15 && BOOST_PP_ITERATION_FINISH_1 >= 15 +# define BOOST_PP_ITERATION_1 15 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 16 && BOOST_PP_ITERATION_FINISH_1 >= 16 +# define BOOST_PP_ITERATION_1 16 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 17 && BOOST_PP_ITERATION_FINISH_1 >= 17 +# define BOOST_PP_ITERATION_1 17 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 18 && BOOST_PP_ITERATION_FINISH_1 >= 18 +# define BOOST_PP_ITERATION_1 18 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 19 && BOOST_PP_ITERATION_FINISH_1 >= 19 +# define BOOST_PP_ITERATION_1 19 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 20 && BOOST_PP_ITERATION_FINISH_1 >= 20 +# define BOOST_PP_ITERATION_1 20 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 21 && BOOST_PP_ITERATION_FINISH_1 >= 21 +# define BOOST_PP_ITERATION_1 21 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 22 && BOOST_PP_ITERATION_FINISH_1 >= 22 +# define BOOST_PP_ITERATION_1 22 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 23 && BOOST_PP_ITERATION_FINISH_1 >= 23 +# define BOOST_PP_ITERATION_1 23 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 24 && BOOST_PP_ITERATION_FINISH_1 >= 24 +# define BOOST_PP_ITERATION_1 24 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 25 && BOOST_PP_ITERATION_FINISH_1 >= 25 +# define BOOST_PP_ITERATION_1 25 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 26 && BOOST_PP_ITERATION_FINISH_1 >= 26 +# define BOOST_PP_ITERATION_1 26 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 27 && BOOST_PP_ITERATION_FINISH_1 >= 27 +# define BOOST_PP_ITERATION_1 27 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 28 && BOOST_PP_ITERATION_FINISH_1 >= 28 +# define BOOST_PP_ITERATION_1 28 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 29 && BOOST_PP_ITERATION_FINISH_1 >= 29 +# define BOOST_PP_ITERATION_1 29 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 30 && BOOST_PP_ITERATION_FINISH_1 >= 30 +# define BOOST_PP_ITERATION_1 30 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 31 && BOOST_PP_ITERATION_FINISH_1 >= 31 +# define BOOST_PP_ITERATION_1 31 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 32 && BOOST_PP_ITERATION_FINISH_1 >= 32 +# define BOOST_PP_ITERATION_1 32 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 33 && BOOST_PP_ITERATION_FINISH_1 >= 33 +# define BOOST_PP_ITERATION_1 33 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 34 && BOOST_PP_ITERATION_FINISH_1 >= 34 +# define BOOST_PP_ITERATION_1 34 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 35 && BOOST_PP_ITERATION_FINISH_1 >= 35 +# define BOOST_PP_ITERATION_1 35 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 36 && BOOST_PP_ITERATION_FINISH_1 >= 36 +# define BOOST_PP_ITERATION_1 36 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 37 && BOOST_PP_ITERATION_FINISH_1 >= 37 +# define BOOST_PP_ITERATION_1 37 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 38 && BOOST_PP_ITERATION_FINISH_1 >= 38 +# define BOOST_PP_ITERATION_1 38 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 39 && BOOST_PP_ITERATION_FINISH_1 >= 39 +# define BOOST_PP_ITERATION_1 39 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 40 && BOOST_PP_ITERATION_FINISH_1 >= 40 +# define BOOST_PP_ITERATION_1 40 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 41 && BOOST_PP_ITERATION_FINISH_1 >= 41 +# define BOOST_PP_ITERATION_1 41 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 42 && BOOST_PP_ITERATION_FINISH_1 >= 42 +# define BOOST_PP_ITERATION_1 42 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 43 && BOOST_PP_ITERATION_FINISH_1 >= 43 +# define BOOST_PP_ITERATION_1 43 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 44 && BOOST_PP_ITERATION_FINISH_1 >= 44 +# define BOOST_PP_ITERATION_1 44 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 45 && BOOST_PP_ITERATION_FINISH_1 >= 45 +# define BOOST_PP_ITERATION_1 45 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 46 && BOOST_PP_ITERATION_FINISH_1 >= 46 +# define BOOST_PP_ITERATION_1 46 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 47 && BOOST_PP_ITERATION_FINISH_1 >= 47 +# define BOOST_PP_ITERATION_1 47 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 48 && BOOST_PP_ITERATION_FINISH_1 >= 48 +# define BOOST_PP_ITERATION_1 48 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 49 && BOOST_PP_ITERATION_FINISH_1 >= 49 +# define BOOST_PP_ITERATION_1 49 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 50 && BOOST_PP_ITERATION_FINISH_1 >= 50 +# define BOOST_PP_ITERATION_1 50 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 51 && BOOST_PP_ITERATION_FINISH_1 >= 51 +# define BOOST_PP_ITERATION_1 51 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 52 && BOOST_PP_ITERATION_FINISH_1 >= 52 +# define BOOST_PP_ITERATION_1 52 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 53 && BOOST_PP_ITERATION_FINISH_1 >= 53 +# define BOOST_PP_ITERATION_1 53 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 54 && BOOST_PP_ITERATION_FINISH_1 >= 54 +# define BOOST_PP_ITERATION_1 54 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 55 && BOOST_PP_ITERATION_FINISH_1 >= 55 +# define BOOST_PP_ITERATION_1 55 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 56 && BOOST_PP_ITERATION_FINISH_1 >= 56 +# define BOOST_PP_ITERATION_1 56 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 57 && BOOST_PP_ITERATION_FINISH_1 >= 57 +# define BOOST_PP_ITERATION_1 57 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 58 && BOOST_PP_ITERATION_FINISH_1 >= 58 +# define BOOST_PP_ITERATION_1 58 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 59 && BOOST_PP_ITERATION_FINISH_1 >= 59 +# define BOOST_PP_ITERATION_1 59 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 60 && BOOST_PP_ITERATION_FINISH_1 >= 60 +# define BOOST_PP_ITERATION_1 60 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 61 && BOOST_PP_ITERATION_FINISH_1 >= 61 +# define BOOST_PP_ITERATION_1 61 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 62 && BOOST_PP_ITERATION_FINISH_1 >= 62 +# define BOOST_PP_ITERATION_1 62 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 63 && BOOST_PP_ITERATION_FINISH_1 >= 63 +# define BOOST_PP_ITERATION_1 63 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 64 && BOOST_PP_ITERATION_FINISH_1 >= 64 +# define BOOST_PP_ITERATION_1 64 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 65 && BOOST_PP_ITERATION_FINISH_1 >= 65 +# define BOOST_PP_ITERATION_1 65 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 66 && BOOST_PP_ITERATION_FINISH_1 >= 66 +# define BOOST_PP_ITERATION_1 66 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 67 && BOOST_PP_ITERATION_FINISH_1 >= 67 +# define BOOST_PP_ITERATION_1 67 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 68 && BOOST_PP_ITERATION_FINISH_1 >= 68 +# define BOOST_PP_ITERATION_1 68 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 69 && BOOST_PP_ITERATION_FINISH_1 >= 69 +# define BOOST_PP_ITERATION_1 69 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 70 && BOOST_PP_ITERATION_FINISH_1 >= 70 +# define BOOST_PP_ITERATION_1 70 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 71 && BOOST_PP_ITERATION_FINISH_1 >= 71 +# define BOOST_PP_ITERATION_1 71 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 72 && BOOST_PP_ITERATION_FINISH_1 >= 72 +# define BOOST_PP_ITERATION_1 72 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 73 && BOOST_PP_ITERATION_FINISH_1 >= 73 +# define BOOST_PP_ITERATION_1 73 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 74 && BOOST_PP_ITERATION_FINISH_1 >= 74 +# define BOOST_PP_ITERATION_1 74 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 75 && BOOST_PP_ITERATION_FINISH_1 >= 75 +# define BOOST_PP_ITERATION_1 75 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 76 && BOOST_PP_ITERATION_FINISH_1 >= 76 +# define BOOST_PP_ITERATION_1 76 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 77 && BOOST_PP_ITERATION_FINISH_1 >= 77 +# define BOOST_PP_ITERATION_1 77 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 78 && BOOST_PP_ITERATION_FINISH_1 >= 78 +# define BOOST_PP_ITERATION_1 78 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 79 && BOOST_PP_ITERATION_FINISH_1 >= 79 +# define BOOST_PP_ITERATION_1 79 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 80 && BOOST_PP_ITERATION_FINISH_1 >= 80 +# define BOOST_PP_ITERATION_1 80 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 81 && BOOST_PP_ITERATION_FINISH_1 >= 81 +# define BOOST_PP_ITERATION_1 81 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 82 && BOOST_PP_ITERATION_FINISH_1 >= 82 +# define BOOST_PP_ITERATION_1 82 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 83 && BOOST_PP_ITERATION_FINISH_1 >= 83 +# define BOOST_PP_ITERATION_1 83 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 84 && BOOST_PP_ITERATION_FINISH_1 >= 84 +# define BOOST_PP_ITERATION_1 84 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 85 && BOOST_PP_ITERATION_FINISH_1 >= 85 +# define BOOST_PP_ITERATION_1 85 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 86 && BOOST_PP_ITERATION_FINISH_1 >= 86 +# define BOOST_PP_ITERATION_1 86 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 87 && BOOST_PP_ITERATION_FINISH_1 >= 87 +# define BOOST_PP_ITERATION_1 87 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 88 && BOOST_PP_ITERATION_FINISH_1 >= 88 +# define BOOST_PP_ITERATION_1 88 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 89 && BOOST_PP_ITERATION_FINISH_1 >= 89 +# define BOOST_PP_ITERATION_1 89 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 90 && BOOST_PP_ITERATION_FINISH_1 >= 90 +# define BOOST_PP_ITERATION_1 90 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 91 && BOOST_PP_ITERATION_FINISH_1 >= 91 +# define BOOST_PP_ITERATION_1 91 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 92 && BOOST_PP_ITERATION_FINISH_1 >= 92 +# define BOOST_PP_ITERATION_1 92 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 93 && BOOST_PP_ITERATION_FINISH_1 >= 93 +# define BOOST_PP_ITERATION_1 93 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 94 && BOOST_PP_ITERATION_FINISH_1 >= 94 +# define BOOST_PP_ITERATION_1 94 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 95 && BOOST_PP_ITERATION_FINISH_1 >= 95 +# define BOOST_PP_ITERATION_1 95 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 96 && BOOST_PP_ITERATION_FINISH_1 >= 96 +# define BOOST_PP_ITERATION_1 96 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 97 && BOOST_PP_ITERATION_FINISH_1 >= 97 +# define BOOST_PP_ITERATION_1 97 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 98 && BOOST_PP_ITERATION_FINISH_1 >= 98 +# define BOOST_PP_ITERATION_1 98 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 99 && BOOST_PP_ITERATION_FINISH_1 >= 99 +# define BOOST_PP_ITERATION_1 99 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 100 && BOOST_PP_ITERATION_FINISH_1 >= 100 +# define BOOST_PP_ITERATION_1 100 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 101 && BOOST_PP_ITERATION_FINISH_1 >= 101 +# define BOOST_PP_ITERATION_1 101 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 102 && BOOST_PP_ITERATION_FINISH_1 >= 102 +# define BOOST_PP_ITERATION_1 102 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 103 && BOOST_PP_ITERATION_FINISH_1 >= 103 +# define BOOST_PP_ITERATION_1 103 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 104 && BOOST_PP_ITERATION_FINISH_1 >= 104 +# define BOOST_PP_ITERATION_1 104 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 105 && BOOST_PP_ITERATION_FINISH_1 >= 105 +# define BOOST_PP_ITERATION_1 105 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 106 && BOOST_PP_ITERATION_FINISH_1 >= 106 +# define BOOST_PP_ITERATION_1 106 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 107 && BOOST_PP_ITERATION_FINISH_1 >= 107 +# define BOOST_PP_ITERATION_1 107 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 108 && BOOST_PP_ITERATION_FINISH_1 >= 108 +# define BOOST_PP_ITERATION_1 108 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 109 && BOOST_PP_ITERATION_FINISH_1 >= 109 +# define BOOST_PP_ITERATION_1 109 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 110 && BOOST_PP_ITERATION_FINISH_1 >= 110 +# define BOOST_PP_ITERATION_1 110 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 111 && BOOST_PP_ITERATION_FINISH_1 >= 111 +# define BOOST_PP_ITERATION_1 111 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 112 && BOOST_PP_ITERATION_FINISH_1 >= 112 +# define BOOST_PP_ITERATION_1 112 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 113 && BOOST_PP_ITERATION_FINISH_1 >= 113 +# define BOOST_PP_ITERATION_1 113 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 114 && BOOST_PP_ITERATION_FINISH_1 >= 114 +# define BOOST_PP_ITERATION_1 114 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 115 && BOOST_PP_ITERATION_FINISH_1 >= 115 +# define BOOST_PP_ITERATION_1 115 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 116 && BOOST_PP_ITERATION_FINISH_1 >= 116 +# define BOOST_PP_ITERATION_1 116 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 117 && BOOST_PP_ITERATION_FINISH_1 >= 117 +# define BOOST_PP_ITERATION_1 117 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 118 && BOOST_PP_ITERATION_FINISH_1 >= 118 +# define BOOST_PP_ITERATION_1 118 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 119 && BOOST_PP_ITERATION_FINISH_1 >= 119 +# define BOOST_PP_ITERATION_1 119 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 120 && BOOST_PP_ITERATION_FINISH_1 >= 120 +# define BOOST_PP_ITERATION_1 120 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 121 && BOOST_PP_ITERATION_FINISH_1 >= 121 +# define BOOST_PP_ITERATION_1 121 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 122 && BOOST_PP_ITERATION_FINISH_1 >= 122 +# define BOOST_PP_ITERATION_1 122 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 123 && BOOST_PP_ITERATION_FINISH_1 >= 123 +# define BOOST_PP_ITERATION_1 123 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 124 && BOOST_PP_ITERATION_FINISH_1 >= 124 +# define BOOST_PP_ITERATION_1 124 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 125 && BOOST_PP_ITERATION_FINISH_1 >= 125 +# define BOOST_PP_ITERATION_1 125 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 126 && BOOST_PP_ITERATION_FINISH_1 >= 126 +# define BOOST_PP_ITERATION_1 126 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 127 && BOOST_PP_ITERATION_FINISH_1 >= 127 +# define BOOST_PP_ITERATION_1 127 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 128 && BOOST_PP_ITERATION_FINISH_1 >= 128 +# define BOOST_PP_ITERATION_1 128 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 129 && BOOST_PP_ITERATION_FINISH_1 >= 129 +# define BOOST_PP_ITERATION_1 129 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 130 && BOOST_PP_ITERATION_FINISH_1 >= 130 +# define BOOST_PP_ITERATION_1 130 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 131 && BOOST_PP_ITERATION_FINISH_1 >= 131 +# define BOOST_PP_ITERATION_1 131 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 132 && BOOST_PP_ITERATION_FINISH_1 >= 132 +# define BOOST_PP_ITERATION_1 132 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 133 && BOOST_PP_ITERATION_FINISH_1 >= 133 +# define BOOST_PP_ITERATION_1 133 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 134 && BOOST_PP_ITERATION_FINISH_1 >= 134 +# define BOOST_PP_ITERATION_1 134 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 135 && BOOST_PP_ITERATION_FINISH_1 >= 135 +# define BOOST_PP_ITERATION_1 135 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 136 && BOOST_PP_ITERATION_FINISH_1 >= 136 +# define BOOST_PP_ITERATION_1 136 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 137 && BOOST_PP_ITERATION_FINISH_1 >= 137 +# define BOOST_PP_ITERATION_1 137 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 138 && BOOST_PP_ITERATION_FINISH_1 >= 138 +# define BOOST_PP_ITERATION_1 138 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 139 && BOOST_PP_ITERATION_FINISH_1 >= 139 +# define BOOST_PP_ITERATION_1 139 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 140 && BOOST_PP_ITERATION_FINISH_1 >= 140 +# define BOOST_PP_ITERATION_1 140 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 141 && BOOST_PP_ITERATION_FINISH_1 >= 141 +# define BOOST_PP_ITERATION_1 141 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 142 && BOOST_PP_ITERATION_FINISH_1 >= 142 +# define BOOST_PP_ITERATION_1 142 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 143 && BOOST_PP_ITERATION_FINISH_1 >= 143 +# define BOOST_PP_ITERATION_1 143 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 144 && BOOST_PP_ITERATION_FINISH_1 >= 144 +# define BOOST_PP_ITERATION_1 144 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 145 && BOOST_PP_ITERATION_FINISH_1 >= 145 +# define BOOST_PP_ITERATION_1 145 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 146 && BOOST_PP_ITERATION_FINISH_1 >= 146 +# define BOOST_PP_ITERATION_1 146 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 147 && BOOST_PP_ITERATION_FINISH_1 >= 147 +# define BOOST_PP_ITERATION_1 147 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 148 && BOOST_PP_ITERATION_FINISH_1 >= 148 +# define BOOST_PP_ITERATION_1 148 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 149 && BOOST_PP_ITERATION_FINISH_1 >= 149 +# define BOOST_PP_ITERATION_1 149 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 150 && BOOST_PP_ITERATION_FINISH_1 >= 150 +# define BOOST_PP_ITERATION_1 150 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 151 && BOOST_PP_ITERATION_FINISH_1 >= 151 +# define BOOST_PP_ITERATION_1 151 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 152 && BOOST_PP_ITERATION_FINISH_1 >= 152 +# define BOOST_PP_ITERATION_1 152 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 153 && BOOST_PP_ITERATION_FINISH_1 >= 153 +# define BOOST_PP_ITERATION_1 153 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 154 && BOOST_PP_ITERATION_FINISH_1 >= 154 +# define BOOST_PP_ITERATION_1 154 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 155 && BOOST_PP_ITERATION_FINISH_1 >= 155 +# define BOOST_PP_ITERATION_1 155 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 156 && BOOST_PP_ITERATION_FINISH_1 >= 156 +# define BOOST_PP_ITERATION_1 156 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 157 && BOOST_PP_ITERATION_FINISH_1 >= 157 +# define BOOST_PP_ITERATION_1 157 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 158 && BOOST_PP_ITERATION_FINISH_1 >= 158 +# define BOOST_PP_ITERATION_1 158 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 159 && BOOST_PP_ITERATION_FINISH_1 >= 159 +# define BOOST_PP_ITERATION_1 159 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 160 && BOOST_PP_ITERATION_FINISH_1 >= 160 +# define BOOST_PP_ITERATION_1 160 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 161 && BOOST_PP_ITERATION_FINISH_1 >= 161 +# define BOOST_PP_ITERATION_1 161 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 162 && BOOST_PP_ITERATION_FINISH_1 >= 162 +# define BOOST_PP_ITERATION_1 162 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 163 && BOOST_PP_ITERATION_FINISH_1 >= 163 +# define BOOST_PP_ITERATION_1 163 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 164 && BOOST_PP_ITERATION_FINISH_1 >= 164 +# define BOOST_PP_ITERATION_1 164 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 165 && BOOST_PP_ITERATION_FINISH_1 >= 165 +# define BOOST_PP_ITERATION_1 165 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 166 && BOOST_PP_ITERATION_FINISH_1 >= 166 +# define BOOST_PP_ITERATION_1 166 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 167 && BOOST_PP_ITERATION_FINISH_1 >= 167 +# define BOOST_PP_ITERATION_1 167 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 168 && BOOST_PP_ITERATION_FINISH_1 >= 168 +# define BOOST_PP_ITERATION_1 168 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 169 && BOOST_PP_ITERATION_FINISH_1 >= 169 +# define BOOST_PP_ITERATION_1 169 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 170 && BOOST_PP_ITERATION_FINISH_1 >= 170 +# define BOOST_PP_ITERATION_1 170 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 171 && BOOST_PP_ITERATION_FINISH_1 >= 171 +# define BOOST_PP_ITERATION_1 171 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 172 && BOOST_PP_ITERATION_FINISH_1 >= 172 +# define BOOST_PP_ITERATION_1 172 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 173 && BOOST_PP_ITERATION_FINISH_1 >= 173 +# define BOOST_PP_ITERATION_1 173 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 174 && BOOST_PP_ITERATION_FINISH_1 >= 174 +# define BOOST_PP_ITERATION_1 174 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 175 && BOOST_PP_ITERATION_FINISH_1 >= 175 +# define BOOST_PP_ITERATION_1 175 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 176 && BOOST_PP_ITERATION_FINISH_1 >= 176 +# define BOOST_PP_ITERATION_1 176 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 177 && BOOST_PP_ITERATION_FINISH_1 >= 177 +# define BOOST_PP_ITERATION_1 177 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 178 && BOOST_PP_ITERATION_FINISH_1 >= 178 +# define BOOST_PP_ITERATION_1 178 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 179 && BOOST_PP_ITERATION_FINISH_1 >= 179 +# define BOOST_PP_ITERATION_1 179 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 180 && BOOST_PP_ITERATION_FINISH_1 >= 180 +# define BOOST_PP_ITERATION_1 180 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 181 && BOOST_PP_ITERATION_FINISH_1 >= 181 +# define BOOST_PP_ITERATION_1 181 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 182 && BOOST_PP_ITERATION_FINISH_1 >= 182 +# define BOOST_PP_ITERATION_1 182 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 183 && BOOST_PP_ITERATION_FINISH_1 >= 183 +# define BOOST_PP_ITERATION_1 183 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 184 && BOOST_PP_ITERATION_FINISH_1 >= 184 +# define BOOST_PP_ITERATION_1 184 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 185 && BOOST_PP_ITERATION_FINISH_1 >= 185 +# define BOOST_PP_ITERATION_1 185 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 186 && BOOST_PP_ITERATION_FINISH_1 >= 186 +# define BOOST_PP_ITERATION_1 186 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 187 && BOOST_PP_ITERATION_FINISH_1 >= 187 +# define BOOST_PP_ITERATION_1 187 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 188 && BOOST_PP_ITERATION_FINISH_1 >= 188 +# define BOOST_PP_ITERATION_1 188 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 189 && BOOST_PP_ITERATION_FINISH_1 >= 189 +# define BOOST_PP_ITERATION_1 189 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 190 && BOOST_PP_ITERATION_FINISH_1 >= 190 +# define BOOST_PP_ITERATION_1 190 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 191 && BOOST_PP_ITERATION_FINISH_1 >= 191 +# define BOOST_PP_ITERATION_1 191 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 192 && BOOST_PP_ITERATION_FINISH_1 >= 192 +# define BOOST_PP_ITERATION_1 192 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 193 && BOOST_PP_ITERATION_FINISH_1 >= 193 +# define BOOST_PP_ITERATION_1 193 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 194 && BOOST_PP_ITERATION_FINISH_1 >= 194 +# define BOOST_PP_ITERATION_1 194 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 195 && BOOST_PP_ITERATION_FINISH_1 >= 195 +# define BOOST_PP_ITERATION_1 195 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 196 && BOOST_PP_ITERATION_FINISH_1 >= 196 +# define BOOST_PP_ITERATION_1 196 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 197 && BOOST_PP_ITERATION_FINISH_1 >= 197 +# define BOOST_PP_ITERATION_1 197 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 198 && BOOST_PP_ITERATION_FINISH_1 >= 198 +# define BOOST_PP_ITERATION_1 198 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 199 && BOOST_PP_ITERATION_FINISH_1 >= 199 +# define BOOST_PP_ITERATION_1 199 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 200 && BOOST_PP_ITERATION_FINISH_1 >= 200 +# define BOOST_PP_ITERATION_1 200 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 201 && BOOST_PP_ITERATION_FINISH_1 >= 201 +# define BOOST_PP_ITERATION_1 201 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 202 && BOOST_PP_ITERATION_FINISH_1 >= 202 +# define BOOST_PP_ITERATION_1 202 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 203 && BOOST_PP_ITERATION_FINISH_1 >= 203 +# define BOOST_PP_ITERATION_1 203 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 204 && BOOST_PP_ITERATION_FINISH_1 >= 204 +# define BOOST_PP_ITERATION_1 204 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 205 && BOOST_PP_ITERATION_FINISH_1 >= 205 +# define BOOST_PP_ITERATION_1 205 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 206 && BOOST_PP_ITERATION_FINISH_1 >= 206 +# define BOOST_PP_ITERATION_1 206 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 207 && BOOST_PP_ITERATION_FINISH_1 >= 207 +# define BOOST_PP_ITERATION_1 207 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 208 && BOOST_PP_ITERATION_FINISH_1 >= 208 +# define BOOST_PP_ITERATION_1 208 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 209 && BOOST_PP_ITERATION_FINISH_1 >= 209 +# define BOOST_PP_ITERATION_1 209 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 210 && BOOST_PP_ITERATION_FINISH_1 >= 210 +# define BOOST_PP_ITERATION_1 210 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 211 && BOOST_PP_ITERATION_FINISH_1 >= 211 +# define BOOST_PP_ITERATION_1 211 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 212 && BOOST_PP_ITERATION_FINISH_1 >= 212 +# define BOOST_PP_ITERATION_1 212 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 213 && BOOST_PP_ITERATION_FINISH_1 >= 213 +# define BOOST_PP_ITERATION_1 213 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 214 && BOOST_PP_ITERATION_FINISH_1 >= 214 +# define BOOST_PP_ITERATION_1 214 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 215 && BOOST_PP_ITERATION_FINISH_1 >= 215 +# define BOOST_PP_ITERATION_1 215 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 216 && BOOST_PP_ITERATION_FINISH_1 >= 216 +# define BOOST_PP_ITERATION_1 216 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 217 && BOOST_PP_ITERATION_FINISH_1 >= 217 +# define BOOST_PP_ITERATION_1 217 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 218 && BOOST_PP_ITERATION_FINISH_1 >= 218 +# define BOOST_PP_ITERATION_1 218 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 219 && BOOST_PP_ITERATION_FINISH_1 >= 219 +# define BOOST_PP_ITERATION_1 219 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 220 && BOOST_PP_ITERATION_FINISH_1 >= 220 +# define BOOST_PP_ITERATION_1 220 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 221 && BOOST_PP_ITERATION_FINISH_1 >= 221 +# define BOOST_PP_ITERATION_1 221 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 222 && BOOST_PP_ITERATION_FINISH_1 >= 222 +# define BOOST_PP_ITERATION_1 222 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 223 && BOOST_PP_ITERATION_FINISH_1 >= 223 +# define BOOST_PP_ITERATION_1 223 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 224 && BOOST_PP_ITERATION_FINISH_1 >= 224 +# define BOOST_PP_ITERATION_1 224 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 225 && BOOST_PP_ITERATION_FINISH_1 >= 225 +# define BOOST_PP_ITERATION_1 225 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 226 && BOOST_PP_ITERATION_FINISH_1 >= 226 +# define BOOST_PP_ITERATION_1 226 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 227 && BOOST_PP_ITERATION_FINISH_1 >= 227 +# define BOOST_PP_ITERATION_1 227 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 228 && BOOST_PP_ITERATION_FINISH_1 >= 228 +# define BOOST_PP_ITERATION_1 228 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 229 && BOOST_PP_ITERATION_FINISH_1 >= 229 +# define BOOST_PP_ITERATION_1 229 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 230 && BOOST_PP_ITERATION_FINISH_1 >= 230 +# define BOOST_PP_ITERATION_1 230 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 231 && BOOST_PP_ITERATION_FINISH_1 >= 231 +# define BOOST_PP_ITERATION_1 231 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 232 && BOOST_PP_ITERATION_FINISH_1 >= 232 +# define BOOST_PP_ITERATION_1 232 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 233 && BOOST_PP_ITERATION_FINISH_1 >= 233 +# define BOOST_PP_ITERATION_1 233 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 234 && BOOST_PP_ITERATION_FINISH_1 >= 234 +# define BOOST_PP_ITERATION_1 234 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 235 && BOOST_PP_ITERATION_FINISH_1 >= 235 +# define BOOST_PP_ITERATION_1 235 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 236 && BOOST_PP_ITERATION_FINISH_1 >= 236 +# define BOOST_PP_ITERATION_1 236 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 237 && BOOST_PP_ITERATION_FINISH_1 >= 237 +# define BOOST_PP_ITERATION_1 237 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 238 && BOOST_PP_ITERATION_FINISH_1 >= 238 +# define BOOST_PP_ITERATION_1 238 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 239 && BOOST_PP_ITERATION_FINISH_1 >= 239 +# define BOOST_PP_ITERATION_1 239 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 240 && BOOST_PP_ITERATION_FINISH_1 >= 240 +# define BOOST_PP_ITERATION_1 240 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 241 && BOOST_PP_ITERATION_FINISH_1 >= 241 +# define BOOST_PP_ITERATION_1 241 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 242 && BOOST_PP_ITERATION_FINISH_1 >= 242 +# define BOOST_PP_ITERATION_1 242 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 243 && BOOST_PP_ITERATION_FINISH_1 >= 243 +# define BOOST_PP_ITERATION_1 243 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 244 && BOOST_PP_ITERATION_FINISH_1 >= 244 +# define BOOST_PP_ITERATION_1 244 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 245 && BOOST_PP_ITERATION_FINISH_1 >= 245 +# define BOOST_PP_ITERATION_1 245 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 246 && BOOST_PP_ITERATION_FINISH_1 >= 246 +# define BOOST_PP_ITERATION_1 246 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 247 && BOOST_PP_ITERATION_FINISH_1 >= 247 +# define BOOST_PP_ITERATION_1 247 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 248 && BOOST_PP_ITERATION_FINISH_1 >= 248 +# define BOOST_PP_ITERATION_1 248 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 249 && BOOST_PP_ITERATION_FINISH_1 >= 249 +# define BOOST_PP_ITERATION_1 249 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 250 && BOOST_PP_ITERATION_FINISH_1 >= 250 +# define BOOST_PP_ITERATION_1 250 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 251 && BOOST_PP_ITERATION_FINISH_1 >= 251 +# define BOOST_PP_ITERATION_1 251 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 252 && BOOST_PP_ITERATION_FINISH_1 >= 252 +# define BOOST_PP_ITERATION_1 252 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 253 && BOOST_PP_ITERATION_FINISH_1 >= 253 +# define BOOST_PP_ITERATION_1 253 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 254 && BOOST_PP_ITERATION_FINISH_1 >= 254 +# define BOOST_PP_ITERATION_1 254 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 255 && BOOST_PP_ITERATION_FINISH_1 >= 255 +# define BOOST_PP_ITERATION_1 255 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_START_1 <= 256 && BOOST_PP_ITERATION_FINISH_1 >= 256 +# define BOOST_PP_ITERATION_1 256 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# endif +# +# undef BOOST_PP_IS_ITERATING +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 0 +# +# undef BOOST_PP_ITERATION_START_1 +# undef BOOST_PP_ITERATION_FINISH_1 +# undef BOOST_PP_FILENAME_1 +# +# undef BOOST_PP_ITERATION_FLAGS_1 +# undef BOOST_PP_ITERATION_PARAMS_1 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward2.hpp new file mode 100644 index 0000000..33e2dda --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward2.hpp @@ -0,0 +1,1338 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if defined(BOOST_PP_ITERATION_LIMITS) +# if !defined(BOOST_PP_FILENAME_2) +# error BOOST_PP_ERROR: depth #2 filename is not defined +# endif +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_ITERATION_FLAGS_2 0 +# undef BOOST_PP_ITERATION_LIMITS +# elif defined(BOOST_PP_ITERATION_PARAMS_2) +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_2) +# include +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_2) +# include +# define BOOST_PP_FILENAME_2 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_2) +# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_2) >= 4 +# define BOOST_PP_ITERATION_FLAGS_2 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_2) +# else +# define BOOST_PP_ITERATION_FLAGS_2 0 +# endif +# else +# error BOOST_PP_ERROR: depth #2 iteration boundaries or filename not defined +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 2 +# +# if (BOOST_PP_ITERATION_START_2) > (BOOST_PP_ITERATION_FINISH_2) +# include +# else +# if BOOST_PP_ITERATION_START_2 <= 0 && BOOST_PP_ITERATION_FINISH_2 >= 0 +# define BOOST_PP_ITERATION_2 0 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 1 && BOOST_PP_ITERATION_FINISH_2 >= 1 +# define BOOST_PP_ITERATION_2 1 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 2 && BOOST_PP_ITERATION_FINISH_2 >= 2 +# define BOOST_PP_ITERATION_2 2 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 3 && BOOST_PP_ITERATION_FINISH_2 >= 3 +# define BOOST_PP_ITERATION_2 3 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 4 && BOOST_PP_ITERATION_FINISH_2 >= 4 +# define BOOST_PP_ITERATION_2 4 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 5 && BOOST_PP_ITERATION_FINISH_2 >= 5 +# define BOOST_PP_ITERATION_2 5 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 6 && BOOST_PP_ITERATION_FINISH_2 >= 6 +# define BOOST_PP_ITERATION_2 6 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 7 && BOOST_PP_ITERATION_FINISH_2 >= 7 +# define BOOST_PP_ITERATION_2 7 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 8 && BOOST_PP_ITERATION_FINISH_2 >= 8 +# define BOOST_PP_ITERATION_2 8 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 9 && BOOST_PP_ITERATION_FINISH_2 >= 9 +# define BOOST_PP_ITERATION_2 9 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 10 && BOOST_PP_ITERATION_FINISH_2 >= 10 +# define BOOST_PP_ITERATION_2 10 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 11 && BOOST_PP_ITERATION_FINISH_2 >= 11 +# define BOOST_PP_ITERATION_2 11 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 12 && BOOST_PP_ITERATION_FINISH_2 >= 12 +# define BOOST_PP_ITERATION_2 12 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 13 && BOOST_PP_ITERATION_FINISH_2 >= 13 +# define BOOST_PP_ITERATION_2 13 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 14 && BOOST_PP_ITERATION_FINISH_2 >= 14 +# define BOOST_PP_ITERATION_2 14 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 15 && BOOST_PP_ITERATION_FINISH_2 >= 15 +# define BOOST_PP_ITERATION_2 15 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 16 && BOOST_PP_ITERATION_FINISH_2 >= 16 +# define BOOST_PP_ITERATION_2 16 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 17 && BOOST_PP_ITERATION_FINISH_2 >= 17 +# define BOOST_PP_ITERATION_2 17 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 18 && BOOST_PP_ITERATION_FINISH_2 >= 18 +# define BOOST_PP_ITERATION_2 18 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 19 && BOOST_PP_ITERATION_FINISH_2 >= 19 +# define BOOST_PP_ITERATION_2 19 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 20 && BOOST_PP_ITERATION_FINISH_2 >= 20 +# define BOOST_PP_ITERATION_2 20 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 21 && BOOST_PP_ITERATION_FINISH_2 >= 21 +# define BOOST_PP_ITERATION_2 21 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 22 && BOOST_PP_ITERATION_FINISH_2 >= 22 +# define BOOST_PP_ITERATION_2 22 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 23 && BOOST_PP_ITERATION_FINISH_2 >= 23 +# define BOOST_PP_ITERATION_2 23 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 24 && BOOST_PP_ITERATION_FINISH_2 >= 24 +# define BOOST_PP_ITERATION_2 24 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 25 && BOOST_PP_ITERATION_FINISH_2 >= 25 +# define BOOST_PP_ITERATION_2 25 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 26 && BOOST_PP_ITERATION_FINISH_2 >= 26 +# define BOOST_PP_ITERATION_2 26 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 27 && BOOST_PP_ITERATION_FINISH_2 >= 27 +# define BOOST_PP_ITERATION_2 27 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 28 && BOOST_PP_ITERATION_FINISH_2 >= 28 +# define BOOST_PP_ITERATION_2 28 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 29 && BOOST_PP_ITERATION_FINISH_2 >= 29 +# define BOOST_PP_ITERATION_2 29 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 30 && BOOST_PP_ITERATION_FINISH_2 >= 30 +# define BOOST_PP_ITERATION_2 30 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 31 && BOOST_PP_ITERATION_FINISH_2 >= 31 +# define BOOST_PP_ITERATION_2 31 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 32 && BOOST_PP_ITERATION_FINISH_2 >= 32 +# define BOOST_PP_ITERATION_2 32 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 33 && BOOST_PP_ITERATION_FINISH_2 >= 33 +# define BOOST_PP_ITERATION_2 33 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 34 && BOOST_PP_ITERATION_FINISH_2 >= 34 +# define BOOST_PP_ITERATION_2 34 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 35 && BOOST_PP_ITERATION_FINISH_2 >= 35 +# define BOOST_PP_ITERATION_2 35 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 36 && BOOST_PP_ITERATION_FINISH_2 >= 36 +# define BOOST_PP_ITERATION_2 36 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 37 && BOOST_PP_ITERATION_FINISH_2 >= 37 +# define BOOST_PP_ITERATION_2 37 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 38 && BOOST_PP_ITERATION_FINISH_2 >= 38 +# define BOOST_PP_ITERATION_2 38 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 39 && BOOST_PP_ITERATION_FINISH_2 >= 39 +# define BOOST_PP_ITERATION_2 39 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 40 && BOOST_PP_ITERATION_FINISH_2 >= 40 +# define BOOST_PP_ITERATION_2 40 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 41 && BOOST_PP_ITERATION_FINISH_2 >= 41 +# define BOOST_PP_ITERATION_2 41 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 42 && BOOST_PP_ITERATION_FINISH_2 >= 42 +# define BOOST_PP_ITERATION_2 42 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 43 && BOOST_PP_ITERATION_FINISH_2 >= 43 +# define BOOST_PP_ITERATION_2 43 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 44 && BOOST_PP_ITERATION_FINISH_2 >= 44 +# define BOOST_PP_ITERATION_2 44 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 45 && BOOST_PP_ITERATION_FINISH_2 >= 45 +# define BOOST_PP_ITERATION_2 45 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 46 && BOOST_PP_ITERATION_FINISH_2 >= 46 +# define BOOST_PP_ITERATION_2 46 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 47 && BOOST_PP_ITERATION_FINISH_2 >= 47 +# define BOOST_PP_ITERATION_2 47 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 48 && BOOST_PP_ITERATION_FINISH_2 >= 48 +# define BOOST_PP_ITERATION_2 48 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 49 && BOOST_PP_ITERATION_FINISH_2 >= 49 +# define BOOST_PP_ITERATION_2 49 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 50 && BOOST_PP_ITERATION_FINISH_2 >= 50 +# define BOOST_PP_ITERATION_2 50 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 51 && BOOST_PP_ITERATION_FINISH_2 >= 51 +# define BOOST_PP_ITERATION_2 51 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 52 && BOOST_PP_ITERATION_FINISH_2 >= 52 +# define BOOST_PP_ITERATION_2 52 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 53 && BOOST_PP_ITERATION_FINISH_2 >= 53 +# define BOOST_PP_ITERATION_2 53 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 54 && BOOST_PP_ITERATION_FINISH_2 >= 54 +# define BOOST_PP_ITERATION_2 54 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 55 && BOOST_PP_ITERATION_FINISH_2 >= 55 +# define BOOST_PP_ITERATION_2 55 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 56 && BOOST_PP_ITERATION_FINISH_2 >= 56 +# define BOOST_PP_ITERATION_2 56 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 57 && BOOST_PP_ITERATION_FINISH_2 >= 57 +# define BOOST_PP_ITERATION_2 57 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 58 && BOOST_PP_ITERATION_FINISH_2 >= 58 +# define BOOST_PP_ITERATION_2 58 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 59 && BOOST_PP_ITERATION_FINISH_2 >= 59 +# define BOOST_PP_ITERATION_2 59 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 60 && BOOST_PP_ITERATION_FINISH_2 >= 60 +# define BOOST_PP_ITERATION_2 60 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 61 && BOOST_PP_ITERATION_FINISH_2 >= 61 +# define BOOST_PP_ITERATION_2 61 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 62 && BOOST_PP_ITERATION_FINISH_2 >= 62 +# define BOOST_PP_ITERATION_2 62 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 63 && BOOST_PP_ITERATION_FINISH_2 >= 63 +# define BOOST_PP_ITERATION_2 63 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 64 && BOOST_PP_ITERATION_FINISH_2 >= 64 +# define BOOST_PP_ITERATION_2 64 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 65 && BOOST_PP_ITERATION_FINISH_2 >= 65 +# define BOOST_PP_ITERATION_2 65 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 66 && BOOST_PP_ITERATION_FINISH_2 >= 66 +# define BOOST_PP_ITERATION_2 66 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 67 && BOOST_PP_ITERATION_FINISH_2 >= 67 +# define BOOST_PP_ITERATION_2 67 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 68 && BOOST_PP_ITERATION_FINISH_2 >= 68 +# define BOOST_PP_ITERATION_2 68 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 69 && BOOST_PP_ITERATION_FINISH_2 >= 69 +# define BOOST_PP_ITERATION_2 69 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 70 && BOOST_PP_ITERATION_FINISH_2 >= 70 +# define BOOST_PP_ITERATION_2 70 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 71 && BOOST_PP_ITERATION_FINISH_2 >= 71 +# define BOOST_PP_ITERATION_2 71 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 72 && BOOST_PP_ITERATION_FINISH_2 >= 72 +# define BOOST_PP_ITERATION_2 72 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 73 && BOOST_PP_ITERATION_FINISH_2 >= 73 +# define BOOST_PP_ITERATION_2 73 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 74 && BOOST_PP_ITERATION_FINISH_2 >= 74 +# define BOOST_PP_ITERATION_2 74 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 75 && BOOST_PP_ITERATION_FINISH_2 >= 75 +# define BOOST_PP_ITERATION_2 75 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 76 && BOOST_PP_ITERATION_FINISH_2 >= 76 +# define BOOST_PP_ITERATION_2 76 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 77 && BOOST_PP_ITERATION_FINISH_2 >= 77 +# define BOOST_PP_ITERATION_2 77 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 78 && BOOST_PP_ITERATION_FINISH_2 >= 78 +# define BOOST_PP_ITERATION_2 78 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 79 && BOOST_PP_ITERATION_FINISH_2 >= 79 +# define BOOST_PP_ITERATION_2 79 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 80 && BOOST_PP_ITERATION_FINISH_2 >= 80 +# define BOOST_PP_ITERATION_2 80 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 81 && BOOST_PP_ITERATION_FINISH_2 >= 81 +# define BOOST_PP_ITERATION_2 81 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 82 && BOOST_PP_ITERATION_FINISH_2 >= 82 +# define BOOST_PP_ITERATION_2 82 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 83 && BOOST_PP_ITERATION_FINISH_2 >= 83 +# define BOOST_PP_ITERATION_2 83 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 84 && BOOST_PP_ITERATION_FINISH_2 >= 84 +# define BOOST_PP_ITERATION_2 84 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 85 && BOOST_PP_ITERATION_FINISH_2 >= 85 +# define BOOST_PP_ITERATION_2 85 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 86 && BOOST_PP_ITERATION_FINISH_2 >= 86 +# define BOOST_PP_ITERATION_2 86 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 87 && BOOST_PP_ITERATION_FINISH_2 >= 87 +# define BOOST_PP_ITERATION_2 87 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 88 && BOOST_PP_ITERATION_FINISH_2 >= 88 +# define BOOST_PP_ITERATION_2 88 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 89 && BOOST_PP_ITERATION_FINISH_2 >= 89 +# define BOOST_PP_ITERATION_2 89 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 90 && BOOST_PP_ITERATION_FINISH_2 >= 90 +# define BOOST_PP_ITERATION_2 90 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 91 && BOOST_PP_ITERATION_FINISH_2 >= 91 +# define BOOST_PP_ITERATION_2 91 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 92 && BOOST_PP_ITERATION_FINISH_2 >= 92 +# define BOOST_PP_ITERATION_2 92 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 93 && BOOST_PP_ITERATION_FINISH_2 >= 93 +# define BOOST_PP_ITERATION_2 93 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 94 && BOOST_PP_ITERATION_FINISH_2 >= 94 +# define BOOST_PP_ITERATION_2 94 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 95 && BOOST_PP_ITERATION_FINISH_2 >= 95 +# define BOOST_PP_ITERATION_2 95 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 96 && BOOST_PP_ITERATION_FINISH_2 >= 96 +# define BOOST_PP_ITERATION_2 96 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 97 && BOOST_PP_ITERATION_FINISH_2 >= 97 +# define BOOST_PP_ITERATION_2 97 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 98 && BOOST_PP_ITERATION_FINISH_2 >= 98 +# define BOOST_PP_ITERATION_2 98 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 99 && BOOST_PP_ITERATION_FINISH_2 >= 99 +# define BOOST_PP_ITERATION_2 99 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 100 && BOOST_PP_ITERATION_FINISH_2 >= 100 +# define BOOST_PP_ITERATION_2 100 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 101 && BOOST_PP_ITERATION_FINISH_2 >= 101 +# define BOOST_PP_ITERATION_2 101 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 102 && BOOST_PP_ITERATION_FINISH_2 >= 102 +# define BOOST_PP_ITERATION_2 102 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 103 && BOOST_PP_ITERATION_FINISH_2 >= 103 +# define BOOST_PP_ITERATION_2 103 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 104 && BOOST_PP_ITERATION_FINISH_2 >= 104 +# define BOOST_PP_ITERATION_2 104 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 105 && BOOST_PP_ITERATION_FINISH_2 >= 105 +# define BOOST_PP_ITERATION_2 105 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 106 && BOOST_PP_ITERATION_FINISH_2 >= 106 +# define BOOST_PP_ITERATION_2 106 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 107 && BOOST_PP_ITERATION_FINISH_2 >= 107 +# define BOOST_PP_ITERATION_2 107 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 108 && BOOST_PP_ITERATION_FINISH_2 >= 108 +# define BOOST_PP_ITERATION_2 108 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 109 && BOOST_PP_ITERATION_FINISH_2 >= 109 +# define BOOST_PP_ITERATION_2 109 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 110 && BOOST_PP_ITERATION_FINISH_2 >= 110 +# define BOOST_PP_ITERATION_2 110 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 111 && BOOST_PP_ITERATION_FINISH_2 >= 111 +# define BOOST_PP_ITERATION_2 111 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 112 && BOOST_PP_ITERATION_FINISH_2 >= 112 +# define BOOST_PP_ITERATION_2 112 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 113 && BOOST_PP_ITERATION_FINISH_2 >= 113 +# define BOOST_PP_ITERATION_2 113 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 114 && BOOST_PP_ITERATION_FINISH_2 >= 114 +# define BOOST_PP_ITERATION_2 114 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 115 && BOOST_PP_ITERATION_FINISH_2 >= 115 +# define BOOST_PP_ITERATION_2 115 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 116 && BOOST_PP_ITERATION_FINISH_2 >= 116 +# define BOOST_PP_ITERATION_2 116 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 117 && BOOST_PP_ITERATION_FINISH_2 >= 117 +# define BOOST_PP_ITERATION_2 117 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 118 && BOOST_PP_ITERATION_FINISH_2 >= 118 +# define BOOST_PP_ITERATION_2 118 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 119 && BOOST_PP_ITERATION_FINISH_2 >= 119 +# define BOOST_PP_ITERATION_2 119 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 120 && BOOST_PP_ITERATION_FINISH_2 >= 120 +# define BOOST_PP_ITERATION_2 120 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 121 && BOOST_PP_ITERATION_FINISH_2 >= 121 +# define BOOST_PP_ITERATION_2 121 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 122 && BOOST_PP_ITERATION_FINISH_2 >= 122 +# define BOOST_PP_ITERATION_2 122 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 123 && BOOST_PP_ITERATION_FINISH_2 >= 123 +# define BOOST_PP_ITERATION_2 123 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 124 && BOOST_PP_ITERATION_FINISH_2 >= 124 +# define BOOST_PP_ITERATION_2 124 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 125 && BOOST_PP_ITERATION_FINISH_2 >= 125 +# define BOOST_PP_ITERATION_2 125 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 126 && BOOST_PP_ITERATION_FINISH_2 >= 126 +# define BOOST_PP_ITERATION_2 126 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 127 && BOOST_PP_ITERATION_FINISH_2 >= 127 +# define BOOST_PP_ITERATION_2 127 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 128 && BOOST_PP_ITERATION_FINISH_2 >= 128 +# define BOOST_PP_ITERATION_2 128 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 129 && BOOST_PP_ITERATION_FINISH_2 >= 129 +# define BOOST_PP_ITERATION_2 129 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 130 && BOOST_PP_ITERATION_FINISH_2 >= 130 +# define BOOST_PP_ITERATION_2 130 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 131 && BOOST_PP_ITERATION_FINISH_2 >= 131 +# define BOOST_PP_ITERATION_2 131 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 132 && BOOST_PP_ITERATION_FINISH_2 >= 132 +# define BOOST_PP_ITERATION_2 132 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 133 && BOOST_PP_ITERATION_FINISH_2 >= 133 +# define BOOST_PP_ITERATION_2 133 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 134 && BOOST_PP_ITERATION_FINISH_2 >= 134 +# define BOOST_PP_ITERATION_2 134 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 135 && BOOST_PP_ITERATION_FINISH_2 >= 135 +# define BOOST_PP_ITERATION_2 135 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 136 && BOOST_PP_ITERATION_FINISH_2 >= 136 +# define BOOST_PP_ITERATION_2 136 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 137 && BOOST_PP_ITERATION_FINISH_2 >= 137 +# define BOOST_PP_ITERATION_2 137 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 138 && BOOST_PP_ITERATION_FINISH_2 >= 138 +# define BOOST_PP_ITERATION_2 138 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 139 && BOOST_PP_ITERATION_FINISH_2 >= 139 +# define BOOST_PP_ITERATION_2 139 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 140 && BOOST_PP_ITERATION_FINISH_2 >= 140 +# define BOOST_PP_ITERATION_2 140 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 141 && BOOST_PP_ITERATION_FINISH_2 >= 141 +# define BOOST_PP_ITERATION_2 141 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 142 && BOOST_PP_ITERATION_FINISH_2 >= 142 +# define BOOST_PP_ITERATION_2 142 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 143 && BOOST_PP_ITERATION_FINISH_2 >= 143 +# define BOOST_PP_ITERATION_2 143 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 144 && BOOST_PP_ITERATION_FINISH_2 >= 144 +# define BOOST_PP_ITERATION_2 144 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 145 && BOOST_PP_ITERATION_FINISH_2 >= 145 +# define BOOST_PP_ITERATION_2 145 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 146 && BOOST_PP_ITERATION_FINISH_2 >= 146 +# define BOOST_PP_ITERATION_2 146 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 147 && BOOST_PP_ITERATION_FINISH_2 >= 147 +# define BOOST_PP_ITERATION_2 147 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 148 && BOOST_PP_ITERATION_FINISH_2 >= 148 +# define BOOST_PP_ITERATION_2 148 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 149 && BOOST_PP_ITERATION_FINISH_2 >= 149 +# define BOOST_PP_ITERATION_2 149 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 150 && BOOST_PP_ITERATION_FINISH_2 >= 150 +# define BOOST_PP_ITERATION_2 150 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 151 && BOOST_PP_ITERATION_FINISH_2 >= 151 +# define BOOST_PP_ITERATION_2 151 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 152 && BOOST_PP_ITERATION_FINISH_2 >= 152 +# define BOOST_PP_ITERATION_2 152 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 153 && BOOST_PP_ITERATION_FINISH_2 >= 153 +# define BOOST_PP_ITERATION_2 153 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 154 && BOOST_PP_ITERATION_FINISH_2 >= 154 +# define BOOST_PP_ITERATION_2 154 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 155 && BOOST_PP_ITERATION_FINISH_2 >= 155 +# define BOOST_PP_ITERATION_2 155 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 156 && BOOST_PP_ITERATION_FINISH_2 >= 156 +# define BOOST_PP_ITERATION_2 156 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 157 && BOOST_PP_ITERATION_FINISH_2 >= 157 +# define BOOST_PP_ITERATION_2 157 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 158 && BOOST_PP_ITERATION_FINISH_2 >= 158 +# define BOOST_PP_ITERATION_2 158 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 159 && BOOST_PP_ITERATION_FINISH_2 >= 159 +# define BOOST_PP_ITERATION_2 159 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 160 && BOOST_PP_ITERATION_FINISH_2 >= 160 +# define BOOST_PP_ITERATION_2 160 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 161 && BOOST_PP_ITERATION_FINISH_2 >= 161 +# define BOOST_PP_ITERATION_2 161 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 162 && BOOST_PP_ITERATION_FINISH_2 >= 162 +# define BOOST_PP_ITERATION_2 162 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 163 && BOOST_PP_ITERATION_FINISH_2 >= 163 +# define BOOST_PP_ITERATION_2 163 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 164 && BOOST_PP_ITERATION_FINISH_2 >= 164 +# define BOOST_PP_ITERATION_2 164 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 165 && BOOST_PP_ITERATION_FINISH_2 >= 165 +# define BOOST_PP_ITERATION_2 165 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 166 && BOOST_PP_ITERATION_FINISH_2 >= 166 +# define BOOST_PP_ITERATION_2 166 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 167 && BOOST_PP_ITERATION_FINISH_2 >= 167 +# define BOOST_PP_ITERATION_2 167 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 168 && BOOST_PP_ITERATION_FINISH_2 >= 168 +# define BOOST_PP_ITERATION_2 168 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 169 && BOOST_PP_ITERATION_FINISH_2 >= 169 +# define BOOST_PP_ITERATION_2 169 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 170 && BOOST_PP_ITERATION_FINISH_2 >= 170 +# define BOOST_PP_ITERATION_2 170 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 171 && BOOST_PP_ITERATION_FINISH_2 >= 171 +# define BOOST_PP_ITERATION_2 171 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 172 && BOOST_PP_ITERATION_FINISH_2 >= 172 +# define BOOST_PP_ITERATION_2 172 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 173 && BOOST_PP_ITERATION_FINISH_2 >= 173 +# define BOOST_PP_ITERATION_2 173 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 174 && BOOST_PP_ITERATION_FINISH_2 >= 174 +# define BOOST_PP_ITERATION_2 174 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 175 && BOOST_PP_ITERATION_FINISH_2 >= 175 +# define BOOST_PP_ITERATION_2 175 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 176 && BOOST_PP_ITERATION_FINISH_2 >= 176 +# define BOOST_PP_ITERATION_2 176 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 177 && BOOST_PP_ITERATION_FINISH_2 >= 177 +# define BOOST_PP_ITERATION_2 177 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 178 && BOOST_PP_ITERATION_FINISH_2 >= 178 +# define BOOST_PP_ITERATION_2 178 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 179 && BOOST_PP_ITERATION_FINISH_2 >= 179 +# define BOOST_PP_ITERATION_2 179 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 180 && BOOST_PP_ITERATION_FINISH_2 >= 180 +# define BOOST_PP_ITERATION_2 180 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 181 && BOOST_PP_ITERATION_FINISH_2 >= 181 +# define BOOST_PP_ITERATION_2 181 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 182 && BOOST_PP_ITERATION_FINISH_2 >= 182 +# define BOOST_PP_ITERATION_2 182 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 183 && BOOST_PP_ITERATION_FINISH_2 >= 183 +# define BOOST_PP_ITERATION_2 183 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 184 && BOOST_PP_ITERATION_FINISH_2 >= 184 +# define BOOST_PP_ITERATION_2 184 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 185 && BOOST_PP_ITERATION_FINISH_2 >= 185 +# define BOOST_PP_ITERATION_2 185 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 186 && BOOST_PP_ITERATION_FINISH_2 >= 186 +# define BOOST_PP_ITERATION_2 186 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 187 && BOOST_PP_ITERATION_FINISH_2 >= 187 +# define BOOST_PP_ITERATION_2 187 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 188 && BOOST_PP_ITERATION_FINISH_2 >= 188 +# define BOOST_PP_ITERATION_2 188 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 189 && BOOST_PP_ITERATION_FINISH_2 >= 189 +# define BOOST_PP_ITERATION_2 189 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 190 && BOOST_PP_ITERATION_FINISH_2 >= 190 +# define BOOST_PP_ITERATION_2 190 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 191 && BOOST_PP_ITERATION_FINISH_2 >= 191 +# define BOOST_PP_ITERATION_2 191 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 192 && BOOST_PP_ITERATION_FINISH_2 >= 192 +# define BOOST_PP_ITERATION_2 192 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 193 && BOOST_PP_ITERATION_FINISH_2 >= 193 +# define BOOST_PP_ITERATION_2 193 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 194 && BOOST_PP_ITERATION_FINISH_2 >= 194 +# define BOOST_PP_ITERATION_2 194 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 195 && BOOST_PP_ITERATION_FINISH_2 >= 195 +# define BOOST_PP_ITERATION_2 195 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 196 && BOOST_PP_ITERATION_FINISH_2 >= 196 +# define BOOST_PP_ITERATION_2 196 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 197 && BOOST_PP_ITERATION_FINISH_2 >= 197 +# define BOOST_PP_ITERATION_2 197 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 198 && BOOST_PP_ITERATION_FINISH_2 >= 198 +# define BOOST_PP_ITERATION_2 198 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 199 && BOOST_PP_ITERATION_FINISH_2 >= 199 +# define BOOST_PP_ITERATION_2 199 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 200 && BOOST_PP_ITERATION_FINISH_2 >= 200 +# define BOOST_PP_ITERATION_2 200 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 201 && BOOST_PP_ITERATION_FINISH_2 >= 201 +# define BOOST_PP_ITERATION_2 201 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 202 && BOOST_PP_ITERATION_FINISH_2 >= 202 +# define BOOST_PP_ITERATION_2 202 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 203 && BOOST_PP_ITERATION_FINISH_2 >= 203 +# define BOOST_PP_ITERATION_2 203 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 204 && BOOST_PP_ITERATION_FINISH_2 >= 204 +# define BOOST_PP_ITERATION_2 204 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 205 && BOOST_PP_ITERATION_FINISH_2 >= 205 +# define BOOST_PP_ITERATION_2 205 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 206 && BOOST_PP_ITERATION_FINISH_2 >= 206 +# define BOOST_PP_ITERATION_2 206 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 207 && BOOST_PP_ITERATION_FINISH_2 >= 207 +# define BOOST_PP_ITERATION_2 207 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 208 && BOOST_PP_ITERATION_FINISH_2 >= 208 +# define BOOST_PP_ITERATION_2 208 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 209 && BOOST_PP_ITERATION_FINISH_2 >= 209 +# define BOOST_PP_ITERATION_2 209 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 210 && BOOST_PP_ITERATION_FINISH_2 >= 210 +# define BOOST_PP_ITERATION_2 210 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 211 && BOOST_PP_ITERATION_FINISH_2 >= 211 +# define BOOST_PP_ITERATION_2 211 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 212 && BOOST_PP_ITERATION_FINISH_2 >= 212 +# define BOOST_PP_ITERATION_2 212 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 213 && BOOST_PP_ITERATION_FINISH_2 >= 213 +# define BOOST_PP_ITERATION_2 213 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 214 && BOOST_PP_ITERATION_FINISH_2 >= 214 +# define BOOST_PP_ITERATION_2 214 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 215 && BOOST_PP_ITERATION_FINISH_2 >= 215 +# define BOOST_PP_ITERATION_2 215 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 216 && BOOST_PP_ITERATION_FINISH_2 >= 216 +# define BOOST_PP_ITERATION_2 216 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 217 && BOOST_PP_ITERATION_FINISH_2 >= 217 +# define BOOST_PP_ITERATION_2 217 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 218 && BOOST_PP_ITERATION_FINISH_2 >= 218 +# define BOOST_PP_ITERATION_2 218 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 219 && BOOST_PP_ITERATION_FINISH_2 >= 219 +# define BOOST_PP_ITERATION_2 219 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 220 && BOOST_PP_ITERATION_FINISH_2 >= 220 +# define BOOST_PP_ITERATION_2 220 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 221 && BOOST_PP_ITERATION_FINISH_2 >= 221 +# define BOOST_PP_ITERATION_2 221 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 222 && BOOST_PP_ITERATION_FINISH_2 >= 222 +# define BOOST_PP_ITERATION_2 222 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 223 && BOOST_PP_ITERATION_FINISH_2 >= 223 +# define BOOST_PP_ITERATION_2 223 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 224 && BOOST_PP_ITERATION_FINISH_2 >= 224 +# define BOOST_PP_ITERATION_2 224 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 225 && BOOST_PP_ITERATION_FINISH_2 >= 225 +# define BOOST_PP_ITERATION_2 225 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 226 && BOOST_PP_ITERATION_FINISH_2 >= 226 +# define BOOST_PP_ITERATION_2 226 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 227 && BOOST_PP_ITERATION_FINISH_2 >= 227 +# define BOOST_PP_ITERATION_2 227 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 228 && BOOST_PP_ITERATION_FINISH_2 >= 228 +# define BOOST_PP_ITERATION_2 228 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 229 && BOOST_PP_ITERATION_FINISH_2 >= 229 +# define BOOST_PP_ITERATION_2 229 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 230 && BOOST_PP_ITERATION_FINISH_2 >= 230 +# define BOOST_PP_ITERATION_2 230 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 231 && BOOST_PP_ITERATION_FINISH_2 >= 231 +# define BOOST_PP_ITERATION_2 231 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 232 && BOOST_PP_ITERATION_FINISH_2 >= 232 +# define BOOST_PP_ITERATION_2 232 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 233 && BOOST_PP_ITERATION_FINISH_2 >= 233 +# define BOOST_PP_ITERATION_2 233 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 234 && BOOST_PP_ITERATION_FINISH_2 >= 234 +# define BOOST_PP_ITERATION_2 234 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 235 && BOOST_PP_ITERATION_FINISH_2 >= 235 +# define BOOST_PP_ITERATION_2 235 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 236 && BOOST_PP_ITERATION_FINISH_2 >= 236 +# define BOOST_PP_ITERATION_2 236 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 237 && BOOST_PP_ITERATION_FINISH_2 >= 237 +# define BOOST_PP_ITERATION_2 237 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 238 && BOOST_PP_ITERATION_FINISH_2 >= 238 +# define BOOST_PP_ITERATION_2 238 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 239 && BOOST_PP_ITERATION_FINISH_2 >= 239 +# define BOOST_PP_ITERATION_2 239 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 240 && BOOST_PP_ITERATION_FINISH_2 >= 240 +# define BOOST_PP_ITERATION_2 240 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 241 && BOOST_PP_ITERATION_FINISH_2 >= 241 +# define BOOST_PP_ITERATION_2 241 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 242 && BOOST_PP_ITERATION_FINISH_2 >= 242 +# define BOOST_PP_ITERATION_2 242 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 243 && BOOST_PP_ITERATION_FINISH_2 >= 243 +# define BOOST_PP_ITERATION_2 243 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 244 && BOOST_PP_ITERATION_FINISH_2 >= 244 +# define BOOST_PP_ITERATION_2 244 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 245 && BOOST_PP_ITERATION_FINISH_2 >= 245 +# define BOOST_PP_ITERATION_2 245 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 246 && BOOST_PP_ITERATION_FINISH_2 >= 246 +# define BOOST_PP_ITERATION_2 246 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 247 && BOOST_PP_ITERATION_FINISH_2 >= 247 +# define BOOST_PP_ITERATION_2 247 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 248 && BOOST_PP_ITERATION_FINISH_2 >= 248 +# define BOOST_PP_ITERATION_2 248 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 249 && BOOST_PP_ITERATION_FINISH_2 >= 249 +# define BOOST_PP_ITERATION_2 249 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 250 && BOOST_PP_ITERATION_FINISH_2 >= 250 +# define BOOST_PP_ITERATION_2 250 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 251 && BOOST_PP_ITERATION_FINISH_2 >= 251 +# define BOOST_PP_ITERATION_2 251 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 252 && BOOST_PP_ITERATION_FINISH_2 >= 252 +# define BOOST_PP_ITERATION_2 252 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 253 && BOOST_PP_ITERATION_FINISH_2 >= 253 +# define BOOST_PP_ITERATION_2 253 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 254 && BOOST_PP_ITERATION_FINISH_2 >= 254 +# define BOOST_PP_ITERATION_2 254 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 255 && BOOST_PP_ITERATION_FINISH_2 >= 255 +# define BOOST_PP_ITERATION_2 255 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_START_2 <= 256 && BOOST_PP_ITERATION_FINISH_2 >= 256 +# define BOOST_PP_ITERATION_2 256 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 1 +# +# undef BOOST_PP_ITERATION_START_2 +# undef BOOST_PP_ITERATION_FINISH_2 +# undef BOOST_PP_FILENAME_2 +# +# undef BOOST_PP_ITERATION_FLAGS_2 +# undef BOOST_PP_ITERATION_PARAMS_2 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward3.hpp new file mode 100644 index 0000000..e0a95f3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward3.hpp @@ -0,0 +1,1338 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if defined(BOOST_PP_ITERATION_LIMITS) +# if !defined(BOOST_PP_FILENAME_3) +# error BOOST_PP_ERROR: depth #3 filename is not defined +# endif +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_ITERATION_FLAGS_3 0 +# undef BOOST_PP_ITERATION_LIMITS +# elif defined(BOOST_PP_ITERATION_PARAMS_3) +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_3) +# include +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_3) +# include +# define BOOST_PP_FILENAME_3 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_3) +# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_3) >= 4 +# define BOOST_PP_ITERATION_FLAGS_3 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_3) +# else +# define BOOST_PP_ITERATION_FLAGS_3 0 +# endif +# else +# error BOOST_PP_ERROR: depth #3 iteration boundaries or filename not defined +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 3 +# +# if (BOOST_PP_ITERATION_START_3) > (BOOST_PP_ITERATION_FINISH_3) +# include +# else +# if BOOST_PP_ITERATION_START_3 <= 0 && BOOST_PP_ITERATION_FINISH_3 >= 0 +# define BOOST_PP_ITERATION_3 0 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 1 && BOOST_PP_ITERATION_FINISH_3 >= 1 +# define BOOST_PP_ITERATION_3 1 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 2 && BOOST_PP_ITERATION_FINISH_3 >= 2 +# define BOOST_PP_ITERATION_3 2 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 3 && BOOST_PP_ITERATION_FINISH_3 >= 3 +# define BOOST_PP_ITERATION_3 3 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 4 && BOOST_PP_ITERATION_FINISH_3 >= 4 +# define BOOST_PP_ITERATION_3 4 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 5 && BOOST_PP_ITERATION_FINISH_3 >= 5 +# define BOOST_PP_ITERATION_3 5 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 6 && BOOST_PP_ITERATION_FINISH_3 >= 6 +# define BOOST_PP_ITERATION_3 6 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 7 && BOOST_PP_ITERATION_FINISH_3 >= 7 +# define BOOST_PP_ITERATION_3 7 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 8 && BOOST_PP_ITERATION_FINISH_3 >= 8 +# define BOOST_PP_ITERATION_3 8 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 9 && BOOST_PP_ITERATION_FINISH_3 >= 9 +# define BOOST_PP_ITERATION_3 9 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 10 && BOOST_PP_ITERATION_FINISH_3 >= 10 +# define BOOST_PP_ITERATION_3 10 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 11 && BOOST_PP_ITERATION_FINISH_3 >= 11 +# define BOOST_PP_ITERATION_3 11 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 12 && BOOST_PP_ITERATION_FINISH_3 >= 12 +# define BOOST_PP_ITERATION_3 12 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 13 && BOOST_PP_ITERATION_FINISH_3 >= 13 +# define BOOST_PP_ITERATION_3 13 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 14 && BOOST_PP_ITERATION_FINISH_3 >= 14 +# define BOOST_PP_ITERATION_3 14 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 15 && BOOST_PP_ITERATION_FINISH_3 >= 15 +# define BOOST_PP_ITERATION_3 15 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 16 && BOOST_PP_ITERATION_FINISH_3 >= 16 +# define BOOST_PP_ITERATION_3 16 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 17 && BOOST_PP_ITERATION_FINISH_3 >= 17 +# define BOOST_PP_ITERATION_3 17 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 18 && BOOST_PP_ITERATION_FINISH_3 >= 18 +# define BOOST_PP_ITERATION_3 18 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 19 && BOOST_PP_ITERATION_FINISH_3 >= 19 +# define BOOST_PP_ITERATION_3 19 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 20 && BOOST_PP_ITERATION_FINISH_3 >= 20 +# define BOOST_PP_ITERATION_3 20 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 21 && BOOST_PP_ITERATION_FINISH_3 >= 21 +# define BOOST_PP_ITERATION_3 21 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 22 && BOOST_PP_ITERATION_FINISH_3 >= 22 +# define BOOST_PP_ITERATION_3 22 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 23 && BOOST_PP_ITERATION_FINISH_3 >= 23 +# define BOOST_PP_ITERATION_3 23 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 24 && BOOST_PP_ITERATION_FINISH_3 >= 24 +# define BOOST_PP_ITERATION_3 24 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 25 && BOOST_PP_ITERATION_FINISH_3 >= 25 +# define BOOST_PP_ITERATION_3 25 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 26 && BOOST_PP_ITERATION_FINISH_3 >= 26 +# define BOOST_PP_ITERATION_3 26 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 27 && BOOST_PP_ITERATION_FINISH_3 >= 27 +# define BOOST_PP_ITERATION_3 27 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 28 && BOOST_PP_ITERATION_FINISH_3 >= 28 +# define BOOST_PP_ITERATION_3 28 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 29 && BOOST_PP_ITERATION_FINISH_3 >= 29 +# define BOOST_PP_ITERATION_3 29 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 30 && BOOST_PP_ITERATION_FINISH_3 >= 30 +# define BOOST_PP_ITERATION_3 30 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 31 && BOOST_PP_ITERATION_FINISH_3 >= 31 +# define BOOST_PP_ITERATION_3 31 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 32 && BOOST_PP_ITERATION_FINISH_3 >= 32 +# define BOOST_PP_ITERATION_3 32 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 33 && BOOST_PP_ITERATION_FINISH_3 >= 33 +# define BOOST_PP_ITERATION_3 33 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 34 && BOOST_PP_ITERATION_FINISH_3 >= 34 +# define BOOST_PP_ITERATION_3 34 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 35 && BOOST_PP_ITERATION_FINISH_3 >= 35 +# define BOOST_PP_ITERATION_3 35 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 36 && BOOST_PP_ITERATION_FINISH_3 >= 36 +# define BOOST_PP_ITERATION_3 36 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 37 && BOOST_PP_ITERATION_FINISH_3 >= 37 +# define BOOST_PP_ITERATION_3 37 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 38 && BOOST_PP_ITERATION_FINISH_3 >= 38 +# define BOOST_PP_ITERATION_3 38 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 39 && BOOST_PP_ITERATION_FINISH_3 >= 39 +# define BOOST_PP_ITERATION_3 39 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 40 && BOOST_PP_ITERATION_FINISH_3 >= 40 +# define BOOST_PP_ITERATION_3 40 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 41 && BOOST_PP_ITERATION_FINISH_3 >= 41 +# define BOOST_PP_ITERATION_3 41 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 42 && BOOST_PP_ITERATION_FINISH_3 >= 42 +# define BOOST_PP_ITERATION_3 42 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 43 && BOOST_PP_ITERATION_FINISH_3 >= 43 +# define BOOST_PP_ITERATION_3 43 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 44 && BOOST_PP_ITERATION_FINISH_3 >= 44 +# define BOOST_PP_ITERATION_3 44 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 45 && BOOST_PP_ITERATION_FINISH_3 >= 45 +# define BOOST_PP_ITERATION_3 45 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 46 && BOOST_PP_ITERATION_FINISH_3 >= 46 +# define BOOST_PP_ITERATION_3 46 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 47 && BOOST_PP_ITERATION_FINISH_3 >= 47 +# define BOOST_PP_ITERATION_3 47 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 48 && BOOST_PP_ITERATION_FINISH_3 >= 48 +# define BOOST_PP_ITERATION_3 48 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 49 && BOOST_PP_ITERATION_FINISH_3 >= 49 +# define BOOST_PP_ITERATION_3 49 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 50 && BOOST_PP_ITERATION_FINISH_3 >= 50 +# define BOOST_PP_ITERATION_3 50 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 51 && BOOST_PP_ITERATION_FINISH_3 >= 51 +# define BOOST_PP_ITERATION_3 51 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 52 && BOOST_PP_ITERATION_FINISH_3 >= 52 +# define BOOST_PP_ITERATION_3 52 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 53 && BOOST_PP_ITERATION_FINISH_3 >= 53 +# define BOOST_PP_ITERATION_3 53 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 54 && BOOST_PP_ITERATION_FINISH_3 >= 54 +# define BOOST_PP_ITERATION_3 54 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 55 && BOOST_PP_ITERATION_FINISH_3 >= 55 +# define BOOST_PP_ITERATION_3 55 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 56 && BOOST_PP_ITERATION_FINISH_3 >= 56 +# define BOOST_PP_ITERATION_3 56 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 57 && BOOST_PP_ITERATION_FINISH_3 >= 57 +# define BOOST_PP_ITERATION_3 57 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 58 && BOOST_PP_ITERATION_FINISH_3 >= 58 +# define BOOST_PP_ITERATION_3 58 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 59 && BOOST_PP_ITERATION_FINISH_3 >= 59 +# define BOOST_PP_ITERATION_3 59 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 60 && BOOST_PP_ITERATION_FINISH_3 >= 60 +# define BOOST_PP_ITERATION_3 60 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 61 && BOOST_PP_ITERATION_FINISH_3 >= 61 +# define BOOST_PP_ITERATION_3 61 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 62 && BOOST_PP_ITERATION_FINISH_3 >= 62 +# define BOOST_PP_ITERATION_3 62 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 63 && BOOST_PP_ITERATION_FINISH_3 >= 63 +# define BOOST_PP_ITERATION_3 63 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 64 && BOOST_PP_ITERATION_FINISH_3 >= 64 +# define BOOST_PP_ITERATION_3 64 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 65 && BOOST_PP_ITERATION_FINISH_3 >= 65 +# define BOOST_PP_ITERATION_3 65 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 66 && BOOST_PP_ITERATION_FINISH_3 >= 66 +# define BOOST_PP_ITERATION_3 66 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 67 && BOOST_PP_ITERATION_FINISH_3 >= 67 +# define BOOST_PP_ITERATION_3 67 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 68 && BOOST_PP_ITERATION_FINISH_3 >= 68 +# define BOOST_PP_ITERATION_3 68 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 69 && BOOST_PP_ITERATION_FINISH_3 >= 69 +# define BOOST_PP_ITERATION_3 69 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 70 && BOOST_PP_ITERATION_FINISH_3 >= 70 +# define BOOST_PP_ITERATION_3 70 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 71 && BOOST_PP_ITERATION_FINISH_3 >= 71 +# define BOOST_PP_ITERATION_3 71 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 72 && BOOST_PP_ITERATION_FINISH_3 >= 72 +# define BOOST_PP_ITERATION_3 72 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 73 && BOOST_PP_ITERATION_FINISH_3 >= 73 +# define BOOST_PP_ITERATION_3 73 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 74 && BOOST_PP_ITERATION_FINISH_3 >= 74 +# define BOOST_PP_ITERATION_3 74 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 75 && BOOST_PP_ITERATION_FINISH_3 >= 75 +# define BOOST_PP_ITERATION_3 75 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 76 && BOOST_PP_ITERATION_FINISH_3 >= 76 +# define BOOST_PP_ITERATION_3 76 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 77 && BOOST_PP_ITERATION_FINISH_3 >= 77 +# define BOOST_PP_ITERATION_3 77 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 78 && BOOST_PP_ITERATION_FINISH_3 >= 78 +# define BOOST_PP_ITERATION_3 78 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 79 && BOOST_PP_ITERATION_FINISH_3 >= 79 +# define BOOST_PP_ITERATION_3 79 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 80 && BOOST_PP_ITERATION_FINISH_3 >= 80 +# define BOOST_PP_ITERATION_3 80 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 81 && BOOST_PP_ITERATION_FINISH_3 >= 81 +# define BOOST_PP_ITERATION_3 81 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 82 && BOOST_PP_ITERATION_FINISH_3 >= 82 +# define BOOST_PP_ITERATION_3 82 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 83 && BOOST_PP_ITERATION_FINISH_3 >= 83 +# define BOOST_PP_ITERATION_3 83 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 84 && BOOST_PP_ITERATION_FINISH_3 >= 84 +# define BOOST_PP_ITERATION_3 84 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 85 && BOOST_PP_ITERATION_FINISH_3 >= 85 +# define BOOST_PP_ITERATION_3 85 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 86 && BOOST_PP_ITERATION_FINISH_3 >= 86 +# define BOOST_PP_ITERATION_3 86 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 87 && BOOST_PP_ITERATION_FINISH_3 >= 87 +# define BOOST_PP_ITERATION_3 87 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 88 && BOOST_PP_ITERATION_FINISH_3 >= 88 +# define BOOST_PP_ITERATION_3 88 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 89 && BOOST_PP_ITERATION_FINISH_3 >= 89 +# define BOOST_PP_ITERATION_3 89 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 90 && BOOST_PP_ITERATION_FINISH_3 >= 90 +# define BOOST_PP_ITERATION_3 90 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 91 && BOOST_PP_ITERATION_FINISH_3 >= 91 +# define BOOST_PP_ITERATION_3 91 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 92 && BOOST_PP_ITERATION_FINISH_3 >= 92 +# define BOOST_PP_ITERATION_3 92 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 93 && BOOST_PP_ITERATION_FINISH_3 >= 93 +# define BOOST_PP_ITERATION_3 93 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 94 && BOOST_PP_ITERATION_FINISH_3 >= 94 +# define BOOST_PP_ITERATION_3 94 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 95 && BOOST_PP_ITERATION_FINISH_3 >= 95 +# define BOOST_PP_ITERATION_3 95 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 96 && BOOST_PP_ITERATION_FINISH_3 >= 96 +# define BOOST_PP_ITERATION_3 96 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 97 && BOOST_PP_ITERATION_FINISH_3 >= 97 +# define BOOST_PP_ITERATION_3 97 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 98 && BOOST_PP_ITERATION_FINISH_3 >= 98 +# define BOOST_PP_ITERATION_3 98 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 99 && BOOST_PP_ITERATION_FINISH_3 >= 99 +# define BOOST_PP_ITERATION_3 99 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 100 && BOOST_PP_ITERATION_FINISH_3 >= 100 +# define BOOST_PP_ITERATION_3 100 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 101 && BOOST_PP_ITERATION_FINISH_3 >= 101 +# define BOOST_PP_ITERATION_3 101 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 102 && BOOST_PP_ITERATION_FINISH_3 >= 102 +# define BOOST_PP_ITERATION_3 102 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 103 && BOOST_PP_ITERATION_FINISH_3 >= 103 +# define BOOST_PP_ITERATION_3 103 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 104 && BOOST_PP_ITERATION_FINISH_3 >= 104 +# define BOOST_PP_ITERATION_3 104 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 105 && BOOST_PP_ITERATION_FINISH_3 >= 105 +# define BOOST_PP_ITERATION_3 105 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 106 && BOOST_PP_ITERATION_FINISH_3 >= 106 +# define BOOST_PP_ITERATION_3 106 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 107 && BOOST_PP_ITERATION_FINISH_3 >= 107 +# define BOOST_PP_ITERATION_3 107 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 108 && BOOST_PP_ITERATION_FINISH_3 >= 108 +# define BOOST_PP_ITERATION_3 108 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 109 && BOOST_PP_ITERATION_FINISH_3 >= 109 +# define BOOST_PP_ITERATION_3 109 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 110 && BOOST_PP_ITERATION_FINISH_3 >= 110 +# define BOOST_PP_ITERATION_3 110 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 111 && BOOST_PP_ITERATION_FINISH_3 >= 111 +# define BOOST_PP_ITERATION_3 111 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 112 && BOOST_PP_ITERATION_FINISH_3 >= 112 +# define BOOST_PP_ITERATION_3 112 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 113 && BOOST_PP_ITERATION_FINISH_3 >= 113 +# define BOOST_PP_ITERATION_3 113 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 114 && BOOST_PP_ITERATION_FINISH_3 >= 114 +# define BOOST_PP_ITERATION_3 114 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 115 && BOOST_PP_ITERATION_FINISH_3 >= 115 +# define BOOST_PP_ITERATION_3 115 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 116 && BOOST_PP_ITERATION_FINISH_3 >= 116 +# define BOOST_PP_ITERATION_3 116 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 117 && BOOST_PP_ITERATION_FINISH_3 >= 117 +# define BOOST_PP_ITERATION_3 117 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 118 && BOOST_PP_ITERATION_FINISH_3 >= 118 +# define BOOST_PP_ITERATION_3 118 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 119 && BOOST_PP_ITERATION_FINISH_3 >= 119 +# define BOOST_PP_ITERATION_3 119 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 120 && BOOST_PP_ITERATION_FINISH_3 >= 120 +# define BOOST_PP_ITERATION_3 120 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 121 && BOOST_PP_ITERATION_FINISH_3 >= 121 +# define BOOST_PP_ITERATION_3 121 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 122 && BOOST_PP_ITERATION_FINISH_3 >= 122 +# define BOOST_PP_ITERATION_3 122 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 123 && BOOST_PP_ITERATION_FINISH_3 >= 123 +# define BOOST_PP_ITERATION_3 123 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 124 && BOOST_PP_ITERATION_FINISH_3 >= 124 +# define BOOST_PP_ITERATION_3 124 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 125 && BOOST_PP_ITERATION_FINISH_3 >= 125 +# define BOOST_PP_ITERATION_3 125 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 126 && BOOST_PP_ITERATION_FINISH_3 >= 126 +# define BOOST_PP_ITERATION_3 126 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 127 && BOOST_PP_ITERATION_FINISH_3 >= 127 +# define BOOST_PP_ITERATION_3 127 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 128 && BOOST_PP_ITERATION_FINISH_3 >= 128 +# define BOOST_PP_ITERATION_3 128 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 129 && BOOST_PP_ITERATION_FINISH_3 >= 129 +# define BOOST_PP_ITERATION_3 129 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 130 && BOOST_PP_ITERATION_FINISH_3 >= 130 +# define BOOST_PP_ITERATION_3 130 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 131 && BOOST_PP_ITERATION_FINISH_3 >= 131 +# define BOOST_PP_ITERATION_3 131 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 132 && BOOST_PP_ITERATION_FINISH_3 >= 132 +# define BOOST_PP_ITERATION_3 132 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 133 && BOOST_PP_ITERATION_FINISH_3 >= 133 +# define BOOST_PP_ITERATION_3 133 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 134 && BOOST_PP_ITERATION_FINISH_3 >= 134 +# define BOOST_PP_ITERATION_3 134 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 135 && BOOST_PP_ITERATION_FINISH_3 >= 135 +# define BOOST_PP_ITERATION_3 135 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 136 && BOOST_PP_ITERATION_FINISH_3 >= 136 +# define BOOST_PP_ITERATION_3 136 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 137 && BOOST_PP_ITERATION_FINISH_3 >= 137 +# define BOOST_PP_ITERATION_3 137 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 138 && BOOST_PP_ITERATION_FINISH_3 >= 138 +# define BOOST_PP_ITERATION_3 138 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 139 && BOOST_PP_ITERATION_FINISH_3 >= 139 +# define BOOST_PP_ITERATION_3 139 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 140 && BOOST_PP_ITERATION_FINISH_3 >= 140 +# define BOOST_PP_ITERATION_3 140 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 141 && BOOST_PP_ITERATION_FINISH_3 >= 141 +# define BOOST_PP_ITERATION_3 141 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 142 && BOOST_PP_ITERATION_FINISH_3 >= 142 +# define BOOST_PP_ITERATION_3 142 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 143 && BOOST_PP_ITERATION_FINISH_3 >= 143 +# define BOOST_PP_ITERATION_3 143 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 144 && BOOST_PP_ITERATION_FINISH_3 >= 144 +# define BOOST_PP_ITERATION_3 144 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 145 && BOOST_PP_ITERATION_FINISH_3 >= 145 +# define BOOST_PP_ITERATION_3 145 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 146 && BOOST_PP_ITERATION_FINISH_3 >= 146 +# define BOOST_PP_ITERATION_3 146 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 147 && BOOST_PP_ITERATION_FINISH_3 >= 147 +# define BOOST_PP_ITERATION_3 147 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 148 && BOOST_PP_ITERATION_FINISH_3 >= 148 +# define BOOST_PP_ITERATION_3 148 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 149 && BOOST_PP_ITERATION_FINISH_3 >= 149 +# define BOOST_PP_ITERATION_3 149 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 150 && BOOST_PP_ITERATION_FINISH_3 >= 150 +# define BOOST_PP_ITERATION_3 150 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 151 && BOOST_PP_ITERATION_FINISH_3 >= 151 +# define BOOST_PP_ITERATION_3 151 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 152 && BOOST_PP_ITERATION_FINISH_3 >= 152 +# define BOOST_PP_ITERATION_3 152 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 153 && BOOST_PP_ITERATION_FINISH_3 >= 153 +# define BOOST_PP_ITERATION_3 153 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 154 && BOOST_PP_ITERATION_FINISH_3 >= 154 +# define BOOST_PP_ITERATION_3 154 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 155 && BOOST_PP_ITERATION_FINISH_3 >= 155 +# define BOOST_PP_ITERATION_3 155 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 156 && BOOST_PP_ITERATION_FINISH_3 >= 156 +# define BOOST_PP_ITERATION_3 156 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 157 && BOOST_PP_ITERATION_FINISH_3 >= 157 +# define BOOST_PP_ITERATION_3 157 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 158 && BOOST_PP_ITERATION_FINISH_3 >= 158 +# define BOOST_PP_ITERATION_3 158 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 159 && BOOST_PP_ITERATION_FINISH_3 >= 159 +# define BOOST_PP_ITERATION_3 159 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 160 && BOOST_PP_ITERATION_FINISH_3 >= 160 +# define BOOST_PP_ITERATION_3 160 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 161 && BOOST_PP_ITERATION_FINISH_3 >= 161 +# define BOOST_PP_ITERATION_3 161 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 162 && BOOST_PP_ITERATION_FINISH_3 >= 162 +# define BOOST_PP_ITERATION_3 162 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 163 && BOOST_PP_ITERATION_FINISH_3 >= 163 +# define BOOST_PP_ITERATION_3 163 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 164 && BOOST_PP_ITERATION_FINISH_3 >= 164 +# define BOOST_PP_ITERATION_3 164 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 165 && BOOST_PP_ITERATION_FINISH_3 >= 165 +# define BOOST_PP_ITERATION_3 165 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 166 && BOOST_PP_ITERATION_FINISH_3 >= 166 +# define BOOST_PP_ITERATION_3 166 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 167 && BOOST_PP_ITERATION_FINISH_3 >= 167 +# define BOOST_PP_ITERATION_3 167 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 168 && BOOST_PP_ITERATION_FINISH_3 >= 168 +# define BOOST_PP_ITERATION_3 168 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 169 && BOOST_PP_ITERATION_FINISH_3 >= 169 +# define BOOST_PP_ITERATION_3 169 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 170 && BOOST_PP_ITERATION_FINISH_3 >= 170 +# define BOOST_PP_ITERATION_3 170 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 171 && BOOST_PP_ITERATION_FINISH_3 >= 171 +# define BOOST_PP_ITERATION_3 171 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 172 && BOOST_PP_ITERATION_FINISH_3 >= 172 +# define BOOST_PP_ITERATION_3 172 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 173 && BOOST_PP_ITERATION_FINISH_3 >= 173 +# define BOOST_PP_ITERATION_3 173 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 174 && BOOST_PP_ITERATION_FINISH_3 >= 174 +# define BOOST_PP_ITERATION_3 174 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 175 && BOOST_PP_ITERATION_FINISH_3 >= 175 +# define BOOST_PP_ITERATION_3 175 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 176 && BOOST_PP_ITERATION_FINISH_3 >= 176 +# define BOOST_PP_ITERATION_3 176 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 177 && BOOST_PP_ITERATION_FINISH_3 >= 177 +# define BOOST_PP_ITERATION_3 177 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 178 && BOOST_PP_ITERATION_FINISH_3 >= 178 +# define BOOST_PP_ITERATION_3 178 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 179 && BOOST_PP_ITERATION_FINISH_3 >= 179 +# define BOOST_PP_ITERATION_3 179 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 180 && BOOST_PP_ITERATION_FINISH_3 >= 180 +# define BOOST_PP_ITERATION_3 180 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 181 && BOOST_PP_ITERATION_FINISH_3 >= 181 +# define BOOST_PP_ITERATION_3 181 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 182 && BOOST_PP_ITERATION_FINISH_3 >= 182 +# define BOOST_PP_ITERATION_3 182 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 183 && BOOST_PP_ITERATION_FINISH_3 >= 183 +# define BOOST_PP_ITERATION_3 183 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 184 && BOOST_PP_ITERATION_FINISH_3 >= 184 +# define BOOST_PP_ITERATION_3 184 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 185 && BOOST_PP_ITERATION_FINISH_3 >= 185 +# define BOOST_PP_ITERATION_3 185 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 186 && BOOST_PP_ITERATION_FINISH_3 >= 186 +# define BOOST_PP_ITERATION_3 186 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 187 && BOOST_PP_ITERATION_FINISH_3 >= 187 +# define BOOST_PP_ITERATION_3 187 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 188 && BOOST_PP_ITERATION_FINISH_3 >= 188 +# define BOOST_PP_ITERATION_3 188 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 189 && BOOST_PP_ITERATION_FINISH_3 >= 189 +# define BOOST_PP_ITERATION_3 189 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 190 && BOOST_PP_ITERATION_FINISH_3 >= 190 +# define BOOST_PP_ITERATION_3 190 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 191 && BOOST_PP_ITERATION_FINISH_3 >= 191 +# define BOOST_PP_ITERATION_3 191 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 192 && BOOST_PP_ITERATION_FINISH_3 >= 192 +# define BOOST_PP_ITERATION_3 192 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 193 && BOOST_PP_ITERATION_FINISH_3 >= 193 +# define BOOST_PP_ITERATION_3 193 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 194 && BOOST_PP_ITERATION_FINISH_3 >= 194 +# define BOOST_PP_ITERATION_3 194 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 195 && BOOST_PP_ITERATION_FINISH_3 >= 195 +# define BOOST_PP_ITERATION_3 195 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 196 && BOOST_PP_ITERATION_FINISH_3 >= 196 +# define BOOST_PP_ITERATION_3 196 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 197 && BOOST_PP_ITERATION_FINISH_3 >= 197 +# define BOOST_PP_ITERATION_3 197 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 198 && BOOST_PP_ITERATION_FINISH_3 >= 198 +# define BOOST_PP_ITERATION_3 198 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 199 && BOOST_PP_ITERATION_FINISH_3 >= 199 +# define BOOST_PP_ITERATION_3 199 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 200 && BOOST_PP_ITERATION_FINISH_3 >= 200 +# define BOOST_PP_ITERATION_3 200 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 201 && BOOST_PP_ITERATION_FINISH_3 >= 201 +# define BOOST_PP_ITERATION_3 201 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 202 && BOOST_PP_ITERATION_FINISH_3 >= 202 +# define BOOST_PP_ITERATION_3 202 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 203 && BOOST_PP_ITERATION_FINISH_3 >= 203 +# define BOOST_PP_ITERATION_3 203 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 204 && BOOST_PP_ITERATION_FINISH_3 >= 204 +# define BOOST_PP_ITERATION_3 204 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 205 && BOOST_PP_ITERATION_FINISH_3 >= 205 +# define BOOST_PP_ITERATION_3 205 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 206 && BOOST_PP_ITERATION_FINISH_3 >= 206 +# define BOOST_PP_ITERATION_3 206 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 207 && BOOST_PP_ITERATION_FINISH_3 >= 207 +# define BOOST_PP_ITERATION_3 207 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 208 && BOOST_PP_ITERATION_FINISH_3 >= 208 +# define BOOST_PP_ITERATION_3 208 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 209 && BOOST_PP_ITERATION_FINISH_3 >= 209 +# define BOOST_PP_ITERATION_3 209 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 210 && BOOST_PP_ITERATION_FINISH_3 >= 210 +# define BOOST_PP_ITERATION_3 210 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 211 && BOOST_PP_ITERATION_FINISH_3 >= 211 +# define BOOST_PP_ITERATION_3 211 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 212 && BOOST_PP_ITERATION_FINISH_3 >= 212 +# define BOOST_PP_ITERATION_3 212 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 213 && BOOST_PP_ITERATION_FINISH_3 >= 213 +# define BOOST_PP_ITERATION_3 213 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 214 && BOOST_PP_ITERATION_FINISH_3 >= 214 +# define BOOST_PP_ITERATION_3 214 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 215 && BOOST_PP_ITERATION_FINISH_3 >= 215 +# define BOOST_PP_ITERATION_3 215 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 216 && BOOST_PP_ITERATION_FINISH_3 >= 216 +# define BOOST_PP_ITERATION_3 216 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 217 && BOOST_PP_ITERATION_FINISH_3 >= 217 +# define BOOST_PP_ITERATION_3 217 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 218 && BOOST_PP_ITERATION_FINISH_3 >= 218 +# define BOOST_PP_ITERATION_3 218 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 219 && BOOST_PP_ITERATION_FINISH_3 >= 219 +# define BOOST_PP_ITERATION_3 219 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 220 && BOOST_PP_ITERATION_FINISH_3 >= 220 +# define BOOST_PP_ITERATION_3 220 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 221 && BOOST_PP_ITERATION_FINISH_3 >= 221 +# define BOOST_PP_ITERATION_3 221 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 222 && BOOST_PP_ITERATION_FINISH_3 >= 222 +# define BOOST_PP_ITERATION_3 222 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 223 && BOOST_PP_ITERATION_FINISH_3 >= 223 +# define BOOST_PP_ITERATION_3 223 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 224 && BOOST_PP_ITERATION_FINISH_3 >= 224 +# define BOOST_PP_ITERATION_3 224 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 225 && BOOST_PP_ITERATION_FINISH_3 >= 225 +# define BOOST_PP_ITERATION_3 225 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 226 && BOOST_PP_ITERATION_FINISH_3 >= 226 +# define BOOST_PP_ITERATION_3 226 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 227 && BOOST_PP_ITERATION_FINISH_3 >= 227 +# define BOOST_PP_ITERATION_3 227 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 228 && BOOST_PP_ITERATION_FINISH_3 >= 228 +# define BOOST_PP_ITERATION_3 228 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 229 && BOOST_PP_ITERATION_FINISH_3 >= 229 +# define BOOST_PP_ITERATION_3 229 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 230 && BOOST_PP_ITERATION_FINISH_3 >= 230 +# define BOOST_PP_ITERATION_3 230 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 231 && BOOST_PP_ITERATION_FINISH_3 >= 231 +# define BOOST_PP_ITERATION_3 231 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 232 && BOOST_PP_ITERATION_FINISH_3 >= 232 +# define BOOST_PP_ITERATION_3 232 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 233 && BOOST_PP_ITERATION_FINISH_3 >= 233 +# define BOOST_PP_ITERATION_3 233 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 234 && BOOST_PP_ITERATION_FINISH_3 >= 234 +# define BOOST_PP_ITERATION_3 234 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 235 && BOOST_PP_ITERATION_FINISH_3 >= 235 +# define BOOST_PP_ITERATION_3 235 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 236 && BOOST_PP_ITERATION_FINISH_3 >= 236 +# define BOOST_PP_ITERATION_3 236 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 237 && BOOST_PP_ITERATION_FINISH_3 >= 237 +# define BOOST_PP_ITERATION_3 237 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 238 && BOOST_PP_ITERATION_FINISH_3 >= 238 +# define BOOST_PP_ITERATION_3 238 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 239 && BOOST_PP_ITERATION_FINISH_3 >= 239 +# define BOOST_PP_ITERATION_3 239 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 240 && BOOST_PP_ITERATION_FINISH_3 >= 240 +# define BOOST_PP_ITERATION_3 240 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 241 && BOOST_PP_ITERATION_FINISH_3 >= 241 +# define BOOST_PP_ITERATION_3 241 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 242 && BOOST_PP_ITERATION_FINISH_3 >= 242 +# define BOOST_PP_ITERATION_3 242 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 243 && BOOST_PP_ITERATION_FINISH_3 >= 243 +# define BOOST_PP_ITERATION_3 243 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 244 && BOOST_PP_ITERATION_FINISH_3 >= 244 +# define BOOST_PP_ITERATION_3 244 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 245 && BOOST_PP_ITERATION_FINISH_3 >= 245 +# define BOOST_PP_ITERATION_3 245 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 246 && BOOST_PP_ITERATION_FINISH_3 >= 246 +# define BOOST_PP_ITERATION_3 246 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 247 && BOOST_PP_ITERATION_FINISH_3 >= 247 +# define BOOST_PP_ITERATION_3 247 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 248 && BOOST_PP_ITERATION_FINISH_3 >= 248 +# define BOOST_PP_ITERATION_3 248 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 249 && BOOST_PP_ITERATION_FINISH_3 >= 249 +# define BOOST_PP_ITERATION_3 249 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 250 && BOOST_PP_ITERATION_FINISH_3 >= 250 +# define BOOST_PP_ITERATION_3 250 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 251 && BOOST_PP_ITERATION_FINISH_3 >= 251 +# define BOOST_PP_ITERATION_3 251 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 252 && BOOST_PP_ITERATION_FINISH_3 >= 252 +# define BOOST_PP_ITERATION_3 252 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 253 && BOOST_PP_ITERATION_FINISH_3 >= 253 +# define BOOST_PP_ITERATION_3 253 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 254 && BOOST_PP_ITERATION_FINISH_3 >= 254 +# define BOOST_PP_ITERATION_3 254 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 255 && BOOST_PP_ITERATION_FINISH_3 >= 255 +# define BOOST_PP_ITERATION_3 255 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_START_3 <= 256 && BOOST_PP_ITERATION_FINISH_3 >= 256 +# define BOOST_PP_ITERATION_3 256 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 2 +# +# undef BOOST_PP_ITERATION_START_3 +# undef BOOST_PP_ITERATION_FINISH_3 +# undef BOOST_PP_FILENAME_3 +# +# undef BOOST_PP_ITERATION_FLAGS_3 +# undef BOOST_PP_ITERATION_PARAMS_3 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward4.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward4.hpp new file mode 100644 index 0000000..653c7b1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward4.hpp @@ -0,0 +1,1338 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if defined(BOOST_PP_ITERATION_LIMITS) +# if !defined(BOOST_PP_FILENAME_4) +# error BOOST_PP_ERROR: depth #4 filename is not defined +# endif +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_ITERATION_FLAGS_4 0 +# undef BOOST_PP_ITERATION_LIMITS +# elif defined(BOOST_PP_ITERATION_PARAMS_4) +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_4) +# include +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_4) +# include +# define BOOST_PP_FILENAME_4 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_4) +# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_4) >= 4 +# define BOOST_PP_ITERATION_FLAGS_4 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_4) +# else +# define BOOST_PP_ITERATION_FLAGS_4 0 +# endif +# else +# error BOOST_PP_ERROR: depth #4 iteration boundaries or filename not defined +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 4 +# +# if (BOOST_PP_ITERATION_START_4) > (BOOST_PP_ITERATION_FINISH_4) +# include +# else +# if BOOST_PP_ITERATION_START_4 <= 0 && BOOST_PP_ITERATION_FINISH_4 >= 0 +# define BOOST_PP_ITERATION_4 0 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 1 && BOOST_PP_ITERATION_FINISH_4 >= 1 +# define BOOST_PP_ITERATION_4 1 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 2 && BOOST_PP_ITERATION_FINISH_4 >= 2 +# define BOOST_PP_ITERATION_4 2 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 3 && BOOST_PP_ITERATION_FINISH_4 >= 3 +# define BOOST_PP_ITERATION_4 3 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 4 && BOOST_PP_ITERATION_FINISH_4 >= 4 +# define BOOST_PP_ITERATION_4 4 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 5 && BOOST_PP_ITERATION_FINISH_4 >= 5 +# define BOOST_PP_ITERATION_4 5 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 6 && BOOST_PP_ITERATION_FINISH_4 >= 6 +# define BOOST_PP_ITERATION_4 6 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 7 && BOOST_PP_ITERATION_FINISH_4 >= 7 +# define BOOST_PP_ITERATION_4 7 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 8 && BOOST_PP_ITERATION_FINISH_4 >= 8 +# define BOOST_PP_ITERATION_4 8 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 9 && BOOST_PP_ITERATION_FINISH_4 >= 9 +# define BOOST_PP_ITERATION_4 9 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 10 && BOOST_PP_ITERATION_FINISH_4 >= 10 +# define BOOST_PP_ITERATION_4 10 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 11 && BOOST_PP_ITERATION_FINISH_4 >= 11 +# define BOOST_PP_ITERATION_4 11 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 12 && BOOST_PP_ITERATION_FINISH_4 >= 12 +# define BOOST_PP_ITERATION_4 12 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 13 && BOOST_PP_ITERATION_FINISH_4 >= 13 +# define BOOST_PP_ITERATION_4 13 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 14 && BOOST_PP_ITERATION_FINISH_4 >= 14 +# define BOOST_PP_ITERATION_4 14 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 15 && BOOST_PP_ITERATION_FINISH_4 >= 15 +# define BOOST_PP_ITERATION_4 15 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 16 && BOOST_PP_ITERATION_FINISH_4 >= 16 +# define BOOST_PP_ITERATION_4 16 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 17 && BOOST_PP_ITERATION_FINISH_4 >= 17 +# define BOOST_PP_ITERATION_4 17 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 18 && BOOST_PP_ITERATION_FINISH_4 >= 18 +# define BOOST_PP_ITERATION_4 18 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 19 && BOOST_PP_ITERATION_FINISH_4 >= 19 +# define BOOST_PP_ITERATION_4 19 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 20 && BOOST_PP_ITERATION_FINISH_4 >= 20 +# define BOOST_PP_ITERATION_4 20 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 21 && BOOST_PP_ITERATION_FINISH_4 >= 21 +# define BOOST_PP_ITERATION_4 21 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 22 && BOOST_PP_ITERATION_FINISH_4 >= 22 +# define BOOST_PP_ITERATION_4 22 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 23 && BOOST_PP_ITERATION_FINISH_4 >= 23 +# define BOOST_PP_ITERATION_4 23 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 24 && BOOST_PP_ITERATION_FINISH_4 >= 24 +# define BOOST_PP_ITERATION_4 24 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 25 && BOOST_PP_ITERATION_FINISH_4 >= 25 +# define BOOST_PP_ITERATION_4 25 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 26 && BOOST_PP_ITERATION_FINISH_4 >= 26 +# define BOOST_PP_ITERATION_4 26 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 27 && BOOST_PP_ITERATION_FINISH_4 >= 27 +# define BOOST_PP_ITERATION_4 27 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 28 && BOOST_PP_ITERATION_FINISH_4 >= 28 +# define BOOST_PP_ITERATION_4 28 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 29 && BOOST_PP_ITERATION_FINISH_4 >= 29 +# define BOOST_PP_ITERATION_4 29 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 30 && BOOST_PP_ITERATION_FINISH_4 >= 30 +# define BOOST_PP_ITERATION_4 30 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 31 && BOOST_PP_ITERATION_FINISH_4 >= 31 +# define BOOST_PP_ITERATION_4 31 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 32 && BOOST_PP_ITERATION_FINISH_4 >= 32 +# define BOOST_PP_ITERATION_4 32 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 33 && BOOST_PP_ITERATION_FINISH_4 >= 33 +# define BOOST_PP_ITERATION_4 33 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 34 && BOOST_PP_ITERATION_FINISH_4 >= 34 +# define BOOST_PP_ITERATION_4 34 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 35 && BOOST_PP_ITERATION_FINISH_4 >= 35 +# define BOOST_PP_ITERATION_4 35 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 36 && BOOST_PP_ITERATION_FINISH_4 >= 36 +# define BOOST_PP_ITERATION_4 36 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 37 && BOOST_PP_ITERATION_FINISH_4 >= 37 +# define BOOST_PP_ITERATION_4 37 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 38 && BOOST_PP_ITERATION_FINISH_4 >= 38 +# define BOOST_PP_ITERATION_4 38 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 39 && BOOST_PP_ITERATION_FINISH_4 >= 39 +# define BOOST_PP_ITERATION_4 39 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 40 && BOOST_PP_ITERATION_FINISH_4 >= 40 +# define BOOST_PP_ITERATION_4 40 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 41 && BOOST_PP_ITERATION_FINISH_4 >= 41 +# define BOOST_PP_ITERATION_4 41 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 42 && BOOST_PP_ITERATION_FINISH_4 >= 42 +# define BOOST_PP_ITERATION_4 42 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 43 && BOOST_PP_ITERATION_FINISH_4 >= 43 +# define BOOST_PP_ITERATION_4 43 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 44 && BOOST_PP_ITERATION_FINISH_4 >= 44 +# define BOOST_PP_ITERATION_4 44 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 45 && BOOST_PP_ITERATION_FINISH_4 >= 45 +# define BOOST_PP_ITERATION_4 45 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 46 && BOOST_PP_ITERATION_FINISH_4 >= 46 +# define BOOST_PP_ITERATION_4 46 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 47 && BOOST_PP_ITERATION_FINISH_4 >= 47 +# define BOOST_PP_ITERATION_4 47 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 48 && BOOST_PP_ITERATION_FINISH_4 >= 48 +# define BOOST_PP_ITERATION_4 48 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 49 && BOOST_PP_ITERATION_FINISH_4 >= 49 +# define BOOST_PP_ITERATION_4 49 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 50 && BOOST_PP_ITERATION_FINISH_4 >= 50 +# define BOOST_PP_ITERATION_4 50 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 51 && BOOST_PP_ITERATION_FINISH_4 >= 51 +# define BOOST_PP_ITERATION_4 51 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 52 && BOOST_PP_ITERATION_FINISH_4 >= 52 +# define BOOST_PP_ITERATION_4 52 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 53 && BOOST_PP_ITERATION_FINISH_4 >= 53 +# define BOOST_PP_ITERATION_4 53 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 54 && BOOST_PP_ITERATION_FINISH_4 >= 54 +# define BOOST_PP_ITERATION_4 54 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 55 && BOOST_PP_ITERATION_FINISH_4 >= 55 +# define BOOST_PP_ITERATION_4 55 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 56 && BOOST_PP_ITERATION_FINISH_4 >= 56 +# define BOOST_PP_ITERATION_4 56 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 57 && BOOST_PP_ITERATION_FINISH_4 >= 57 +# define BOOST_PP_ITERATION_4 57 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 58 && BOOST_PP_ITERATION_FINISH_4 >= 58 +# define BOOST_PP_ITERATION_4 58 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 59 && BOOST_PP_ITERATION_FINISH_4 >= 59 +# define BOOST_PP_ITERATION_4 59 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 60 && BOOST_PP_ITERATION_FINISH_4 >= 60 +# define BOOST_PP_ITERATION_4 60 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 61 && BOOST_PP_ITERATION_FINISH_4 >= 61 +# define BOOST_PP_ITERATION_4 61 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 62 && BOOST_PP_ITERATION_FINISH_4 >= 62 +# define BOOST_PP_ITERATION_4 62 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 63 && BOOST_PP_ITERATION_FINISH_4 >= 63 +# define BOOST_PP_ITERATION_4 63 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 64 && BOOST_PP_ITERATION_FINISH_4 >= 64 +# define BOOST_PP_ITERATION_4 64 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 65 && BOOST_PP_ITERATION_FINISH_4 >= 65 +# define BOOST_PP_ITERATION_4 65 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 66 && BOOST_PP_ITERATION_FINISH_4 >= 66 +# define BOOST_PP_ITERATION_4 66 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 67 && BOOST_PP_ITERATION_FINISH_4 >= 67 +# define BOOST_PP_ITERATION_4 67 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 68 && BOOST_PP_ITERATION_FINISH_4 >= 68 +# define BOOST_PP_ITERATION_4 68 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 69 && BOOST_PP_ITERATION_FINISH_4 >= 69 +# define BOOST_PP_ITERATION_4 69 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 70 && BOOST_PP_ITERATION_FINISH_4 >= 70 +# define BOOST_PP_ITERATION_4 70 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 71 && BOOST_PP_ITERATION_FINISH_4 >= 71 +# define BOOST_PP_ITERATION_4 71 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 72 && BOOST_PP_ITERATION_FINISH_4 >= 72 +# define BOOST_PP_ITERATION_4 72 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 73 && BOOST_PP_ITERATION_FINISH_4 >= 73 +# define BOOST_PP_ITERATION_4 73 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 74 && BOOST_PP_ITERATION_FINISH_4 >= 74 +# define BOOST_PP_ITERATION_4 74 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 75 && BOOST_PP_ITERATION_FINISH_4 >= 75 +# define BOOST_PP_ITERATION_4 75 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 76 && BOOST_PP_ITERATION_FINISH_4 >= 76 +# define BOOST_PP_ITERATION_4 76 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 77 && BOOST_PP_ITERATION_FINISH_4 >= 77 +# define BOOST_PP_ITERATION_4 77 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 78 && BOOST_PP_ITERATION_FINISH_4 >= 78 +# define BOOST_PP_ITERATION_4 78 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 79 && BOOST_PP_ITERATION_FINISH_4 >= 79 +# define BOOST_PP_ITERATION_4 79 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 80 && BOOST_PP_ITERATION_FINISH_4 >= 80 +# define BOOST_PP_ITERATION_4 80 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 81 && BOOST_PP_ITERATION_FINISH_4 >= 81 +# define BOOST_PP_ITERATION_4 81 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 82 && BOOST_PP_ITERATION_FINISH_4 >= 82 +# define BOOST_PP_ITERATION_4 82 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 83 && BOOST_PP_ITERATION_FINISH_4 >= 83 +# define BOOST_PP_ITERATION_4 83 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 84 && BOOST_PP_ITERATION_FINISH_4 >= 84 +# define BOOST_PP_ITERATION_4 84 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 85 && BOOST_PP_ITERATION_FINISH_4 >= 85 +# define BOOST_PP_ITERATION_4 85 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 86 && BOOST_PP_ITERATION_FINISH_4 >= 86 +# define BOOST_PP_ITERATION_4 86 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 87 && BOOST_PP_ITERATION_FINISH_4 >= 87 +# define BOOST_PP_ITERATION_4 87 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 88 && BOOST_PP_ITERATION_FINISH_4 >= 88 +# define BOOST_PP_ITERATION_4 88 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 89 && BOOST_PP_ITERATION_FINISH_4 >= 89 +# define BOOST_PP_ITERATION_4 89 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 90 && BOOST_PP_ITERATION_FINISH_4 >= 90 +# define BOOST_PP_ITERATION_4 90 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 91 && BOOST_PP_ITERATION_FINISH_4 >= 91 +# define BOOST_PP_ITERATION_4 91 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 92 && BOOST_PP_ITERATION_FINISH_4 >= 92 +# define BOOST_PP_ITERATION_4 92 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 93 && BOOST_PP_ITERATION_FINISH_4 >= 93 +# define BOOST_PP_ITERATION_4 93 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 94 && BOOST_PP_ITERATION_FINISH_4 >= 94 +# define BOOST_PP_ITERATION_4 94 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 95 && BOOST_PP_ITERATION_FINISH_4 >= 95 +# define BOOST_PP_ITERATION_4 95 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 96 && BOOST_PP_ITERATION_FINISH_4 >= 96 +# define BOOST_PP_ITERATION_4 96 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 97 && BOOST_PP_ITERATION_FINISH_4 >= 97 +# define BOOST_PP_ITERATION_4 97 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 98 && BOOST_PP_ITERATION_FINISH_4 >= 98 +# define BOOST_PP_ITERATION_4 98 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 99 && BOOST_PP_ITERATION_FINISH_4 >= 99 +# define BOOST_PP_ITERATION_4 99 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 100 && BOOST_PP_ITERATION_FINISH_4 >= 100 +# define BOOST_PP_ITERATION_4 100 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 101 && BOOST_PP_ITERATION_FINISH_4 >= 101 +# define BOOST_PP_ITERATION_4 101 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 102 && BOOST_PP_ITERATION_FINISH_4 >= 102 +# define BOOST_PP_ITERATION_4 102 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 103 && BOOST_PP_ITERATION_FINISH_4 >= 103 +# define BOOST_PP_ITERATION_4 103 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 104 && BOOST_PP_ITERATION_FINISH_4 >= 104 +# define BOOST_PP_ITERATION_4 104 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 105 && BOOST_PP_ITERATION_FINISH_4 >= 105 +# define BOOST_PP_ITERATION_4 105 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 106 && BOOST_PP_ITERATION_FINISH_4 >= 106 +# define BOOST_PP_ITERATION_4 106 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 107 && BOOST_PP_ITERATION_FINISH_4 >= 107 +# define BOOST_PP_ITERATION_4 107 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 108 && BOOST_PP_ITERATION_FINISH_4 >= 108 +# define BOOST_PP_ITERATION_4 108 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 109 && BOOST_PP_ITERATION_FINISH_4 >= 109 +# define BOOST_PP_ITERATION_4 109 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 110 && BOOST_PP_ITERATION_FINISH_4 >= 110 +# define BOOST_PP_ITERATION_4 110 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 111 && BOOST_PP_ITERATION_FINISH_4 >= 111 +# define BOOST_PP_ITERATION_4 111 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 112 && BOOST_PP_ITERATION_FINISH_4 >= 112 +# define BOOST_PP_ITERATION_4 112 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 113 && BOOST_PP_ITERATION_FINISH_4 >= 113 +# define BOOST_PP_ITERATION_4 113 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 114 && BOOST_PP_ITERATION_FINISH_4 >= 114 +# define BOOST_PP_ITERATION_4 114 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 115 && BOOST_PP_ITERATION_FINISH_4 >= 115 +# define BOOST_PP_ITERATION_4 115 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 116 && BOOST_PP_ITERATION_FINISH_4 >= 116 +# define BOOST_PP_ITERATION_4 116 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 117 && BOOST_PP_ITERATION_FINISH_4 >= 117 +# define BOOST_PP_ITERATION_4 117 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 118 && BOOST_PP_ITERATION_FINISH_4 >= 118 +# define BOOST_PP_ITERATION_4 118 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 119 && BOOST_PP_ITERATION_FINISH_4 >= 119 +# define BOOST_PP_ITERATION_4 119 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 120 && BOOST_PP_ITERATION_FINISH_4 >= 120 +# define BOOST_PP_ITERATION_4 120 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 121 && BOOST_PP_ITERATION_FINISH_4 >= 121 +# define BOOST_PP_ITERATION_4 121 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 122 && BOOST_PP_ITERATION_FINISH_4 >= 122 +# define BOOST_PP_ITERATION_4 122 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 123 && BOOST_PP_ITERATION_FINISH_4 >= 123 +# define BOOST_PP_ITERATION_4 123 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 124 && BOOST_PP_ITERATION_FINISH_4 >= 124 +# define BOOST_PP_ITERATION_4 124 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 125 && BOOST_PP_ITERATION_FINISH_4 >= 125 +# define BOOST_PP_ITERATION_4 125 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 126 && BOOST_PP_ITERATION_FINISH_4 >= 126 +# define BOOST_PP_ITERATION_4 126 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 127 && BOOST_PP_ITERATION_FINISH_4 >= 127 +# define BOOST_PP_ITERATION_4 127 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 128 && BOOST_PP_ITERATION_FINISH_4 >= 128 +# define BOOST_PP_ITERATION_4 128 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 129 && BOOST_PP_ITERATION_FINISH_4 >= 129 +# define BOOST_PP_ITERATION_4 129 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 130 && BOOST_PP_ITERATION_FINISH_4 >= 130 +# define BOOST_PP_ITERATION_4 130 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 131 && BOOST_PP_ITERATION_FINISH_4 >= 131 +# define BOOST_PP_ITERATION_4 131 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 132 && BOOST_PP_ITERATION_FINISH_4 >= 132 +# define BOOST_PP_ITERATION_4 132 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 133 && BOOST_PP_ITERATION_FINISH_4 >= 133 +# define BOOST_PP_ITERATION_4 133 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 134 && BOOST_PP_ITERATION_FINISH_4 >= 134 +# define BOOST_PP_ITERATION_4 134 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 135 && BOOST_PP_ITERATION_FINISH_4 >= 135 +# define BOOST_PP_ITERATION_4 135 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 136 && BOOST_PP_ITERATION_FINISH_4 >= 136 +# define BOOST_PP_ITERATION_4 136 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 137 && BOOST_PP_ITERATION_FINISH_4 >= 137 +# define BOOST_PP_ITERATION_4 137 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 138 && BOOST_PP_ITERATION_FINISH_4 >= 138 +# define BOOST_PP_ITERATION_4 138 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 139 && BOOST_PP_ITERATION_FINISH_4 >= 139 +# define BOOST_PP_ITERATION_4 139 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 140 && BOOST_PP_ITERATION_FINISH_4 >= 140 +# define BOOST_PP_ITERATION_4 140 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 141 && BOOST_PP_ITERATION_FINISH_4 >= 141 +# define BOOST_PP_ITERATION_4 141 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 142 && BOOST_PP_ITERATION_FINISH_4 >= 142 +# define BOOST_PP_ITERATION_4 142 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 143 && BOOST_PP_ITERATION_FINISH_4 >= 143 +# define BOOST_PP_ITERATION_4 143 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 144 && BOOST_PP_ITERATION_FINISH_4 >= 144 +# define BOOST_PP_ITERATION_4 144 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 145 && BOOST_PP_ITERATION_FINISH_4 >= 145 +# define BOOST_PP_ITERATION_4 145 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 146 && BOOST_PP_ITERATION_FINISH_4 >= 146 +# define BOOST_PP_ITERATION_4 146 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 147 && BOOST_PP_ITERATION_FINISH_4 >= 147 +# define BOOST_PP_ITERATION_4 147 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 148 && BOOST_PP_ITERATION_FINISH_4 >= 148 +# define BOOST_PP_ITERATION_4 148 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 149 && BOOST_PP_ITERATION_FINISH_4 >= 149 +# define BOOST_PP_ITERATION_4 149 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 150 && BOOST_PP_ITERATION_FINISH_4 >= 150 +# define BOOST_PP_ITERATION_4 150 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 151 && BOOST_PP_ITERATION_FINISH_4 >= 151 +# define BOOST_PP_ITERATION_4 151 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 152 && BOOST_PP_ITERATION_FINISH_4 >= 152 +# define BOOST_PP_ITERATION_4 152 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 153 && BOOST_PP_ITERATION_FINISH_4 >= 153 +# define BOOST_PP_ITERATION_4 153 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 154 && BOOST_PP_ITERATION_FINISH_4 >= 154 +# define BOOST_PP_ITERATION_4 154 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 155 && BOOST_PP_ITERATION_FINISH_4 >= 155 +# define BOOST_PP_ITERATION_4 155 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 156 && BOOST_PP_ITERATION_FINISH_4 >= 156 +# define BOOST_PP_ITERATION_4 156 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 157 && BOOST_PP_ITERATION_FINISH_4 >= 157 +# define BOOST_PP_ITERATION_4 157 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 158 && BOOST_PP_ITERATION_FINISH_4 >= 158 +# define BOOST_PP_ITERATION_4 158 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 159 && BOOST_PP_ITERATION_FINISH_4 >= 159 +# define BOOST_PP_ITERATION_4 159 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 160 && BOOST_PP_ITERATION_FINISH_4 >= 160 +# define BOOST_PP_ITERATION_4 160 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 161 && BOOST_PP_ITERATION_FINISH_4 >= 161 +# define BOOST_PP_ITERATION_4 161 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 162 && BOOST_PP_ITERATION_FINISH_4 >= 162 +# define BOOST_PP_ITERATION_4 162 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 163 && BOOST_PP_ITERATION_FINISH_4 >= 163 +# define BOOST_PP_ITERATION_4 163 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 164 && BOOST_PP_ITERATION_FINISH_4 >= 164 +# define BOOST_PP_ITERATION_4 164 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 165 && BOOST_PP_ITERATION_FINISH_4 >= 165 +# define BOOST_PP_ITERATION_4 165 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 166 && BOOST_PP_ITERATION_FINISH_4 >= 166 +# define BOOST_PP_ITERATION_4 166 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 167 && BOOST_PP_ITERATION_FINISH_4 >= 167 +# define BOOST_PP_ITERATION_4 167 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 168 && BOOST_PP_ITERATION_FINISH_4 >= 168 +# define BOOST_PP_ITERATION_4 168 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 169 && BOOST_PP_ITERATION_FINISH_4 >= 169 +# define BOOST_PP_ITERATION_4 169 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 170 && BOOST_PP_ITERATION_FINISH_4 >= 170 +# define BOOST_PP_ITERATION_4 170 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 171 && BOOST_PP_ITERATION_FINISH_4 >= 171 +# define BOOST_PP_ITERATION_4 171 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 172 && BOOST_PP_ITERATION_FINISH_4 >= 172 +# define BOOST_PP_ITERATION_4 172 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 173 && BOOST_PP_ITERATION_FINISH_4 >= 173 +# define BOOST_PP_ITERATION_4 173 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 174 && BOOST_PP_ITERATION_FINISH_4 >= 174 +# define BOOST_PP_ITERATION_4 174 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 175 && BOOST_PP_ITERATION_FINISH_4 >= 175 +# define BOOST_PP_ITERATION_4 175 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 176 && BOOST_PP_ITERATION_FINISH_4 >= 176 +# define BOOST_PP_ITERATION_4 176 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 177 && BOOST_PP_ITERATION_FINISH_4 >= 177 +# define BOOST_PP_ITERATION_4 177 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 178 && BOOST_PP_ITERATION_FINISH_4 >= 178 +# define BOOST_PP_ITERATION_4 178 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 179 && BOOST_PP_ITERATION_FINISH_4 >= 179 +# define BOOST_PP_ITERATION_4 179 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 180 && BOOST_PP_ITERATION_FINISH_4 >= 180 +# define BOOST_PP_ITERATION_4 180 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 181 && BOOST_PP_ITERATION_FINISH_4 >= 181 +# define BOOST_PP_ITERATION_4 181 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 182 && BOOST_PP_ITERATION_FINISH_4 >= 182 +# define BOOST_PP_ITERATION_4 182 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 183 && BOOST_PP_ITERATION_FINISH_4 >= 183 +# define BOOST_PP_ITERATION_4 183 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 184 && BOOST_PP_ITERATION_FINISH_4 >= 184 +# define BOOST_PP_ITERATION_4 184 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 185 && BOOST_PP_ITERATION_FINISH_4 >= 185 +# define BOOST_PP_ITERATION_4 185 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 186 && BOOST_PP_ITERATION_FINISH_4 >= 186 +# define BOOST_PP_ITERATION_4 186 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 187 && BOOST_PP_ITERATION_FINISH_4 >= 187 +# define BOOST_PP_ITERATION_4 187 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 188 && BOOST_PP_ITERATION_FINISH_4 >= 188 +# define BOOST_PP_ITERATION_4 188 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 189 && BOOST_PP_ITERATION_FINISH_4 >= 189 +# define BOOST_PP_ITERATION_4 189 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 190 && BOOST_PP_ITERATION_FINISH_4 >= 190 +# define BOOST_PP_ITERATION_4 190 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 191 && BOOST_PP_ITERATION_FINISH_4 >= 191 +# define BOOST_PP_ITERATION_4 191 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 192 && BOOST_PP_ITERATION_FINISH_4 >= 192 +# define BOOST_PP_ITERATION_4 192 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 193 && BOOST_PP_ITERATION_FINISH_4 >= 193 +# define BOOST_PP_ITERATION_4 193 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 194 && BOOST_PP_ITERATION_FINISH_4 >= 194 +# define BOOST_PP_ITERATION_4 194 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 195 && BOOST_PP_ITERATION_FINISH_4 >= 195 +# define BOOST_PP_ITERATION_4 195 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 196 && BOOST_PP_ITERATION_FINISH_4 >= 196 +# define BOOST_PP_ITERATION_4 196 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 197 && BOOST_PP_ITERATION_FINISH_4 >= 197 +# define BOOST_PP_ITERATION_4 197 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 198 && BOOST_PP_ITERATION_FINISH_4 >= 198 +# define BOOST_PP_ITERATION_4 198 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 199 && BOOST_PP_ITERATION_FINISH_4 >= 199 +# define BOOST_PP_ITERATION_4 199 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 200 && BOOST_PP_ITERATION_FINISH_4 >= 200 +# define BOOST_PP_ITERATION_4 200 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 201 && BOOST_PP_ITERATION_FINISH_4 >= 201 +# define BOOST_PP_ITERATION_4 201 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 202 && BOOST_PP_ITERATION_FINISH_4 >= 202 +# define BOOST_PP_ITERATION_4 202 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 203 && BOOST_PP_ITERATION_FINISH_4 >= 203 +# define BOOST_PP_ITERATION_4 203 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 204 && BOOST_PP_ITERATION_FINISH_4 >= 204 +# define BOOST_PP_ITERATION_4 204 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 205 && BOOST_PP_ITERATION_FINISH_4 >= 205 +# define BOOST_PP_ITERATION_4 205 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 206 && BOOST_PP_ITERATION_FINISH_4 >= 206 +# define BOOST_PP_ITERATION_4 206 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 207 && BOOST_PP_ITERATION_FINISH_4 >= 207 +# define BOOST_PP_ITERATION_4 207 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 208 && BOOST_PP_ITERATION_FINISH_4 >= 208 +# define BOOST_PP_ITERATION_4 208 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 209 && BOOST_PP_ITERATION_FINISH_4 >= 209 +# define BOOST_PP_ITERATION_4 209 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 210 && BOOST_PP_ITERATION_FINISH_4 >= 210 +# define BOOST_PP_ITERATION_4 210 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 211 && BOOST_PP_ITERATION_FINISH_4 >= 211 +# define BOOST_PP_ITERATION_4 211 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 212 && BOOST_PP_ITERATION_FINISH_4 >= 212 +# define BOOST_PP_ITERATION_4 212 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 213 && BOOST_PP_ITERATION_FINISH_4 >= 213 +# define BOOST_PP_ITERATION_4 213 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 214 && BOOST_PP_ITERATION_FINISH_4 >= 214 +# define BOOST_PP_ITERATION_4 214 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 215 && BOOST_PP_ITERATION_FINISH_4 >= 215 +# define BOOST_PP_ITERATION_4 215 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 216 && BOOST_PP_ITERATION_FINISH_4 >= 216 +# define BOOST_PP_ITERATION_4 216 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 217 && BOOST_PP_ITERATION_FINISH_4 >= 217 +# define BOOST_PP_ITERATION_4 217 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 218 && BOOST_PP_ITERATION_FINISH_4 >= 218 +# define BOOST_PP_ITERATION_4 218 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 219 && BOOST_PP_ITERATION_FINISH_4 >= 219 +# define BOOST_PP_ITERATION_4 219 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 220 && BOOST_PP_ITERATION_FINISH_4 >= 220 +# define BOOST_PP_ITERATION_4 220 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 221 && BOOST_PP_ITERATION_FINISH_4 >= 221 +# define BOOST_PP_ITERATION_4 221 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 222 && BOOST_PP_ITERATION_FINISH_4 >= 222 +# define BOOST_PP_ITERATION_4 222 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 223 && BOOST_PP_ITERATION_FINISH_4 >= 223 +# define BOOST_PP_ITERATION_4 223 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 224 && BOOST_PP_ITERATION_FINISH_4 >= 224 +# define BOOST_PP_ITERATION_4 224 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 225 && BOOST_PP_ITERATION_FINISH_4 >= 225 +# define BOOST_PP_ITERATION_4 225 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 226 && BOOST_PP_ITERATION_FINISH_4 >= 226 +# define BOOST_PP_ITERATION_4 226 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 227 && BOOST_PP_ITERATION_FINISH_4 >= 227 +# define BOOST_PP_ITERATION_4 227 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 228 && BOOST_PP_ITERATION_FINISH_4 >= 228 +# define BOOST_PP_ITERATION_4 228 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 229 && BOOST_PP_ITERATION_FINISH_4 >= 229 +# define BOOST_PP_ITERATION_4 229 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 230 && BOOST_PP_ITERATION_FINISH_4 >= 230 +# define BOOST_PP_ITERATION_4 230 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 231 && BOOST_PP_ITERATION_FINISH_4 >= 231 +# define BOOST_PP_ITERATION_4 231 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 232 && BOOST_PP_ITERATION_FINISH_4 >= 232 +# define BOOST_PP_ITERATION_4 232 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 233 && BOOST_PP_ITERATION_FINISH_4 >= 233 +# define BOOST_PP_ITERATION_4 233 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 234 && BOOST_PP_ITERATION_FINISH_4 >= 234 +# define BOOST_PP_ITERATION_4 234 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 235 && BOOST_PP_ITERATION_FINISH_4 >= 235 +# define BOOST_PP_ITERATION_4 235 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 236 && BOOST_PP_ITERATION_FINISH_4 >= 236 +# define BOOST_PP_ITERATION_4 236 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 237 && BOOST_PP_ITERATION_FINISH_4 >= 237 +# define BOOST_PP_ITERATION_4 237 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 238 && BOOST_PP_ITERATION_FINISH_4 >= 238 +# define BOOST_PP_ITERATION_4 238 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 239 && BOOST_PP_ITERATION_FINISH_4 >= 239 +# define BOOST_PP_ITERATION_4 239 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 240 && BOOST_PP_ITERATION_FINISH_4 >= 240 +# define BOOST_PP_ITERATION_4 240 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 241 && BOOST_PP_ITERATION_FINISH_4 >= 241 +# define BOOST_PP_ITERATION_4 241 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 242 && BOOST_PP_ITERATION_FINISH_4 >= 242 +# define BOOST_PP_ITERATION_4 242 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 243 && BOOST_PP_ITERATION_FINISH_4 >= 243 +# define BOOST_PP_ITERATION_4 243 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 244 && BOOST_PP_ITERATION_FINISH_4 >= 244 +# define BOOST_PP_ITERATION_4 244 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 245 && BOOST_PP_ITERATION_FINISH_4 >= 245 +# define BOOST_PP_ITERATION_4 245 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 246 && BOOST_PP_ITERATION_FINISH_4 >= 246 +# define BOOST_PP_ITERATION_4 246 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 247 && BOOST_PP_ITERATION_FINISH_4 >= 247 +# define BOOST_PP_ITERATION_4 247 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 248 && BOOST_PP_ITERATION_FINISH_4 >= 248 +# define BOOST_PP_ITERATION_4 248 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 249 && BOOST_PP_ITERATION_FINISH_4 >= 249 +# define BOOST_PP_ITERATION_4 249 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 250 && BOOST_PP_ITERATION_FINISH_4 >= 250 +# define BOOST_PP_ITERATION_4 250 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 251 && BOOST_PP_ITERATION_FINISH_4 >= 251 +# define BOOST_PP_ITERATION_4 251 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 252 && BOOST_PP_ITERATION_FINISH_4 >= 252 +# define BOOST_PP_ITERATION_4 252 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 253 && BOOST_PP_ITERATION_FINISH_4 >= 253 +# define BOOST_PP_ITERATION_4 253 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 254 && BOOST_PP_ITERATION_FINISH_4 >= 254 +# define BOOST_PP_ITERATION_4 254 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 255 && BOOST_PP_ITERATION_FINISH_4 >= 255 +# define BOOST_PP_ITERATION_4 255 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_START_4 <= 256 && BOOST_PP_ITERATION_FINISH_4 >= 256 +# define BOOST_PP_ITERATION_4 256 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 3 +# +# undef BOOST_PP_ITERATION_START_4 +# undef BOOST_PP_ITERATION_FINISH_4 +# undef BOOST_PP_FILENAME_4 +# +# undef BOOST_PP_ITERATION_FLAGS_4 +# undef BOOST_PP_ITERATION_PARAMS_4 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward5.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward5.hpp new file mode 100644 index 0000000..000ba0f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/forward5.hpp @@ -0,0 +1,1338 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if defined(BOOST_PP_ITERATION_LIMITS) +# if !defined(BOOST_PP_FILENAME_5) +# error BOOST_PP_ERROR: depth #5 filename is not defined +# endif +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_ITERATION_LIMITS) +# include +# define BOOST_PP_ITERATION_FLAGS_5 0 +# undef BOOST_PP_ITERATION_LIMITS +# elif defined(BOOST_PP_ITERATION_PARAMS_5) +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ITERATION_PARAMS_5) +# include +# define BOOST_PP_VALUE BOOST_PP_ARRAY_ELEM(1, BOOST_PP_ITERATION_PARAMS_5) +# include +# define BOOST_PP_FILENAME_5 BOOST_PP_ARRAY_ELEM(2, BOOST_PP_ITERATION_PARAMS_5) +# if BOOST_PP_ARRAY_SIZE(BOOST_PP_ITERATION_PARAMS_5) >= 4 +# define BOOST_PP_ITERATION_FLAGS_5 BOOST_PP_ARRAY_ELEM(3, BOOST_PP_ITERATION_PARAMS_5) +# else +# define BOOST_PP_ITERATION_FLAGS_5 0 +# endif +# else +# error BOOST_PP_ERROR: depth #5 iteration boundaries or filename not defined +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 5 +# +# if (BOOST_PP_ITERATION_START_5) > (BOOST_PP_ITERATION_FINISH_5) +# include +# else +# if BOOST_PP_ITERATION_START_5 <= 0 && BOOST_PP_ITERATION_FINISH_5 >= 0 +# define BOOST_PP_ITERATION_5 0 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 1 && BOOST_PP_ITERATION_FINISH_5 >= 1 +# define BOOST_PP_ITERATION_5 1 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 2 && BOOST_PP_ITERATION_FINISH_5 >= 2 +# define BOOST_PP_ITERATION_5 2 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 3 && BOOST_PP_ITERATION_FINISH_5 >= 3 +# define BOOST_PP_ITERATION_5 3 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 4 && BOOST_PP_ITERATION_FINISH_5 >= 4 +# define BOOST_PP_ITERATION_5 4 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 5 && BOOST_PP_ITERATION_FINISH_5 >= 5 +# define BOOST_PP_ITERATION_5 5 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 6 && BOOST_PP_ITERATION_FINISH_5 >= 6 +# define BOOST_PP_ITERATION_5 6 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 7 && BOOST_PP_ITERATION_FINISH_5 >= 7 +# define BOOST_PP_ITERATION_5 7 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 8 && BOOST_PP_ITERATION_FINISH_5 >= 8 +# define BOOST_PP_ITERATION_5 8 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 9 && BOOST_PP_ITERATION_FINISH_5 >= 9 +# define BOOST_PP_ITERATION_5 9 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 10 && BOOST_PP_ITERATION_FINISH_5 >= 10 +# define BOOST_PP_ITERATION_5 10 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 11 && BOOST_PP_ITERATION_FINISH_5 >= 11 +# define BOOST_PP_ITERATION_5 11 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 12 && BOOST_PP_ITERATION_FINISH_5 >= 12 +# define BOOST_PP_ITERATION_5 12 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 13 && BOOST_PP_ITERATION_FINISH_5 >= 13 +# define BOOST_PP_ITERATION_5 13 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 14 && BOOST_PP_ITERATION_FINISH_5 >= 14 +# define BOOST_PP_ITERATION_5 14 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 15 && BOOST_PP_ITERATION_FINISH_5 >= 15 +# define BOOST_PP_ITERATION_5 15 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 16 && BOOST_PP_ITERATION_FINISH_5 >= 16 +# define BOOST_PP_ITERATION_5 16 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 17 && BOOST_PP_ITERATION_FINISH_5 >= 17 +# define BOOST_PP_ITERATION_5 17 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 18 && BOOST_PP_ITERATION_FINISH_5 >= 18 +# define BOOST_PP_ITERATION_5 18 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 19 && BOOST_PP_ITERATION_FINISH_5 >= 19 +# define BOOST_PP_ITERATION_5 19 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 20 && BOOST_PP_ITERATION_FINISH_5 >= 20 +# define BOOST_PP_ITERATION_5 20 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 21 && BOOST_PP_ITERATION_FINISH_5 >= 21 +# define BOOST_PP_ITERATION_5 21 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 22 && BOOST_PP_ITERATION_FINISH_5 >= 22 +# define BOOST_PP_ITERATION_5 22 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 23 && BOOST_PP_ITERATION_FINISH_5 >= 23 +# define BOOST_PP_ITERATION_5 23 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 24 && BOOST_PP_ITERATION_FINISH_5 >= 24 +# define BOOST_PP_ITERATION_5 24 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 25 && BOOST_PP_ITERATION_FINISH_5 >= 25 +# define BOOST_PP_ITERATION_5 25 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 26 && BOOST_PP_ITERATION_FINISH_5 >= 26 +# define BOOST_PP_ITERATION_5 26 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 27 && BOOST_PP_ITERATION_FINISH_5 >= 27 +# define BOOST_PP_ITERATION_5 27 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 28 && BOOST_PP_ITERATION_FINISH_5 >= 28 +# define BOOST_PP_ITERATION_5 28 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 29 && BOOST_PP_ITERATION_FINISH_5 >= 29 +# define BOOST_PP_ITERATION_5 29 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 30 && BOOST_PP_ITERATION_FINISH_5 >= 30 +# define BOOST_PP_ITERATION_5 30 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 31 && BOOST_PP_ITERATION_FINISH_5 >= 31 +# define BOOST_PP_ITERATION_5 31 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 32 && BOOST_PP_ITERATION_FINISH_5 >= 32 +# define BOOST_PP_ITERATION_5 32 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 33 && BOOST_PP_ITERATION_FINISH_5 >= 33 +# define BOOST_PP_ITERATION_5 33 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 34 && BOOST_PP_ITERATION_FINISH_5 >= 34 +# define BOOST_PP_ITERATION_5 34 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 35 && BOOST_PP_ITERATION_FINISH_5 >= 35 +# define BOOST_PP_ITERATION_5 35 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 36 && BOOST_PP_ITERATION_FINISH_5 >= 36 +# define BOOST_PP_ITERATION_5 36 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 37 && BOOST_PP_ITERATION_FINISH_5 >= 37 +# define BOOST_PP_ITERATION_5 37 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 38 && BOOST_PP_ITERATION_FINISH_5 >= 38 +# define BOOST_PP_ITERATION_5 38 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 39 && BOOST_PP_ITERATION_FINISH_5 >= 39 +# define BOOST_PP_ITERATION_5 39 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 40 && BOOST_PP_ITERATION_FINISH_5 >= 40 +# define BOOST_PP_ITERATION_5 40 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 41 && BOOST_PP_ITERATION_FINISH_5 >= 41 +# define BOOST_PP_ITERATION_5 41 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 42 && BOOST_PP_ITERATION_FINISH_5 >= 42 +# define BOOST_PP_ITERATION_5 42 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 43 && BOOST_PP_ITERATION_FINISH_5 >= 43 +# define BOOST_PP_ITERATION_5 43 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 44 && BOOST_PP_ITERATION_FINISH_5 >= 44 +# define BOOST_PP_ITERATION_5 44 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 45 && BOOST_PP_ITERATION_FINISH_5 >= 45 +# define BOOST_PP_ITERATION_5 45 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 46 && BOOST_PP_ITERATION_FINISH_5 >= 46 +# define BOOST_PP_ITERATION_5 46 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 47 && BOOST_PP_ITERATION_FINISH_5 >= 47 +# define BOOST_PP_ITERATION_5 47 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 48 && BOOST_PP_ITERATION_FINISH_5 >= 48 +# define BOOST_PP_ITERATION_5 48 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 49 && BOOST_PP_ITERATION_FINISH_5 >= 49 +# define BOOST_PP_ITERATION_5 49 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 50 && BOOST_PP_ITERATION_FINISH_5 >= 50 +# define BOOST_PP_ITERATION_5 50 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 51 && BOOST_PP_ITERATION_FINISH_5 >= 51 +# define BOOST_PP_ITERATION_5 51 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 52 && BOOST_PP_ITERATION_FINISH_5 >= 52 +# define BOOST_PP_ITERATION_5 52 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 53 && BOOST_PP_ITERATION_FINISH_5 >= 53 +# define BOOST_PP_ITERATION_5 53 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 54 && BOOST_PP_ITERATION_FINISH_5 >= 54 +# define BOOST_PP_ITERATION_5 54 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 55 && BOOST_PP_ITERATION_FINISH_5 >= 55 +# define BOOST_PP_ITERATION_5 55 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 56 && BOOST_PP_ITERATION_FINISH_5 >= 56 +# define BOOST_PP_ITERATION_5 56 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 57 && BOOST_PP_ITERATION_FINISH_5 >= 57 +# define BOOST_PP_ITERATION_5 57 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 58 && BOOST_PP_ITERATION_FINISH_5 >= 58 +# define BOOST_PP_ITERATION_5 58 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 59 && BOOST_PP_ITERATION_FINISH_5 >= 59 +# define BOOST_PP_ITERATION_5 59 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 60 && BOOST_PP_ITERATION_FINISH_5 >= 60 +# define BOOST_PP_ITERATION_5 60 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 61 && BOOST_PP_ITERATION_FINISH_5 >= 61 +# define BOOST_PP_ITERATION_5 61 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 62 && BOOST_PP_ITERATION_FINISH_5 >= 62 +# define BOOST_PP_ITERATION_5 62 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 63 && BOOST_PP_ITERATION_FINISH_5 >= 63 +# define BOOST_PP_ITERATION_5 63 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 64 && BOOST_PP_ITERATION_FINISH_5 >= 64 +# define BOOST_PP_ITERATION_5 64 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 65 && BOOST_PP_ITERATION_FINISH_5 >= 65 +# define BOOST_PP_ITERATION_5 65 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 66 && BOOST_PP_ITERATION_FINISH_5 >= 66 +# define BOOST_PP_ITERATION_5 66 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 67 && BOOST_PP_ITERATION_FINISH_5 >= 67 +# define BOOST_PP_ITERATION_5 67 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 68 && BOOST_PP_ITERATION_FINISH_5 >= 68 +# define BOOST_PP_ITERATION_5 68 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 69 && BOOST_PP_ITERATION_FINISH_5 >= 69 +# define BOOST_PP_ITERATION_5 69 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 70 && BOOST_PP_ITERATION_FINISH_5 >= 70 +# define BOOST_PP_ITERATION_5 70 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 71 && BOOST_PP_ITERATION_FINISH_5 >= 71 +# define BOOST_PP_ITERATION_5 71 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 72 && BOOST_PP_ITERATION_FINISH_5 >= 72 +# define BOOST_PP_ITERATION_5 72 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 73 && BOOST_PP_ITERATION_FINISH_5 >= 73 +# define BOOST_PP_ITERATION_5 73 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 74 && BOOST_PP_ITERATION_FINISH_5 >= 74 +# define BOOST_PP_ITERATION_5 74 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 75 && BOOST_PP_ITERATION_FINISH_5 >= 75 +# define BOOST_PP_ITERATION_5 75 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 76 && BOOST_PP_ITERATION_FINISH_5 >= 76 +# define BOOST_PP_ITERATION_5 76 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 77 && BOOST_PP_ITERATION_FINISH_5 >= 77 +# define BOOST_PP_ITERATION_5 77 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 78 && BOOST_PP_ITERATION_FINISH_5 >= 78 +# define BOOST_PP_ITERATION_5 78 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 79 && BOOST_PP_ITERATION_FINISH_5 >= 79 +# define BOOST_PP_ITERATION_5 79 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 80 && BOOST_PP_ITERATION_FINISH_5 >= 80 +# define BOOST_PP_ITERATION_5 80 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 81 && BOOST_PP_ITERATION_FINISH_5 >= 81 +# define BOOST_PP_ITERATION_5 81 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 82 && BOOST_PP_ITERATION_FINISH_5 >= 82 +# define BOOST_PP_ITERATION_5 82 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 83 && BOOST_PP_ITERATION_FINISH_5 >= 83 +# define BOOST_PP_ITERATION_5 83 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 84 && BOOST_PP_ITERATION_FINISH_5 >= 84 +# define BOOST_PP_ITERATION_5 84 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 85 && BOOST_PP_ITERATION_FINISH_5 >= 85 +# define BOOST_PP_ITERATION_5 85 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 86 && BOOST_PP_ITERATION_FINISH_5 >= 86 +# define BOOST_PP_ITERATION_5 86 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 87 && BOOST_PP_ITERATION_FINISH_5 >= 87 +# define BOOST_PP_ITERATION_5 87 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 88 && BOOST_PP_ITERATION_FINISH_5 >= 88 +# define BOOST_PP_ITERATION_5 88 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 89 && BOOST_PP_ITERATION_FINISH_5 >= 89 +# define BOOST_PP_ITERATION_5 89 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 90 && BOOST_PP_ITERATION_FINISH_5 >= 90 +# define BOOST_PP_ITERATION_5 90 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 91 && BOOST_PP_ITERATION_FINISH_5 >= 91 +# define BOOST_PP_ITERATION_5 91 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 92 && BOOST_PP_ITERATION_FINISH_5 >= 92 +# define BOOST_PP_ITERATION_5 92 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 93 && BOOST_PP_ITERATION_FINISH_5 >= 93 +# define BOOST_PP_ITERATION_5 93 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 94 && BOOST_PP_ITERATION_FINISH_5 >= 94 +# define BOOST_PP_ITERATION_5 94 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 95 && BOOST_PP_ITERATION_FINISH_5 >= 95 +# define BOOST_PP_ITERATION_5 95 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 96 && BOOST_PP_ITERATION_FINISH_5 >= 96 +# define BOOST_PP_ITERATION_5 96 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 97 && BOOST_PP_ITERATION_FINISH_5 >= 97 +# define BOOST_PP_ITERATION_5 97 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 98 && BOOST_PP_ITERATION_FINISH_5 >= 98 +# define BOOST_PP_ITERATION_5 98 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 99 && BOOST_PP_ITERATION_FINISH_5 >= 99 +# define BOOST_PP_ITERATION_5 99 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 100 && BOOST_PP_ITERATION_FINISH_5 >= 100 +# define BOOST_PP_ITERATION_5 100 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 101 && BOOST_PP_ITERATION_FINISH_5 >= 101 +# define BOOST_PP_ITERATION_5 101 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 102 && BOOST_PP_ITERATION_FINISH_5 >= 102 +# define BOOST_PP_ITERATION_5 102 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 103 && BOOST_PP_ITERATION_FINISH_5 >= 103 +# define BOOST_PP_ITERATION_5 103 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 104 && BOOST_PP_ITERATION_FINISH_5 >= 104 +# define BOOST_PP_ITERATION_5 104 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 105 && BOOST_PP_ITERATION_FINISH_5 >= 105 +# define BOOST_PP_ITERATION_5 105 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 106 && BOOST_PP_ITERATION_FINISH_5 >= 106 +# define BOOST_PP_ITERATION_5 106 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 107 && BOOST_PP_ITERATION_FINISH_5 >= 107 +# define BOOST_PP_ITERATION_5 107 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 108 && BOOST_PP_ITERATION_FINISH_5 >= 108 +# define BOOST_PP_ITERATION_5 108 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 109 && BOOST_PP_ITERATION_FINISH_5 >= 109 +# define BOOST_PP_ITERATION_5 109 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 110 && BOOST_PP_ITERATION_FINISH_5 >= 110 +# define BOOST_PP_ITERATION_5 110 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 111 && BOOST_PP_ITERATION_FINISH_5 >= 111 +# define BOOST_PP_ITERATION_5 111 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 112 && BOOST_PP_ITERATION_FINISH_5 >= 112 +# define BOOST_PP_ITERATION_5 112 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 113 && BOOST_PP_ITERATION_FINISH_5 >= 113 +# define BOOST_PP_ITERATION_5 113 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 114 && BOOST_PP_ITERATION_FINISH_5 >= 114 +# define BOOST_PP_ITERATION_5 114 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 115 && BOOST_PP_ITERATION_FINISH_5 >= 115 +# define BOOST_PP_ITERATION_5 115 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 116 && BOOST_PP_ITERATION_FINISH_5 >= 116 +# define BOOST_PP_ITERATION_5 116 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 117 && BOOST_PP_ITERATION_FINISH_5 >= 117 +# define BOOST_PP_ITERATION_5 117 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 118 && BOOST_PP_ITERATION_FINISH_5 >= 118 +# define BOOST_PP_ITERATION_5 118 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 119 && BOOST_PP_ITERATION_FINISH_5 >= 119 +# define BOOST_PP_ITERATION_5 119 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 120 && BOOST_PP_ITERATION_FINISH_5 >= 120 +# define BOOST_PP_ITERATION_5 120 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 121 && BOOST_PP_ITERATION_FINISH_5 >= 121 +# define BOOST_PP_ITERATION_5 121 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 122 && BOOST_PP_ITERATION_FINISH_5 >= 122 +# define BOOST_PP_ITERATION_5 122 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 123 && BOOST_PP_ITERATION_FINISH_5 >= 123 +# define BOOST_PP_ITERATION_5 123 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 124 && BOOST_PP_ITERATION_FINISH_5 >= 124 +# define BOOST_PP_ITERATION_5 124 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 125 && BOOST_PP_ITERATION_FINISH_5 >= 125 +# define BOOST_PP_ITERATION_5 125 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 126 && BOOST_PP_ITERATION_FINISH_5 >= 126 +# define BOOST_PP_ITERATION_5 126 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 127 && BOOST_PP_ITERATION_FINISH_5 >= 127 +# define BOOST_PP_ITERATION_5 127 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 128 && BOOST_PP_ITERATION_FINISH_5 >= 128 +# define BOOST_PP_ITERATION_5 128 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 129 && BOOST_PP_ITERATION_FINISH_5 >= 129 +# define BOOST_PP_ITERATION_5 129 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 130 && BOOST_PP_ITERATION_FINISH_5 >= 130 +# define BOOST_PP_ITERATION_5 130 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 131 && BOOST_PP_ITERATION_FINISH_5 >= 131 +# define BOOST_PP_ITERATION_5 131 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 132 && BOOST_PP_ITERATION_FINISH_5 >= 132 +# define BOOST_PP_ITERATION_5 132 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 133 && BOOST_PP_ITERATION_FINISH_5 >= 133 +# define BOOST_PP_ITERATION_5 133 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 134 && BOOST_PP_ITERATION_FINISH_5 >= 134 +# define BOOST_PP_ITERATION_5 134 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 135 && BOOST_PP_ITERATION_FINISH_5 >= 135 +# define BOOST_PP_ITERATION_5 135 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 136 && BOOST_PP_ITERATION_FINISH_5 >= 136 +# define BOOST_PP_ITERATION_5 136 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 137 && BOOST_PP_ITERATION_FINISH_5 >= 137 +# define BOOST_PP_ITERATION_5 137 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 138 && BOOST_PP_ITERATION_FINISH_5 >= 138 +# define BOOST_PP_ITERATION_5 138 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 139 && BOOST_PP_ITERATION_FINISH_5 >= 139 +# define BOOST_PP_ITERATION_5 139 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 140 && BOOST_PP_ITERATION_FINISH_5 >= 140 +# define BOOST_PP_ITERATION_5 140 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 141 && BOOST_PP_ITERATION_FINISH_5 >= 141 +# define BOOST_PP_ITERATION_5 141 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 142 && BOOST_PP_ITERATION_FINISH_5 >= 142 +# define BOOST_PP_ITERATION_5 142 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 143 && BOOST_PP_ITERATION_FINISH_5 >= 143 +# define BOOST_PP_ITERATION_5 143 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 144 && BOOST_PP_ITERATION_FINISH_5 >= 144 +# define BOOST_PP_ITERATION_5 144 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 145 && BOOST_PP_ITERATION_FINISH_5 >= 145 +# define BOOST_PP_ITERATION_5 145 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 146 && BOOST_PP_ITERATION_FINISH_5 >= 146 +# define BOOST_PP_ITERATION_5 146 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 147 && BOOST_PP_ITERATION_FINISH_5 >= 147 +# define BOOST_PP_ITERATION_5 147 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 148 && BOOST_PP_ITERATION_FINISH_5 >= 148 +# define BOOST_PP_ITERATION_5 148 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 149 && BOOST_PP_ITERATION_FINISH_5 >= 149 +# define BOOST_PP_ITERATION_5 149 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 150 && BOOST_PP_ITERATION_FINISH_5 >= 150 +# define BOOST_PP_ITERATION_5 150 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 151 && BOOST_PP_ITERATION_FINISH_5 >= 151 +# define BOOST_PP_ITERATION_5 151 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 152 && BOOST_PP_ITERATION_FINISH_5 >= 152 +# define BOOST_PP_ITERATION_5 152 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 153 && BOOST_PP_ITERATION_FINISH_5 >= 153 +# define BOOST_PP_ITERATION_5 153 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 154 && BOOST_PP_ITERATION_FINISH_5 >= 154 +# define BOOST_PP_ITERATION_5 154 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 155 && BOOST_PP_ITERATION_FINISH_5 >= 155 +# define BOOST_PP_ITERATION_5 155 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 156 && BOOST_PP_ITERATION_FINISH_5 >= 156 +# define BOOST_PP_ITERATION_5 156 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 157 && BOOST_PP_ITERATION_FINISH_5 >= 157 +# define BOOST_PP_ITERATION_5 157 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 158 && BOOST_PP_ITERATION_FINISH_5 >= 158 +# define BOOST_PP_ITERATION_5 158 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 159 && BOOST_PP_ITERATION_FINISH_5 >= 159 +# define BOOST_PP_ITERATION_5 159 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 160 && BOOST_PP_ITERATION_FINISH_5 >= 160 +# define BOOST_PP_ITERATION_5 160 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 161 && BOOST_PP_ITERATION_FINISH_5 >= 161 +# define BOOST_PP_ITERATION_5 161 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 162 && BOOST_PP_ITERATION_FINISH_5 >= 162 +# define BOOST_PP_ITERATION_5 162 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 163 && BOOST_PP_ITERATION_FINISH_5 >= 163 +# define BOOST_PP_ITERATION_5 163 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 164 && BOOST_PP_ITERATION_FINISH_5 >= 164 +# define BOOST_PP_ITERATION_5 164 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 165 && BOOST_PP_ITERATION_FINISH_5 >= 165 +# define BOOST_PP_ITERATION_5 165 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 166 && BOOST_PP_ITERATION_FINISH_5 >= 166 +# define BOOST_PP_ITERATION_5 166 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 167 && BOOST_PP_ITERATION_FINISH_5 >= 167 +# define BOOST_PP_ITERATION_5 167 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 168 && BOOST_PP_ITERATION_FINISH_5 >= 168 +# define BOOST_PP_ITERATION_5 168 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 169 && BOOST_PP_ITERATION_FINISH_5 >= 169 +# define BOOST_PP_ITERATION_5 169 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 170 && BOOST_PP_ITERATION_FINISH_5 >= 170 +# define BOOST_PP_ITERATION_5 170 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 171 && BOOST_PP_ITERATION_FINISH_5 >= 171 +# define BOOST_PP_ITERATION_5 171 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 172 && BOOST_PP_ITERATION_FINISH_5 >= 172 +# define BOOST_PP_ITERATION_5 172 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 173 && BOOST_PP_ITERATION_FINISH_5 >= 173 +# define BOOST_PP_ITERATION_5 173 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 174 && BOOST_PP_ITERATION_FINISH_5 >= 174 +# define BOOST_PP_ITERATION_5 174 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 175 && BOOST_PP_ITERATION_FINISH_5 >= 175 +# define BOOST_PP_ITERATION_5 175 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 176 && BOOST_PP_ITERATION_FINISH_5 >= 176 +# define BOOST_PP_ITERATION_5 176 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 177 && BOOST_PP_ITERATION_FINISH_5 >= 177 +# define BOOST_PP_ITERATION_5 177 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 178 && BOOST_PP_ITERATION_FINISH_5 >= 178 +# define BOOST_PP_ITERATION_5 178 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 179 && BOOST_PP_ITERATION_FINISH_5 >= 179 +# define BOOST_PP_ITERATION_5 179 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 180 && BOOST_PP_ITERATION_FINISH_5 >= 180 +# define BOOST_PP_ITERATION_5 180 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 181 && BOOST_PP_ITERATION_FINISH_5 >= 181 +# define BOOST_PP_ITERATION_5 181 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 182 && BOOST_PP_ITERATION_FINISH_5 >= 182 +# define BOOST_PP_ITERATION_5 182 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 183 && BOOST_PP_ITERATION_FINISH_5 >= 183 +# define BOOST_PP_ITERATION_5 183 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 184 && BOOST_PP_ITERATION_FINISH_5 >= 184 +# define BOOST_PP_ITERATION_5 184 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 185 && BOOST_PP_ITERATION_FINISH_5 >= 185 +# define BOOST_PP_ITERATION_5 185 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 186 && BOOST_PP_ITERATION_FINISH_5 >= 186 +# define BOOST_PP_ITERATION_5 186 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 187 && BOOST_PP_ITERATION_FINISH_5 >= 187 +# define BOOST_PP_ITERATION_5 187 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 188 && BOOST_PP_ITERATION_FINISH_5 >= 188 +# define BOOST_PP_ITERATION_5 188 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 189 && BOOST_PP_ITERATION_FINISH_5 >= 189 +# define BOOST_PP_ITERATION_5 189 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 190 && BOOST_PP_ITERATION_FINISH_5 >= 190 +# define BOOST_PP_ITERATION_5 190 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 191 && BOOST_PP_ITERATION_FINISH_5 >= 191 +# define BOOST_PP_ITERATION_5 191 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 192 && BOOST_PP_ITERATION_FINISH_5 >= 192 +# define BOOST_PP_ITERATION_5 192 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 193 && BOOST_PP_ITERATION_FINISH_5 >= 193 +# define BOOST_PP_ITERATION_5 193 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 194 && BOOST_PP_ITERATION_FINISH_5 >= 194 +# define BOOST_PP_ITERATION_5 194 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 195 && BOOST_PP_ITERATION_FINISH_5 >= 195 +# define BOOST_PP_ITERATION_5 195 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 196 && BOOST_PP_ITERATION_FINISH_5 >= 196 +# define BOOST_PP_ITERATION_5 196 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 197 && BOOST_PP_ITERATION_FINISH_5 >= 197 +# define BOOST_PP_ITERATION_5 197 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 198 && BOOST_PP_ITERATION_FINISH_5 >= 198 +# define BOOST_PP_ITERATION_5 198 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 199 && BOOST_PP_ITERATION_FINISH_5 >= 199 +# define BOOST_PP_ITERATION_5 199 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 200 && BOOST_PP_ITERATION_FINISH_5 >= 200 +# define BOOST_PP_ITERATION_5 200 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 201 && BOOST_PP_ITERATION_FINISH_5 >= 201 +# define BOOST_PP_ITERATION_5 201 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 202 && BOOST_PP_ITERATION_FINISH_5 >= 202 +# define BOOST_PP_ITERATION_5 202 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 203 && BOOST_PP_ITERATION_FINISH_5 >= 203 +# define BOOST_PP_ITERATION_5 203 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 204 && BOOST_PP_ITERATION_FINISH_5 >= 204 +# define BOOST_PP_ITERATION_5 204 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 205 && BOOST_PP_ITERATION_FINISH_5 >= 205 +# define BOOST_PP_ITERATION_5 205 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 206 && BOOST_PP_ITERATION_FINISH_5 >= 206 +# define BOOST_PP_ITERATION_5 206 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 207 && BOOST_PP_ITERATION_FINISH_5 >= 207 +# define BOOST_PP_ITERATION_5 207 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 208 && BOOST_PP_ITERATION_FINISH_5 >= 208 +# define BOOST_PP_ITERATION_5 208 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 209 && BOOST_PP_ITERATION_FINISH_5 >= 209 +# define BOOST_PP_ITERATION_5 209 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 210 && BOOST_PP_ITERATION_FINISH_5 >= 210 +# define BOOST_PP_ITERATION_5 210 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 211 && BOOST_PP_ITERATION_FINISH_5 >= 211 +# define BOOST_PP_ITERATION_5 211 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 212 && BOOST_PP_ITERATION_FINISH_5 >= 212 +# define BOOST_PP_ITERATION_5 212 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 213 && BOOST_PP_ITERATION_FINISH_5 >= 213 +# define BOOST_PP_ITERATION_5 213 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 214 && BOOST_PP_ITERATION_FINISH_5 >= 214 +# define BOOST_PP_ITERATION_5 214 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 215 && BOOST_PP_ITERATION_FINISH_5 >= 215 +# define BOOST_PP_ITERATION_5 215 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 216 && BOOST_PP_ITERATION_FINISH_5 >= 216 +# define BOOST_PP_ITERATION_5 216 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 217 && BOOST_PP_ITERATION_FINISH_5 >= 217 +# define BOOST_PP_ITERATION_5 217 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 218 && BOOST_PP_ITERATION_FINISH_5 >= 218 +# define BOOST_PP_ITERATION_5 218 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 219 && BOOST_PP_ITERATION_FINISH_5 >= 219 +# define BOOST_PP_ITERATION_5 219 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 220 && BOOST_PP_ITERATION_FINISH_5 >= 220 +# define BOOST_PP_ITERATION_5 220 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 221 && BOOST_PP_ITERATION_FINISH_5 >= 221 +# define BOOST_PP_ITERATION_5 221 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 222 && BOOST_PP_ITERATION_FINISH_5 >= 222 +# define BOOST_PP_ITERATION_5 222 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 223 && BOOST_PP_ITERATION_FINISH_5 >= 223 +# define BOOST_PP_ITERATION_5 223 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 224 && BOOST_PP_ITERATION_FINISH_5 >= 224 +# define BOOST_PP_ITERATION_5 224 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 225 && BOOST_PP_ITERATION_FINISH_5 >= 225 +# define BOOST_PP_ITERATION_5 225 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 226 && BOOST_PP_ITERATION_FINISH_5 >= 226 +# define BOOST_PP_ITERATION_5 226 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 227 && BOOST_PP_ITERATION_FINISH_5 >= 227 +# define BOOST_PP_ITERATION_5 227 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 228 && BOOST_PP_ITERATION_FINISH_5 >= 228 +# define BOOST_PP_ITERATION_5 228 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 229 && BOOST_PP_ITERATION_FINISH_5 >= 229 +# define BOOST_PP_ITERATION_5 229 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 230 && BOOST_PP_ITERATION_FINISH_5 >= 230 +# define BOOST_PP_ITERATION_5 230 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 231 && BOOST_PP_ITERATION_FINISH_5 >= 231 +# define BOOST_PP_ITERATION_5 231 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 232 && BOOST_PP_ITERATION_FINISH_5 >= 232 +# define BOOST_PP_ITERATION_5 232 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 233 && BOOST_PP_ITERATION_FINISH_5 >= 233 +# define BOOST_PP_ITERATION_5 233 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 234 && BOOST_PP_ITERATION_FINISH_5 >= 234 +# define BOOST_PP_ITERATION_5 234 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 235 && BOOST_PP_ITERATION_FINISH_5 >= 235 +# define BOOST_PP_ITERATION_5 235 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 236 && BOOST_PP_ITERATION_FINISH_5 >= 236 +# define BOOST_PP_ITERATION_5 236 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 237 && BOOST_PP_ITERATION_FINISH_5 >= 237 +# define BOOST_PP_ITERATION_5 237 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 238 && BOOST_PP_ITERATION_FINISH_5 >= 238 +# define BOOST_PP_ITERATION_5 238 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 239 && BOOST_PP_ITERATION_FINISH_5 >= 239 +# define BOOST_PP_ITERATION_5 239 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 240 && BOOST_PP_ITERATION_FINISH_5 >= 240 +# define BOOST_PP_ITERATION_5 240 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 241 && BOOST_PP_ITERATION_FINISH_5 >= 241 +# define BOOST_PP_ITERATION_5 241 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 242 && BOOST_PP_ITERATION_FINISH_5 >= 242 +# define BOOST_PP_ITERATION_5 242 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 243 && BOOST_PP_ITERATION_FINISH_5 >= 243 +# define BOOST_PP_ITERATION_5 243 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 244 && BOOST_PP_ITERATION_FINISH_5 >= 244 +# define BOOST_PP_ITERATION_5 244 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 245 && BOOST_PP_ITERATION_FINISH_5 >= 245 +# define BOOST_PP_ITERATION_5 245 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 246 && BOOST_PP_ITERATION_FINISH_5 >= 246 +# define BOOST_PP_ITERATION_5 246 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 247 && BOOST_PP_ITERATION_FINISH_5 >= 247 +# define BOOST_PP_ITERATION_5 247 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 248 && BOOST_PP_ITERATION_FINISH_5 >= 248 +# define BOOST_PP_ITERATION_5 248 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 249 && BOOST_PP_ITERATION_FINISH_5 >= 249 +# define BOOST_PP_ITERATION_5 249 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 250 && BOOST_PP_ITERATION_FINISH_5 >= 250 +# define BOOST_PP_ITERATION_5 250 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 251 && BOOST_PP_ITERATION_FINISH_5 >= 251 +# define BOOST_PP_ITERATION_5 251 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 252 && BOOST_PP_ITERATION_FINISH_5 >= 252 +# define BOOST_PP_ITERATION_5 252 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 253 && BOOST_PP_ITERATION_FINISH_5 >= 253 +# define BOOST_PP_ITERATION_5 253 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 254 && BOOST_PP_ITERATION_FINISH_5 >= 254 +# define BOOST_PP_ITERATION_5 254 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 255 && BOOST_PP_ITERATION_FINISH_5 >= 255 +# define BOOST_PP_ITERATION_5 255 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_START_5 <= 256 && BOOST_PP_ITERATION_FINISH_5 >= 256 +# define BOOST_PP_ITERATION_5 256 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# endif +# +# undef BOOST_PP_ITERATION_DEPTH +# define BOOST_PP_ITERATION_DEPTH() 4 +# +# undef BOOST_PP_ITERATION_START_5 +# undef BOOST_PP_ITERATION_FINISH_5 +# undef BOOST_PP_FILENAME_5 +# +# undef BOOST_PP_ITERATION_FLAGS_5 +# undef BOOST_PP_ITERATION_PARAMS_5 diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp new file mode 100644 index 0000000..558e856 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse1.hpp @@ -0,0 +1,1296 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if BOOST_PP_ITERATION_FINISH_1 <= 256 && BOOST_PP_ITERATION_START_1 >= 256 +# define BOOST_PP_ITERATION_1 256 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 255 && BOOST_PP_ITERATION_START_1 >= 255 +# define BOOST_PP_ITERATION_1 255 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 254 && BOOST_PP_ITERATION_START_1 >= 254 +# define BOOST_PP_ITERATION_1 254 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 253 && BOOST_PP_ITERATION_START_1 >= 253 +# define BOOST_PP_ITERATION_1 253 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 252 && BOOST_PP_ITERATION_START_1 >= 252 +# define BOOST_PP_ITERATION_1 252 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 251 && BOOST_PP_ITERATION_START_1 >= 251 +# define BOOST_PP_ITERATION_1 251 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 250 && BOOST_PP_ITERATION_START_1 >= 250 +# define BOOST_PP_ITERATION_1 250 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 249 && BOOST_PP_ITERATION_START_1 >= 249 +# define BOOST_PP_ITERATION_1 249 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 248 && BOOST_PP_ITERATION_START_1 >= 248 +# define BOOST_PP_ITERATION_1 248 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 247 && BOOST_PP_ITERATION_START_1 >= 247 +# define BOOST_PP_ITERATION_1 247 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 246 && BOOST_PP_ITERATION_START_1 >= 246 +# define BOOST_PP_ITERATION_1 246 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 245 && BOOST_PP_ITERATION_START_1 >= 245 +# define BOOST_PP_ITERATION_1 245 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 244 && BOOST_PP_ITERATION_START_1 >= 244 +# define BOOST_PP_ITERATION_1 244 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 243 && BOOST_PP_ITERATION_START_1 >= 243 +# define BOOST_PP_ITERATION_1 243 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 242 && BOOST_PP_ITERATION_START_1 >= 242 +# define BOOST_PP_ITERATION_1 242 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 241 && BOOST_PP_ITERATION_START_1 >= 241 +# define BOOST_PP_ITERATION_1 241 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 240 && BOOST_PP_ITERATION_START_1 >= 240 +# define BOOST_PP_ITERATION_1 240 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 239 && BOOST_PP_ITERATION_START_1 >= 239 +# define BOOST_PP_ITERATION_1 239 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 238 && BOOST_PP_ITERATION_START_1 >= 238 +# define BOOST_PP_ITERATION_1 238 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 237 && BOOST_PP_ITERATION_START_1 >= 237 +# define BOOST_PP_ITERATION_1 237 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 236 && BOOST_PP_ITERATION_START_1 >= 236 +# define BOOST_PP_ITERATION_1 236 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 235 && BOOST_PP_ITERATION_START_1 >= 235 +# define BOOST_PP_ITERATION_1 235 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 234 && BOOST_PP_ITERATION_START_1 >= 234 +# define BOOST_PP_ITERATION_1 234 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 233 && BOOST_PP_ITERATION_START_1 >= 233 +# define BOOST_PP_ITERATION_1 233 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 232 && BOOST_PP_ITERATION_START_1 >= 232 +# define BOOST_PP_ITERATION_1 232 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 231 && BOOST_PP_ITERATION_START_1 >= 231 +# define BOOST_PP_ITERATION_1 231 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 230 && BOOST_PP_ITERATION_START_1 >= 230 +# define BOOST_PP_ITERATION_1 230 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 229 && BOOST_PP_ITERATION_START_1 >= 229 +# define BOOST_PP_ITERATION_1 229 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 228 && BOOST_PP_ITERATION_START_1 >= 228 +# define BOOST_PP_ITERATION_1 228 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 227 && BOOST_PP_ITERATION_START_1 >= 227 +# define BOOST_PP_ITERATION_1 227 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 226 && BOOST_PP_ITERATION_START_1 >= 226 +# define BOOST_PP_ITERATION_1 226 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 225 && BOOST_PP_ITERATION_START_1 >= 225 +# define BOOST_PP_ITERATION_1 225 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 224 && BOOST_PP_ITERATION_START_1 >= 224 +# define BOOST_PP_ITERATION_1 224 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 223 && BOOST_PP_ITERATION_START_1 >= 223 +# define BOOST_PP_ITERATION_1 223 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 222 && BOOST_PP_ITERATION_START_1 >= 222 +# define BOOST_PP_ITERATION_1 222 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 221 && BOOST_PP_ITERATION_START_1 >= 221 +# define BOOST_PP_ITERATION_1 221 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 220 && BOOST_PP_ITERATION_START_1 >= 220 +# define BOOST_PP_ITERATION_1 220 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 219 && BOOST_PP_ITERATION_START_1 >= 219 +# define BOOST_PP_ITERATION_1 219 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 218 && BOOST_PP_ITERATION_START_1 >= 218 +# define BOOST_PP_ITERATION_1 218 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 217 && BOOST_PP_ITERATION_START_1 >= 217 +# define BOOST_PP_ITERATION_1 217 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 216 && BOOST_PP_ITERATION_START_1 >= 216 +# define BOOST_PP_ITERATION_1 216 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 215 && BOOST_PP_ITERATION_START_1 >= 215 +# define BOOST_PP_ITERATION_1 215 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 214 && BOOST_PP_ITERATION_START_1 >= 214 +# define BOOST_PP_ITERATION_1 214 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 213 && BOOST_PP_ITERATION_START_1 >= 213 +# define BOOST_PP_ITERATION_1 213 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 212 && BOOST_PP_ITERATION_START_1 >= 212 +# define BOOST_PP_ITERATION_1 212 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 211 && BOOST_PP_ITERATION_START_1 >= 211 +# define BOOST_PP_ITERATION_1 211 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 210 && BOOST_PP_ITERATION_START_1 >= 210 +# define BOOST_PP_ITERATION_1 210 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 209 && BOOST_PP_ITERATION_START_1 >= 209 +# define BOOST_PP_ITERATION_1 209 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 208 && BOOST_PP_ITERATION_START_1 >= 208 +# define BOOST_PP_ITERATION_1 208 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 207 && BOOST_PP_ITERATION_START_1 >= 207 +# define BOOST_PP_ITERATION_1 207 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 206 && BOOST_PP_ITERATION_START_1 >= 206 +# define BOOST_PP_ITERATION_1 206 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 205 && BOOST_PP_ITERATION_START_1 >= 205 +# define BOOST_PP_ITERATION_1 205 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 204 && BOOST_PP_ITERATION_START_1 >= 204 +# define BOOST_PP_ITERATION_1 204 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 203 && BOOST_PP_ITERATION_START_1 >= 203 +# define BOOST_PP_ITERATION_1 203 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 202 && BOOST_PP_ITERATION_START_1 >= 202 +# define BOOST_PP_ITERATION_1 202 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 201 && BOOST_PP_ITERATION_START_1 >= 201 +# define BOOST_PP_ITERATION_1 201 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 200 && BOOST_PP_ITERATION_START_1 >= 200 +# define BOOST_PP_ITERATION_1 200 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 199 && BOOST_PP_ITERATION_START_1 >= 199 +# define BOOST_PP_ITERATION_1 199 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 198 && BOOST_PP_ITERATION_START_1 >= 198 +# define BOOST_PP_ITERATION_1 198 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 197 && BOOST_PP_ITERATION_START_1 >= 197 +# define BOOST_PP_ITERATION_1 197 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 196 && BOOST_PP_ITERATION_START_1 >= 196 +# define BOOST_PP_ITERATION_1 196 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 195 && BOOST_PP_ITERATION_START_1 >= 195 +# define BOOST_PP_ITERATION_1 195 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 194 && BOOST_PP_ITERATION_START_1 >= 194 +# define BOOST_PP_ITERATION_1 194 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 193 && BOOST_PP_ITERATION_START_1 >= 193 +# define BOOST_PP_ITERATION_1 193 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 192 && BOOST_PP_ITERATION_START_1 >= 192 +# define BOOST_PP_ITERATION_1 192 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 191 && BOOST_PP_ITERATION_START_1 >= 191 +# define BOOST_PP_ITERATION_1 191 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 190 && BOOST_PP_ITERATION_START_1 >= 190 +# define BOOST_PP_ITERATION_1 190 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 189 && BOOST_PP_ITERATION_START_1 >= 189 +# define BOOST_PP_ITERATION_1 189 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 188 && BOOST_PP_ITERATION_START_1 >= 188 +# define BOOST_PP_ITERATION_1 188 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 187 && BOOST_PP_ITERATION_START_1 >= 187 +# define BOOST_PP_ITERATION_1 187 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 186 && BOOST_PP_ITERATION_START_1 >= 186 +# define BOOST_PP_ITERATION_1 186 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 185 && BOOST_PP_ITERATION_START_1 >= 185 +# define BOOST_PP_ITERATION_1 185 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 184 && BOOST_PP_ITERATION_START_1 >= 184 +# define BOOST_PP_ITERATION_1 184 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 183 && BOOST_PP_ITERATION_START_1 >= 183 +# define BOOST_PP_ITERATION_1 183 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 182 && BOOST_PP_ITERATION_START_1 >= 182 +# define BOOST_PP_ITERATION_1 182 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 181 && BOOST_PP_ITERATION_START_1 >= 181 +# define BOOST_PP_ITERATION_1 181 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 180 && BOOST_PP_ITERATION_START_1 >= 180 +# define BOOST_PP_ITERATION_1 180 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 179 && BOOST_PP_ITERATION_START_1 >= 179 +# define BOOST_PP_ITERATION_1 179 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 178 && BOOST_PP_ITERATION_START_1 >= 178 +# define BOOST_PP_ITERATION_1 178 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 177 && BOOST_PP_ITERATION_START_1 >= 177 +# define BOOST_PP_ITERATION_1 177 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 176 && BOOST_PP_ITERATION_START_1 >= 176 +# define BOOST_PP_ITERATION_1 176 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 175 && BOOST_PP_ITERATION_START_1 >= 175 +# define BOOST_PP_ITERATION_1 175 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 174 && BOOST_PP_ITERATION_START_1 >= 174 +# define BOOST_PP_ITERATION_1 174 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 173 && BOOST_PP_ITERATION_START_1 >= 173 +# define BOOST_PP_ITERATION_1 173 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 172 && BOOST_PP_ITERATION_START_1 >= 172 +# define BOOST_PP_ITERATION_1 172 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 171 && BOOST_PP_ITERATION_START_1 >= 171 +# define BOOST_PP_ITERATION_1 171 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 170 && BOOST_PP_ITERATION_START_1 >= 170 +# define BOOST_PP_ITERATION_1 170 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 169 && BOOST_PP_ITERATION_START_1 >= 169 +# define BOOST_PP_ITERATION_1 169 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 168 && BOOST_PP_ITERATION_START_1 >= 168 +# define BOOST_PP_ITERATION_1 168 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 167 && BOOST_PP_ITERATION_START_1 >= 167 +# define BOOST_PP_ITERATION_1 167 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 166 && BOOST_PP_ITERATION_START_1 >= 166 +# define BOOST_PP_ITERATION_1 166 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 165 && BOOST_PP_ITERATION_START_1 >= 165 +# define BOOST_PP_ITERATION_1 165 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 164 && BOOST_PP_ITERATION_START_1 >= 164 +# define BOOST_PP_ITERATION_1 164 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 163 && BOOST_PP_ITERATION_START_1 >= 163 +# define BOOST_PP_ITERATION_1 163 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 162 && BOOST_PP_ITERATION_START_1 >= 162 +# define BOOST_PP_ITERATION_1 162 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 161 && BOOST_PP_ITERATION_START_1 >= 161 +# define BOOST_PP_ITERATION_1 161 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 160 && BOOST_PP_ITERATION_START_1 >= 160 +# define BOOST_PP_ITERATION_1 160 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 159 && BOOST_PP_ITERATION_START_1 >= 159 +# define BOOST_PP_ITERATION_1 159 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 158 && BOOST_PP_ITERATION_START_1 >= 158 +# define BOOST_PP_ITERATION_1 158 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 157 && BOOST_PP_ITERATION_START_1 >= 157 +# define BOOST_PP_ITERATION_1 157 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 156 && BOOST_PP_ITERATION_START_1 >= 156 +# define BOOST_PP_ITERATION_1 156 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 155 && BOOST_PP_ITERATION_START_1 >= 155 +# define BOOST_PP_ITERATION_1 155 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 154 && BOOST_PP_ITERATION_START_1 >= 154 +# define BOOST_PP_ITERATION_1 154 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 153 && BOOST_PP_ITERATION_START_1 >= 153 +# define BOOST_PP_ITERATION_1 153 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 152 && BOOST_PP_ITERATION_START_1 >= 152 +# define BOOST_PP_ITERATION_1 152 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 151 && BOOST_PP_ITERATION_START_1 >= 151 +# define BOOST_PP_ITERATION_1 151 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 150 && BOOST_PP_ITERATION_START_1 >= 150 +# define BOOST_PP_ITERATION_1 150 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 149 && BOOST_PP_ITERATION_START_1 >= 149 +# define BOOST_PP_ITERATION_1 149 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 148 && BOOST_PP_ITERATION_START_1 >= 148 +# define BOOST_PP_ITERATION_1 148 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 147 && BOOST_PP_ITERATION_START_1 >= 147 +# define BOOST_PP_ITERATION_1 147 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 146 && BOOST_PP_ITERATION_START_1 >= 146 +# define BOOST_PP_ITERATION_1 146 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 145 && BOOST_PP_ITERATION_START_1 >= 145 +# define BOOST_PP_ITERATION_1 145 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 144 && BOOST_PP_ITERATION_START_1 >= 144 +# define BOOST_PP_ITERATION_1 144 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 143 && BOOST_PP_ITERATION_START_1 >= 143 +# define BOOST_PP_ITERATION_1 143 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 142 && BOOST_PP_ITERATION_START_1 >= 142 +# define BOOST_PP_ITERATION_1 142 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 141 && BOOST_PP_ITERATION_START_1 >= 141 +# define BOOST_PP_ITERATION_1 141 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 140 && BOOST_PP_ITERATION_START_1 >= 140 +# define BOOST_PP_ITERATION_1 140 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 139 && BOOST_PP_ITERATION_START_1 >= 139 +# define BOOST_PP_ITERATION_1 139 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 138 && BOOST_PP_ITERATION_START_1 >= 138 +# define BOOST_PP_ITERATION_1 138 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 137 && BOOST_PP_ITERATION_START_1 >= 137 +# define BOOST_PP_ITERATION_1 137 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 136 && BOOST_PP_ITERATION_START_1 >= 136 +# define BOOST_PP_ITERATION_1 136 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 135 && BOOST_PP_ITERATION_START_1 >= 135 +# define BOOST_PP_ITERATION_1 135 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 134 && BOOST_PP_ITERATION_START_1 >= 134 +# define BOOST_PP_ITERATION_1 134 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 133 && BOOST_PP_ITERATION_START_1 >= 133 +# define BOOST_PP_ITERATION_1 133 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 132 && BOOST_PP_ITERATION_START_1 >= 132 +# define BOOST_PP_ITERATION_1 132 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 131 && BOOST_PP_ITERATION_START_1 >= 131 +# define BOOST_PP_ITERATION_1 131 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 130 && BOOST_PP_ITERATION_START_1 >= 130 +# define BOOST_PP_ITERATION_1 130 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 129 && BOOST_PP_ITERATION_START_1 >= 129 +# define BOOST_PP_ITERATION_1 129 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 128 && BOOST_PP_ITERATION_START_1 >= 128 +# define BOOST_PP_ITERATION_1 128 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 127 && BOOST_PP_ITERATION_START_1 >= 127 +# define BOOST_PP_ITERATION_1 127 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 126 && BOOST_PP_ITERATION_START_1 >= 126 +# define BOOST_PP_ITERATION_1 126 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 125 && BOOST_PP_ITERATION_START_1 >= 125 +# define BOOST_PP_ITERATION_1 125 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 124 && BOOST_PP_ITERATION_START_1 >= 124 +# define BOOST_PP_ITERATION_1 124 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 123 && BOOST_PP_ITERATION_START_1 >= 123 +# define BOOST_PP_ITERATION_1 123 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 122 && BOOST_PP_ITERATION_START_1 >= 122 +# define BOOST_PP_ITERATION_1 122 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 121 && BOOST_PP_ITERATION_START_1 >= 121 +# define BOOST_PP_ITERATION_1 121 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 120 && BOOST_PP_ITERATION_START_1 >= 120 +# define BOOST_PP_ITERATION_1 120 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 119 && BOOST_PP_ITERATION_START_1 >= 119 +# define BOOST_PP_ITERATION_1 119 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 118 && BOOST_PP_ITERATION_START_1 >= 118 +# define BOOST_PP_ITERATION_1 118 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 117 && BOOST_PP_ITERATION_START_1 >= 117 +# define BOOST_PP_ITERATION_1 117 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 116 && BOOST_PP_ITERATION_START_1 >= 116 +# define BOOST_PP_ITERATION_1 116 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 115 && BOOST_PP_ITERATION_START_1 >= 115 +# define BOOST_PP_ITERATION_1 115 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 114 && BOOST_PP_ITERATION_START_1 >= 114 +# define BOOST_PP_ITERATION_1 114 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 113 && BOOST_PP_ITERATION_START_1 >= 113 +# define BOOST_PP_ITERATION_1 113 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 112 && BOOST_PP_ITERATION_START_1 >= 112 +# define BOOST_PP_ITERATION_1 112 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 111 && BOOST_PP_ITERATION_START_1 >= 111 +# define BOOST_PP_ITERATION_1 111 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 110 && BOOST_PP_ITERATION_START_1 >= 110 +# define BOOST_PP_ITERATION_1 110 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 109 && BOOST_PP_ITERATION_START_1 >= 109 +# define BOOST_PP_ITERATION_1 109 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 108 && BOOST_PP_ITERATION_START_1 >= 108 +# define BOOST_PP_ITERATION_1 108 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 107 && BOOST_PP_ITERATION_START_1 >= 107 +# define BOOST_PP_ITERATION_1 107 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 106 && BOOST_PP_ITERATION_START_1 >= 106 +# define BOOST_PP_ITERATION_1 106 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 105 && BOOST_PP_ITERATION_START_1 >= 105 +# define BOOST_PP_ITERATION_1 105 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 104 && BOOST_PP_ITERATION_START_1 >= 104 +# define BOOST_PP_ITERATION_1 104 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 103 && BOOST_PP_ITERATION_START_1 >= 103 +# define BOOST_PP_ITERATION_1 103 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 102 && BOOST_PP_ITERATION_START_1 >= 102 +# define BOOST_PP_ITERATION_1 102 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 101 && BOOST_PP_ITERATION_START_1 >= 101 +# define BOOST_PP_ITERATION_1 101 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 100 && BOOST_PP_ITERATION_START_1 >= 100 +# define BOOST_PP_ITERATION_1 100 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 99 && BOOST_PP_ITERATION_START_1 >= 99 +# define BOOST_PP_ITERATION_1 99 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 98 && BOOST_PP_ITERATION_START_1 >= 98 +# define BOOST_PP_ITERATION_1 98 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 97 && BOOST_PP_ITERATION_START_1 >= 97 +# define BOOST_PP_ITERATION_1 97 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 96 && BOOST_PP_ITERATION_START_1 >= 96 +# define BOOST_PP_ITERATION_1 96 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 95 && BOOST_PP_ITERATION_START_1 >= 95 +# define BOOST_PP_ITERATION_1 95 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 94 && BOOST_PP_ITERATION_START_1 >= 94 +# define BOOST_PP_ITERATION_1 94 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 93 && BOOST_PP_ITERATION_START_1 >= 93 +# define BOOST_PP_ITERATION_1 93 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 92 && BOOST_PP_ITERATION_START_1 >= 92 +# define BOOST_PP_ITERATION_1 92 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 91 && BOOST_PP_ITERATION_START_1 >= 91 +# define BOOST_PP_ITERATION_1 91 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 90 && BOOST_PP_ITERATION_START_1 >= 90 +# define BOOST_PP_ITERATION_1 90 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 89 && BOOST_PP_ITERATION_START_1 >= 89 +# define BOOST_PP_ITERATION_1 89 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 88 && BOOST_PP_ITERATION_START_1 >= 88 +# define BOOST_PP_ITERATION_1 88 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 87 && BOOST_PP_ITERATION_START_1 >= 87 +# define BOOST_PP_ITERATION_1 87 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 86 && BOOST_PP_ITERATION_START_1 >= 86 +# define BOOST_PP_ITERATION_1 86 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 85 && BOOST_PP_ITERATION_START_1 >= 85 +# define BOOST_PP_ITERATION_1 85 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 84 && BOOST_PP_ITERATION_START_1 >= 84 +# define BOOST_PP_ITERATION_1 84 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 83 && BOOST_PP_ITERATION_START_1 >= 83 +# define BOOST_PP_ITERATION_1 83 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 82 && BOOST_PP_ITERATION_START_1 >= 82 +# define BOOST_PP_ITERATION_1 82 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 81 && BOOST_PP_ITERATION_START_1 >= 81 +# define BOOST_PP_ITERATION_1 81 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 80 && BOOST_PP_ITERATION_START_1 >= 80 +# define BOOST_PP_ITERATION_1 80 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 79 && BOOST_PP_ITERATION_START_1 >= 79 +# define BOOST_PP_ITERATION_1 79 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 78 && BOOST_PP_ITERATION_START_1 >= 78 +# define BOOST_PP_ITERATION_1 78 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 77 && BOOST_PP_ITERATION_START_1 >= 77 +# define BOOST_PP_ITERATION_1 77 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 76 && BOOST_PP_ITERATION_START_1 >= 76 +# define BOOST_PP_ITERATION_1 76 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 75 && BOOST_PP_ITERATION_START_1 >= 75 +# define BOOST_PP_ITERATION_1 75 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 74 && BOOST_PP_ITERATION_START_1 >= 74 +# define BOOST_PP_ITERATION_1 74 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 73 && BOOST_PP_ITERATION_START_1 >= 73 +# define BOOST_PP_ITERATION_1 73 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 72 && BOOST_PP_ITERATION_START_1 >= 72 +# define BOOST_PP_ITERATION_1 72 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 71 && BOOST_PP_ITERATION_START_1 >= 71 +# define BOOST_PP_ITERATION_1 71 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 70 && BOOST_PP_ITERATION_START_1 >= 70 +# define BOOST_PP_ITERATION_1 70 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 69 && BOOST_PP_ITERATION_START_1 >= 69 +# define BOOST_PP_ITERATION_1 69 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 68 && BOOST_PP_ITERATION_START_1 >= 68 +# define BOOST_PP_ITERATION_1 68 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 67 && BOOST_PP_ITERATION_START_1 >= 67 +# define BOOST_PP_ITERATION_1 67 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 66 && BOOST_PP_ITERATION_START_1 >= 66 +# define BOOST_PP_ITERATION_1 66 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 65 && BOOST_PP_ITERATION_START_1 >= 65 +# define BOOST_PP_ITERATION_1 65 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 64 && BOOST_PP_ITERATION_START_1 >= 64 +# define BOOST_PP_ITERATION_1 64 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 63 && BOOST_PP_ITERATION_START_1 >= 63 +# define BOOST_PP_ITERATION_1 63 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 62 && BOOST_PP_ITERATION_START_1 >= 62 +# define BOOST_PP_ITERATION_1 62 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 61 && BOOST_PP_ITERATION_START_1 >= 61 +# define BOOST_PP_ITERATION_1 61 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 60 && BOOST_PP_ITERATION_START_1 >= 60 +# define BOOST_PP_ITERATION_1 60 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 59 && BOOST_PP_ITERATION_START_1 >= 59 +# define BOOST_PP_ITERATION_1 59 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 58 && BOOST_PP_ITERATION_START_1 >= 58 +# define BOOST_PP_ITERATION_1 58 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 57 && BOOST_PP_ITERATION_START_1 >= 57 +# define BOOST_PP_ITERATION_1 57 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 56 && BOOST_PP_ITERATION_START_1 >= 56 +# define BOOST_PP_ITERATION_1 56 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 55 && BOOST_PP_ITERATION_START_1 >= 55 +# define BOOST_PP_ITERATION_1 55 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 54 && BOOST_PP_ITERATION_START_1 >= 54 +# define BOOST_PP_ITERATION_1 54 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 53 && BOOST_PP_ITERATION_START_1 >= 53 +# define BOOST_PP_ITERATION_1 53 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 52 && BOOST_PP_ITERATION_START_1 >= 52 +# define BOOST_PP_ITERATION_1 52 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 51 && BOOST_PP_ITERATION_START_1 >= 51 +# define BOOST_PP_ITERATION_1 51 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 50 && BOOST_PP_ITERATION_START_1 >= 50 +# define BOOST_PP_ITERATION_1 50 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 49 && BOOST_PP_ITERATION_START_1 >= 49 +# define BOOST_PP_ITERATION_1 49 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 48 && BOOST_PP_ITERATION_START_1 >= 48 +# define BOOST_PP_ITERATION_1 48 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 47 && BOOST_PP_ITERATION_START_1 >= 47 +# define BOOST_PP_ITERATION_1 47 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 46 && BOOST_PP_ITERATION_START_1 >= 46 +# define BOOST_PP_ITERATION_1 46 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 45 && BOOST_PP_ITERATION_START_1 >= 45 +# define BOOST_PP_ITERATION_1 45 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 44 && BOOST_PP_ITERATION_START_1 >= 44 +# define BOOST_PP_ITERATION_1 44 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 43 && BOOST_PP_ITERATION_START_1 >= 43 +# define BOOST_PP_ITERATION_1 43 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 42 && BOOST_PP_ITERATION_START_1 >= 42 +# define BOOST_PP_ITERATION_1 42 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 41 && BOOST_PP_ITERATION_START_1 >= 41 +# define BOOST_PP_ITERATION_1 41 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 40 && BOOST_PP_ITERATION_START_1 >= 40 +# define BOOST_PP_ITERATION_1 40 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 39 && BOOST_PP_ITERATION_START_1 >= 39 +# define BOOST_PP_ITERATION_1 39 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 38 && BOOST_PP_ITERATION_START_1 >= 38 +# define BOOST_PP_ITERATION_1 38 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 37 && BOOST_PP_ITERATION_START_1 >= 37 +# define BOOST_PP_ITERATION_1 37 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 36 && BOOST_PP_ITERATION_START_1 >= 36 +# define BOOST_PP_ITERATION_1 36 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 35 && BOOST_PP_ITERATION_START_1 >= 35 +# define BOOST_PP_ITERATION_1 35 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 34 && BOOST_PP_ITERATION_START_1 >= 34 +# define BOOST_PP_ITERATION_1 34 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 33 && BOOST_PP_ITERATION_START_1 >= 33 +# define BOOST_PP_ITERATION_1 33 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 32 && BOOST_PP_ITERATION_START_1 >= 32 +# define BOOST_PP_ITERATION_1 32 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 31 && BOOST_PP_ITERATION_START_1 >= 31 +# define BOOST_PP_ITERATION_1 31 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 30 && BOOST_PP_ITERATION_START_1 >= 30 +# define BOOST_PP_ITERATION_1 30 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 29 && BOOST_PP_ITERATION_START_1 >= 29 +# define BOOST_PP_ITERATION_1 29 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 28 && BOOST_PP_ITERATION_START_1 >= 28 +# define BOOST_PP_ITERATION_1 28 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 27 && BOOST_PP_ITERATION_START_1 >= 27 +# define BOOST_PP_ITERATION_1 27 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 26 && BOOST_PP_ITERATION_START_1 >= 26 +# define BOOST_PP_ITERATION_1 26 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 25 && BOOST_PP_ITERATION_START_1 >= 25 +# define BOOST_PP_ITERATION_1 25 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 24 && BOOST_PP_ITERATION_START_1 >= 24 +# define BOOST_PP_ITERATION_1 24 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 23 && BOOST_PP_ITERATION_START_1 >= 23 +# define BOOST_PP_ITERATION_1 23 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 22 && BOOST_PP_ITERATION_START_1 >= 22 +# define BOOST_PP_ITERATION_1 22 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 21 && BOOST_PP_ITERATION_START_1 >= 21 +# define BOOST_PP_ITERATION_1 21 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 20 && BOOST_PP_ITERATION_START_1 >= 20 +# define BOOST_PP_ITERATION_1 20 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 19 && BOOST_PP_ITERATION_START_1 >= 19 +# define BOOST_PP_ITERATION_1 19 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 18 && BOOST_PP_ITERATION_START_1 >= 18 +# define BOOST_PP_ITERATION_1 18 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 17 && BOOST_PP_ITERATION_START_1 >= 17 +# define BOOST_PP_ITERATION_1 17 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 16 && BOOST_PP_ITERATION_START_1 >= 16 +# define BOOST_PP_ITERATION_1 16 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 15 && BOOST_PP_ITERATION_START_1 >= 15 +# define BOOST_PP_ITERATION_1 15 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 14 && BOOST_PP_ITERATION_START_1 >= 14 +# define BOOST_PP_ITERATION_1 14 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 13 && BOOST_PP_ITERATION_START_1 >= 13 +# define BOOST_PP_ITERATION_1 13 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 12 && BOOST_PP_ITERATION_START_1 >= 12 +# define BOOST_PP_ITERATION_1 12 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 11 && BOOST_PP_ITERATION_START_1 >= 11 +# define BOOST_PP_ITERATION_1 11 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 10 && BOOST_PP_ITERATION_START_1 >= 10 +# define BOOST_PP_ITERATION_1 10 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 9 && BOOST_PP_ITERATION_START_1 >= 9 +# define BOOST_PP_ITERATION_1 9 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 8 && BOOST_PP_ITERATION_START_1 >= 8 +# define BOOST_PP_ITERATION_1 8 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 7 && BOOST_PP_ITERATION_START_1 >= 7 +# define BOOST_PP_ITERATION_1 7 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 6 && BOOST_PP_ITERATION_START_1 >= 6 +# define BOOST_PP_ITERATION_1 6 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 5 && BOOST_PP_ITERATION_START_1 >= 5 +# define BOOST_PP_ITERATION_1 5 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 4 && BOOST_PP_ITERATION_START_1 >= 4 +# define BOOST_PP_ITERATION_1 4 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 3 && BOOST_PP_ITERATION_START_1 >= 3 +# define BOOST_PP_ITERATION_1 3 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 2 && BOOST_PP_ITERATION_START_1 >= 2 +# define BOOST_PP_ITERATION_1 2 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 1 && BOOST_PP_ITERATION_START_1 >= 1 +# define BOOST_PP_ITERATION_1 1 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif +# if BOOST_PP_ITERATION_FINISH_1 <= 0 && BOOST_PP_ITERATION_START_1 >= 0 +# define BOOST_PP_ITERATION_1 0 +# include BOOST_PP_FILENAME_1 +# undef BOOST_PP_ITERATION_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp new file mode 100644 index 0000000..c784198 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse2.hpp @@ -0,0 +1,1296 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if BOOST_PP_ITERATION_FINISH_2 <= 256 && BOOST_PP_ITERATION_START_2 >= 256 +# define BOOST_PP_ITERATION_2 256 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 255 && BOOST_PP_ITERATION_START_2 >= 255 +# define BOOST_PP_ITERATION_2 255 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 254 && BOOST_PP_ITERATION_START_2 >= 254 +# define BOOST_PP_ITERATION_2 254 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 253 && BOOST_PP_ITERATION_START_2 >= 253 +# define BOOST_PP_ITERATION_2 253 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 252 && BOOST_PP_ITERATION_START_2 >= 252 +# define BOOST_PP_ITERATION_2 252 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 251 && BOOST_PP_ITERATION_START_2 >= 251 +# define BOOST_PP_ITERATION_2 251 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 250 && BOOST_PP_ITERATION_START_2 >= 250 +# define BOOST_PP_ITERATION_2 250 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 249 && BOOST_PP_ITERATION_START_2 >= 249 +# define BOOST_PP_ITERATION_2 249 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 248 && BOOST_PP_ITERATION_START_2 >= 248 +# define BOOST_PP_ITERATION_2 248 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 247 && BOOST_PP_ITERATION_START_2 >= 247 +# define BOOST_PP_ITERATION_2 247 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 246 && BOOST_PP_ITERATION_START_2 >= 246 +# define BOOST_PP_ITERATION_2 246 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 245 && BOOST_PP_ITERATION_START_2 >= 245 +# define BOOST_PP_ITERATION_2 245 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 244 && BOOST_PP_ITERATION_START_2 >= 244 +# define BOOST_PP_ITERATION_2 244 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 243 && BOOST_PP_ITERATION_START_2 >= 243 +# define BOOST_PP_ITERATION_2 243 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 242 && BOOST_PP_ITERATION_START_2 >= 242 +# define BOOST_PP_ITERATION_2 242 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 241 && BOOST_PP_ITERATION_START_2 >= 241 +# define BOOST_PP_ITERATION_2 241 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 240 && BOOST_PP_ITERATION_START_2 >= 240 +# define BOOST_PP_ITERATION_2 240 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 239 && BOOST_PP_ITERATION_START_2 >= 239 +# define BOOST_PP_ITERATION_2 239 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 238 && BOOST_PP_ITERATION_START_2 >= 238 +# define BOOST_PP_ITERATION_2 238 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 237 && BOOST_PP_ITERATION_START_2 >= 237 +# define BOOST_PP_ITERATION_2 237 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 236 && BOOST_PP_ITERATION_START_2 >= 236 +# define BOOST_PP_ITERATION_2 236 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 235 && BOOST_PP_ITERATION_START_2 >= 235 +# define BOOST_PP_ITERATION_2 235 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 234 && BOOST_PP_ITERATION_START_2 >= 234 +# define BOOST_PP_ITERATION_2 234 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 233 && BOOST_PP_ITERATION_START_2 >= 233 +# define BOOST_PP_ITERATION_2 233 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 232 && BOOST_PP_ITERATION_START_2 >= 232 +# define BOOST_PP_ITERATION_2 232 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 231 && BOOST_PP_ITERATION_START_2 >= 231 +# define BOOST_PP_ITERATION_2 231 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 230 && BOOST_PP_ITERATION_START_2 >= 230 +# define BOOST_PP_ITERATION_2 230 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 229 && BOOST_PP_ITERATION_START_2 >= 229 +# define BOOST_PP_ITERATION_2 229 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 228 && BOOST_PP_ITERATION_START_2 >= 228 +# define BOOST_PP_ITERATION_2 228 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 227 && BOOST_PP_ITERATION_START_2 >= 227 +# define BOOST_PP_ITERATION_2 227 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 226 && BOOST_PP_ITERATION_START_2 >= 226 +# define BOOST_PP_ITERATION_2 226 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 225 && BOOST_PP_ITERATION_START_2 >= 225 +# define BOOST_PP_ITERATION_2 225 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 224 && BOOST_PP_ITERATION_START_2 >= 224 +# define BOOST_PP_ITERATION_2 224 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 223 && BOOST_PP_ITERATION_START_2 >= 223 +# define BOOST_PP_ITERATION_2 223 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 222 && BOOST_PP_ITERATION_START_2 >= 222 +# define BOOST_PP_ITERATION_2 222 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 221 && BOOST_PP_ITERATION_START_2 >= 221 +# define BOOST_PP_ITERATION_2 221 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 220 && BOOST_PP_ITERATION_START_2 >= 220 +# define BOOST_PP_ITERATION_2 220 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 219 && BOOST_PP_ITERATION_START_2 >= 219 +# define BOOST_PP_ITERATION_2 219 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 218 && BOOST_PP_ITERATION_START_2 >= 218 +# define BOOST_PP_ITERATION_2 218 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 217 && BOOST_PP_ITERATION_START_2 >= 217 +# define BOOST_PP_ITERATION_2 217 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 216 && BOOST_PP_ITERATION_START_2 >= 216 +# define BOOST_PP_ITERATION_2 216 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 215 && BOOST_PP_ITERATION_START_2 >= 215 +# define BOOST_PP_ITERATION_2 215 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 214 && BOOST_PP_ITERATION_START_2 >= 214 +# define BOOST_PP_ITERATION_2 214 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 213 && BOOST_PP_ITERATION_START_2 >= 213 +# define BOOST_PP_ITERATION_2 213 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 212 && BOOST_PP_ITERATION_START_2 >= 212 +# define BOOST_PP_ITERATION_2 212 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 211 && BOOST_PP_ITERATION_START_2 >= 211 +# define BOOST_PP_ITERATION_2 211 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 210 && BOOST_PP_ITERATION_START_2 >= 210 +# define BOOST_PP_ITERATION_2 210 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 209 && BOOST_PP_ITERATION_START_2 >= 209 +# define BOOST_PP_ITERATION_2 209 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 208 && BOOST_PP_ITERATION_START_2 >= 208 +# define BOOST_PP_ITERATION_2 208 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 207 && BOOST_PP_ITERATION_START_2 >= 207 +# define BOOST_PP_ITERATION_2 207 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 206 && BOOST_PP_ITERATION_START_2 >= 206 +# define BOOST_PP_ITERATION_2 206 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 205 && BOOST_PP_ITERATION_START_2 >= 205 +# define BOOST_PP_ITERATION_2 205 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 204 && BOOST_PP_ITERATION_START_2 >= 204 +# define BOOST_PP_ITERATION_2 204 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 203 && BOOST_PP_ITERATION_START_2 >= 203 +# define BOOST_PP_ITERATION_2 203 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 202 && BOOST_PP_ITERATION_START_2 >= 202 +# define BOOST_PP_ITERATION_2 202 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 201 && BOOST_PP_ITERATION_START_2 >= 201 +# define BOOST_PP_ITERATION_2 201 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 200 && BOOST_PP_ITERATION_START_2 >= 200 +# define BOOST_PP_ITERATION_2 200 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 199 && BOOST_PP_ITERATION_START_2 >= 199 +# define BOOST_PP_ITERATION_2 199 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 198 && BOOST_PP_ITERATION_START_2 >= 198 +# define BOOST_PP_ITERATION_2 198 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 197 && BOOST_PP_ITERATION_START_2 >= 197 +# define BOOST_PP_ITERATION_2 197 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 196 && BOOST_PP_ITERATION_START_2 >= 196 +# define BOOST_PP_ITERATION_2 196 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 195 && BOOST_PP_ITERATION_START_2 >= 195 +# define BOOST_PP_ITERATION_2 195 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 194 && BOOST_PP_ITERATION_START_2 >= 194 +# define BOOST_PP_ITERATION_2 194 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 193 && BOOST_PP_ITERATION_START_2 >= 193 +# define BOOST_PP_ITERATION_2 193 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 192 && BOOST_PP_ITERATION_START_2 >= 192 +# define BOOST_PP_ITERATION_2 192 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 191 && BOOST_PP_ITERATION_START_2 >= 191 +# define BOOST_PP_ITERATION_2 191 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 190 && BOOST_PP_ITERATION_START_2 >= 190 +# define BOOST_PP_ITERATION_2 190 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 189 && BOOST_PP_ITERATION_START_2 >= 189 +# define BOOST_PP_ITERATION_2 189 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 188 && BOOST_PP_ITERATION_START_2 >= 188 +# define BOOST_PP_ITERATION_2 188 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 187 && BOOST_PP_ITERATION_START_2 >= 187 +# define BOOST_PP_ITERATION_2 187 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 186 && BOOST_PP_ITERATION_START_2 >= 186 +# define BOOST_PP_ITERATION_2 186 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 185 && BOOST_PP_ITERATION_START_2 >= 185 +# define BOOST_PP_ITERATION_2 185 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 184 && BOOST_PP_ITERATION_START_2 >= 184 +# define BOOST_PP_ITERATION_2 184 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 183 && BOOST_PP_ITERATION_START_2 >= 183 +# define BOOST_PP_ITERATION_2 183 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 182 && BOOST_PP_ITERATION_START_2 >= 182 +# define BOOST_PP_ITERATION_2 182 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 181 && BOOST_PP_ITERATION_START_2 >= 181 +# define BOOST_PP_ITERATION_2 181 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 180 && BOOST_PP_ITERATION_START_2 >= 180 +# define BOOST_PP_ITERATION_2 180 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 179 && BOOST_PP_ITERATION_START_2 >= 179 +# define BOOST_PP_ITERATION_2 179 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 178 && BOOST_PP_ITERATION_START_2 >= 178 +# define BOOST_PP_ITERATION_2 178 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 177 && BOOST_PP_ITERATION_START_2 >= 177 +# define BOOST_PP_ITERATION_2 177 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 176 && BOOST_PP_ITERATION_START_2 >= 176 +# define BOOST_PP_ITERATION_2 176 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 175 && BOOST_PP_ITERATION_START_2 >= 175 +# define BOOST_PP_ITERATION_2 175 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 174 && BOOST_PP_ITERATION_START_2 >= 174 +# define BOOST_PP_ITERATION_2 174 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 173 && BOOST_PP_ITERATION_START_2 >= 173 +# define BOOST_PP_ITERATION_2 173 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 172 && BOOST_PP_ITERATION_START_2 >= 172 +# define BOOST_PP_ITERATION_2 172 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 171 && BOOST_PP_ITERATION_START_2 >= 171 +# define BOOST_PP_ITERATION_2 171 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 170 && BOOST_PP_ITERATION_START_2 >= 170 +# define BOOST_PP_ITERATION_2 170 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 169 && BOOST_PP_ITERATION_START_2 >= 169 +# define BOOST_PP_ITERATION_2 169 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 168 && BOOST_PP_ITERATION_START_2 >= 168 +# define BOOST_PP_ITERATION_2 168 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 167 && BOOST_PP_ITERATION_START_2 >= 167 +# define BOOST_PP_ITERATION_2 167 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 166 && BOOST_PP_ITERATION_START_2 >= 166 +# define BOOST_PP_ITERATION_2 166 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 165 && BOOST_PP_ITERATION_START_2 >= 165 +# define BOOST_PP_ITERATION_2 165 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 164 && BOOST_PP_ITERATION_START_2 >= 164 +# define BOOST_PP_ITERATION_2 164 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 163 && BOOST_PP_ITERATION_START_2 >= 163 +# define BOOST_PP_ITERATION_2 163 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 162 && BOOST_PP_ITERATION_START_2 >= 162 +# define BOOST_PP_ITERATION_2 162 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 161 && BOOST_PP_ITERATION_START_2 >= 161 +# define BOOST_PP_ITERATION_2 161 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 160 && BOOST_PP_ITERATION_START_2 >= 160 +# define BOOST_PP_ITERATION_2 160 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 159 && BOOST_PP_ITERATION_START_2 >= 159 +# define BOOST_PP_ITERATION_2 159 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 158 && BOOST_PP_ITERATION_START_2 >= 158 +# define BOOST_PP_ITERATION_2 158 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 157 && BOOST_PP_ITERATION_START_2 >= 157 +# define BOOST_PP_ITERATION_2 157 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 156 && BOOST_PP_ITERATION_START_2 >= 156 +# define BOOST_PP_ITERATION_2 156 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 155 && BOOST_PP_ITERATION_START_2 >= 155 +# define BOOST_PP_ITERATION_2 155 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 154 && BOOST_PP_ITERATION_START_2 >= 154 +# define BOOST_PP_ITERATION_2 154 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 153 && BOOST_PP_ITERATION_START_2 >= 153 +# define BOOST_PP_ITERATION_2 153 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 152 && BOOST_PP_ITERATION_START_2 >= 152 +# define BOOST_PP_ITERATION_2 152 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 151 && BOOST_PP_ITERATION_START_2 >= 151 +# define BOOST_PP_ITERATION_2 151 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 150 && BOOST_PP_ITERATION_START_2 >= 150 +# define BOOST_PP_ITERATION_2 150 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 149 && BOOST_PP_ITERATION_START_2 >= 149 +# define BOOST_PP_ITERATION_2 149 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 148 && BOOST_PP_ITERATION_START_2 >= 148 +# define BOOST_PP_ITERATION_2 148 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 147 && BOOST_PP_ITERATION_START_2 >= 147 +# define BOOST_PP_ITERATION_2 147 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 146 && BOOST_PP_ITERATION_START_2 >= 146 +# define BOOST_PP_ITERATION_2 146 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 145 && BOOST_PP_ITERATION_START_2 >= 145 +# define BOOST_PP_ITERATION_2 145 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 144 && BOOST_PP_ITERATION_START_2 >= 144 +# define BOOST_PP_ITERATION_2 144 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 143 && BOOST_PP_ITERATION_START_2 >= 143 +# define BOOST_PP_ITERATION_2 143 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 142 && BOOST_PP_ITERATION_START_2 >= 142 +# define BOOST_PP_ITERATION_2 142 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 141 && BOOST_PP_ITERATION_START_2 >= 141 +# define BOOST_PP_ITERATION_2 141 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 140 && BOOST_PP_ITERATION_START_2 >= 140 +# define BOOST_PP_ITERATION_2 140 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 139 && BOOST_PP_ITERATION_START_2 >= 139 +# define BOOST_PP_ITERATION_2 139 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 138 && BOOST_PP_ITERATION_START_2 >= 138 +# define BOOST_PP_ITERATION_2 138 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 137 && BOOST_PP_ITERATION_START_2 >= 137 +# define BOOST_PP_ITERATION_2 137 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 136 && BOOST_PP_ITERATION_START_2 >= 136 +# define BOOST_PP_ITERATION_2 136 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 135 && BOOST_PP_ITERATION_START_2 >= 135 +# define BOOST_PP_ITERATION_2 135 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 134 && BOOST_PP_ITERATION_START_2 >= 134 +# define BOOST_PP_ITERATION_2 134 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 133 && BOOST_PP_ITERATION_START_2 >= 133 +# define BOOST_PP_ITERATION_2 133 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 132 && BOOST_PP_ITERATION_START_2 >= 132 +# define BOOST_PP_ITERATION_2 132 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 131 && BOOST_PP_ITERATION_START_2 >= 131 +# define BOOST_PP_ITERATION_2 131 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 130 && BOOST_PP_ITERATION_START_2 >= 130 +# define BOOST_PP_ITERATION_2 130 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 129 && BOOST_PP_ITERATION_START_2 >= 129 +# define BOOST_PP_ITERATION_2 129 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 128 && BOOST_PP_ITERATION_START_2 >= 128 +# define BOOST_PP_ITERATION_2 128 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 127 && BOOST_PP_ITERATION_START_2 >= 127 +# define BOOST_PP_ITERATION_2 127 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 126 && BOOST_PP_ITERATION_START_2 >= 126 +# define BOOST_PP_ITERATION_2 126 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 125 && BOOST_PP_ITERATION_START_2 >= 125 +# define BOOST_PP_ITERATION_2 125 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 124 && BOOST_PP_ITERATION_START_2 >= 124 +# define BOOST_PP_ITERATION_2 124 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 123 && BOOST_PP_ITERATION_START_2 >= 123 +# define BOOST_PP_ITERATION_2 123 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 122 && BOOST_PP_ITERATION_START_2 >= 122 +# define BOOST_PP_ITERATION_2 122 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 121 && BOOST_PP_ITERATION_START_2 >= 121 +# define BOOST_PP_ITERATION_2 121 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 120 && BOOST_PP_ITERATION_START_2 >= 120 +# define BOOST_PP_ITERATION_2 120 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 119 && BOOST_PP_ITERATION_START_2 >= 119 +# define BOOST_PP_ITERATION_2 119 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 118 && BOOST_PP_ITERATION_START_2 >= 118 +# define BOOST_PP_ITERATION_2 118 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 117 && BOOST_PP_ITERATION_START_2 >= 117 +# define BOOST_PP_ITERATION_2 117 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 116 && BOOST_PP_ITERATION_START_2 >= 116 +# define BOOST_PP_ITERATION_2 116 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 115 && BOOST_PP_ITERATION_START_2 >= 115 +# define BOOST_PP_ITERATION_2 115 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 114 && BOOST_PP_ITERATION_START_2 >= 114 +# define BOOST_PP_ITERATION_2 114 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 113 && BOOST_PP_ITERATION_START_2 >= 113 +# define BOOST_PP_ITERATION_2 113 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 112 && BOOST_PP_ITERATION_START_2 >= 112 +# define BOOST_PP_ITERATION_2 112 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 111 && BOOST_PP_ITERATION_START_2 >= 111 +# define BOOST_PP_ITERATION_2 111 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 110 && BOOST_PP_ITERATION_START_2 >= 110 +# define BOOST_PP_ITERATION_2 110 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 109 && BOOST_PP_ITERATION_START_2 >= 109 +# define BOOST_PP_ITERATION_2 109 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 108 && BOOST_PP_ITERATION_START_2 >= 108 +# define BOOST_PP_ITERATION_2 108 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 107 && BOOST_PP_ITERATION_START_2 >= 107 +# define BOOST_PP_ITERATION_2 107 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 106 && BOOST_PP_ITERATION_START_2 >= 106 +# define BOOST_PP_ITERATION_2 106 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 105 && BOOST_PP_ITERATION_START_2 >= 105 +# define BOOST_PP_ITERATION_2 105 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 104 && BOOST_PP_ITERATION_START_2 >= 104 +# define BOOST_PP_ITERATION_2 104 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 103 && BOOST_PP_ITERATION_START_2 >= 103 +# define BOOST_PP_ITERATION_2 103 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 102 && BOOST_PP_ITERATION_START_2 >= 102 +# define BOOST_PP_ITERATION_2 102 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 101 && BOOST_PP_ITERATION_START_2 >= 101 +# define BOOST_PP_ITERATION_2 101 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 100 && BOOST_PP_ITERATION_START_2 >= 100 +# define BOOST_PP_ITERATION_2 100 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 99 && BOOST_PP_ITERATION_START_2 >= 99 +# define BOOST_PP_ITERATION_2 99 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 98 && BOOST_PP_ITERATION_START_2 >= 98 +# define BOOST_PP_ITERATION_2 98 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 97 && BOOST_PP_ITERATION_START_2 >= 97 +# define BOOST_PP_ITERATION_2 97 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 96 && BOOST_PP_ITERATION_START_2 >= 96 +# define BOOST_PP_ITERATION_2 96 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 95 && BOOST_PP_ITERATION_START_2 >= 95 +# define BOOST_PP_ITERATION_2 95 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 94 && BOOST_PP_ITERATION_START_2 >= 94 +# define BOOST_PP_ITERATION_2 94 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 93 && BOOST_PP_ITERATION_START_2 >= 93 +# define BOOST_PP_ITERATION_2 93 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 92 && BOOST_PP_ITERATION_START_2 >= 92 +# define BOOST_PP_ITERATION_2 92 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 91 && BOOST_PP_ITERATION_START_2 >= 91 +# define BOOST_PP_ITERATION_2 91 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 90 && BOOST_PP_ITERATION_START_2 >= 90 +# define BOOST_PP_ITERATION_2 90 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 89 && BOOST_PP_ITERATION_START_2 >= 89 +# define BOOST_PP_ITERATION_2 89 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 88 && BOOST_PP_ITERATION_START_2 >= 88 +# define BOOST_PP_ITERATION_2 88 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 87 && BOOST_PP_ITERATION_START_2 >= 87 +# define BOOST_PP_ITERATION_2 87 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 86 && BOOST_PP_ITERATION_START_2 >= 86 +# define BOOST_PP_ITERATION_2 86 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 85 && BOOST_PP_ITERATION_START_2 >= 85 +# define BOOST_PP_ITERATION_2 85 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 84 && BOOST_PP_ITERATION_START_2 >= 84 +# define BOOST_PP_ITERATION_2 84 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 83 && BOOST_PP_ITERATION_START_2 >= 83 +# define BOOST_PP_ITERATION_2 83 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 82 && BOOST_PP_ITERATION_START_2 >= 82 +# define BOOST_PP_ITERATION_2 82 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 81 && BOOST_PP_ITERATION_START_2 >= 81 +# define BOOST_PP_ITERATION_2 81 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 80 && BOOST_PP_ITERATION_START_2 >= 80 +# define BOOST_PP_ITERATION_2 80 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 79 && BOOST_PP_ITERATION_START_2 >= 79 +# define BOOST_PP_ITERATION_2 79 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 78 && BOOST_PP_ITERATION_START_2 >= 78 +# define BOOST_PP_ITERATION_2 78 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 77 && BOOST_PP_ITERATION_START_2 >= 77 +# define BOOST_PP_ITERATION_2 77 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 76 && BOOST_PP_ITERATION_START_2 >= 76 +# define BOOST_PP_ITERATION_2 76 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 75 && BOOST_PP_ITERATION_START_2 >= 75 +# define BOOST_PP_ITERATION_2 75 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 74 && BOOST_PP_ITERATION_START_2 >= 74 +# define BOOST_PP_ITERATION_2 74 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 73 && BOOST_PP_ITERATION_START_2 >= 73 +# define BOOST_PP_ITERATION_2 73 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 72 && BOOST_PP_ITERATION_START_2 >= 72 +# define BOOST_PP_ITERATION_2 72 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 71 && BOOST_PP_ITERATION_START_2 >= 71 +# define BOOST_PP_ITERATION_2 71 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 70 && BOOST_PP_ITERATION_START_2 >= 70 +# define BOOST_PP_ITERATION_2 70 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 69 && BOOST_PP_ITERATION_START_2 >= 69 +# define BOOST_PP_ITERATION_2 69 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 68 && BOOST_PP_ITERATION_START_2 >= 68 +# define BOOST_PP_ITERATION_2 68 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 67 && BOOST_PP_ITERATION_START_2 >= 67 +# define BOOST_PP_ITERATION_2 67 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 66 && BOOST_PP_ITERATION_START_2 >= 66 +# define BOOST_PP_ITERATION_2 66 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 65 && BOOST_PP_ITERATION_START_2 >= 65 +# define BOOST_PP_ITERATION_2 65 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 64 && BOOST_PP_ITERATION_START_2 >= 64 +# define BOOST_PP_ITERATION_2 64 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 63 && BOOST_PP_ITERATION_START_2 >= 63 +# define BOOST_PP_ITERATION_2 63 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 62 && BOOST_PP_ITERATION_START_2 >= 62 +# define BOOST_PP_ITERATION_2 62 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 61 && BOOST_PP_ITERATION_START_2 >= 61 +# define BOOST_PP_ITERATION_2 61 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 60 && BOOST_PP_ITERATION_START_2 >= 60 +# define BOOST_PP_ITERATION_2 60 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 59 && BOOST_PP_ITERATION_START_2 >= 59 +# define BOOST_PP_ITERATION_2 59 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 58 && BOOST_PP_ITERATION_START_2 >= 58 +# define BOOST_PP_ITERATION_2 58 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 57 && BOOST_PP_ITERATION_START_2 >= 57 +# define BOOST_PP_ITERATION_2 57 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 56 && BOOST_PP_ITERATION_START_2 >= 56 +# define BOOST_PP_ITERATION_2 56 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 55 && BOOST_PP_ITERATION_START_2 >= 55 +# define BOOST_PP_ITERATION_2 55 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 54 && BOOST_PP_ITERATION_START_2 >= 54 +# define BOOST_PP_ITERATION_2 54 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 53 && BOOST_PP_ITERATION_START_2 >= 53 +# define BOOST_PP_ITERATION_2 53 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 52 && BOOST_PP_ITERATION_START_2 >= 52 +# define BOOST_PP_ITERATION_2 52 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 51 && BOOST_PP_ITERATION_START_2 >= 51 +# define BOOST_PP_ITERATION_2 51 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 50 && BOOST_PP_ITERATION_START_2 >= 50 +# define BOOST_PP_ITERATION_2 50 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 49 && BOOST_PP_ITERATION_START_2 >= 49 +# define BOOST_PP_ITERATION_2 49 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 48 && BOOST_PP_ITERATION_START_2 >= 48 +# define BOOST_PP_ITERATION_2 48 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 47 && BOOST_PP_ITERATION_START_2 >= 47 +# define BOOST_PP_ITERATION_2 47 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 46 && BOOST_PP_ITERATION_START_2 >= 46 +# define BOOST_PP_ITERATION_2 46 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 45 && BOOST_PP_ITERATION_START_2 >= 45 +# define BOOST_PP_ITERATION_2 45 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 44 && BOOST_PP_ITERATION_START_2 >= 44 +# define BOOST_PP_ITERATION_2 44 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 43 && BOOST_PP_ITERATION_START_2 >= 43 +# define BOOST_PP_ITERATION_2 43 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 42 && BOOST_PP_ITERATION_START_2 >= 42 +# define BOOST_PP_ITERATION_2 42 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 41 && BOOST_PP_ITERATION_START_2 >= 41 +# define BOOST_PP_ITERATION_2 41 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 40 && BOOST_PP_ITERATION_START_2 >= 40 +# define BOOST_PP_ITERATION_2 40 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 39 && BOOST_PP_ITERATION_START_2 >= 39 +# define BOOST_PP_ITERATION_2 39 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 38 && BOOST_PP_ITERATION_START_2 >= 38 +# define BOOST_PP_ITERATION_2 38 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 37 && BOOST_PP_ITERATION_START_2 >= 37 +# define BOOST_PP_ITERATION_2 37 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 36 && BOOST_PP_ITERATION_START_2 >= 36 +# define BOOST_PP_ITERATION_2 36 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 35 && BOOST_PP_ITERATION_START_2 >= 35 +# define BOOST_PP_ITERATION_2 35 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 34 && BOOST_PP_ITERATION_START_2 >= 34 +# define BOOST_PP_ITERATION_2 34 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 33 && BOOST_PP_ITERATION_START_2 >= 33 +# define BOOST_PP_ITERATION_2 33 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 32 && BOOST_PP_ITERATION_START_2 >= 32 +# define BOOST_PP_ITERATION_2 32 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 31 && BOOST_PP_ITERATION_START_2 >= 31 +# define BOOST_PP_ITERATION_2 31 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 30 && BOOST_PP_ITERATION_START_2 >= 30 +# define BOOST_PP_ITERATION_2 30 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 29 && BOOST_PP_ITERATION_START_2 >= 29 +# define BOOST_PP_ITERATION_2 29 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 28 && BOOST_PP_ITERATION_START_2 >= 28 +# define BOOST_PP_ITERATION_2 28 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 27 && BOOST_PP_ITERATION_START_2 >= 27 +# define BOOST_PP_ITERATION_2 27 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 26 && BOOST_PP_ITERATION_START_2 >= 26 +# define BOOST_PP_ITERATION_2 26 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 25 && BOOST_PP_ITERATION_START_2 >= 25 +# define BOOST_PP_ITERATION_2 25 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 24 && BOOST_PP_ITERATION_START_2 >= 24 +# define BOOST_PP_ITERATION_2 24 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 23 && BOOST_PP_ITERATION_START_2 >= 23 +# define BOOST_PP_ITERATION_2 23 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 22 && BOOST_PP_ITERATION_START_2 >= 22 +# define BOOST_PP_ITERATION_2 22 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 21 && BOOST_PP_ITERATION_START_2 >= 21 +# define BOOST_PP_ITERATION_2 21 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 20 && BOOST_PP_ITERATION_START_2 >= 20 +# define BOOST_PP_ITERATION_2 20 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 19 && BOOST_PP_ITERATION_START_2 >= 19 +# define BOOST_PP_ITERATION_2 19 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 18 && BOOST_PP_ITERATION_START_2 >= 18 +# define BOOST_PP_ITERATION_2 18 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 17 && BOOST_PP_ITERATION_START_2 >= 17 +# define BOOST_PP_ITERATION_2 17 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 16 && BOOST_PP_ITERATION_START_2 >= 16 +# define BOOST_PP_ITERATION_2 16 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 15 && BOOST_PP_ITERATION_START_2 >= 15 +# define BOOST_PP_ITERATION_2 15 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 14 && BOOST_PP_ITERATION_START_2 >= 14 +# define BOOST_PP_ITERATION_2 14 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 13 && BOOST_PP_ITERATION_START_2 >= 13 +# define BOOST_PP_ITERATION_2 13 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 12 && BOOST_PP_ITERATION_START_2 >= 12 +# define BOOST_PP_ITERATION_2 12 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 11 && BOOST_PP_ITERATION_START_2 >= 11 +# define BOOST_PP_ITERATION_2 11 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 10 && BOOST_PP_ITERATION_START_2 >= 10 +# define BOOST_PP_ITERATION_2 10 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 9 && BOOST_PP_ITERATION_START_2 >= 9 +# define BOOST_PP_ITERATION_2 9 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 8 && BOOST_PP_ITERATION_START_2 >= 8 +# define BOOST_PP_ITERATION_2 8 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 7 && BOOST_PP_ITERATION_START_2 >= 7 +# define BOOST_PP_ITERATION_2 7 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 6 && BOOST_PP_ITERATION_START_2 >= 6 +# define BOOST_PP_ITERATION_2 6 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 5 && BOOST_PP_ITERATION_START_2 >= 5 +# define BOOST_PP_ITERATION_2 5 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 4 && BOOST_PP_ITERATION_START_2 >= 4 +# define BOOST_PP_ITERATION_2 4 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 3 && BOOST_PP_ITERATION_START_2 >= 3 +# define BOOST_PP_ITERATION_2 3 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 2 && BOOST_PP_ITERATION_START_2 >= 2 +# define BOOST_PP_ITERATION_2 2 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 1 && BOOST_PP_ITERATION_START_2 >= 1 +# define BOOST_PP_ITERATION_2 1 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif +# if BOOST_PP_ITERATION_FINISH_2 <= 0 && BOOST_PP_ITERATION_START_2 >= 0 +# define BOOST_PP_ITERATION_2 0 +# include BOOST_PP_FILENAME_2 +# undef BOOST_PP_ITERATION_2 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp new file mode 100644 index 0000000..189f77c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse3.hpp @@ -0,0 +1,1296 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if BOOST_PP_ITERATION_FINISH_3 <= 256 && BOOST_PP_ITERATION_START_3 >= 256 +# define BOOST_PP_ITERATION_3 256 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 255 && BOOST_PP_ITERATION_START_3 >= 255 +# define BOOST_PP_ITERATION_3 255 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 254 && BOOST_PP_ITERATION_START_3 >= 254 +# define BOOST_PP_ITERATION_3 254 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 253 && BOOST_PP_ITERATION_START_3 >= 253 +# define BOOST_PP_ITERATION_3 253 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 252 && BOOST_PP_ITERATION_START_3 >= 252 +# define BOOST_PP_ITERATION_3 252 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 251 && BOOST_PP_ITERATION_START_3 >= 251 +# define BOOST_PP_ITERATION_3 251 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 250 && BOOST_PP_ITERATION_START_3 >= 250 +# define BOOST_PP_ITERATION_3 250 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 249 && BOOST_PP_ITERATION_START_3 >= 249 +# define BOOST_PP_ITERATION_3 249 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 248 && BOOST_PP_ITERATION_START_3 >= 248 +# define BOOST_PP_ITERATION_3 248 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 247 && BOOST_PP_ITERATION_START_3 >= 247 +# define BOOST_PP_ITERATION_3 247 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 246 && BOOST_PP_ITERATION_START_3 >= 246 +# define BOOST_PP_ITERATION_3 246 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 245 && BOOST_PP_ITERATION_START_3 >= 245 +# define BOOST_PP_ITERATION_3 245 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 244 && BOOST_PP_ITERATION_START_3 >= 244 +# define BOOST_PP_ITERATION_3 244 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 243 && BOOST_PP_ITERATION_START_3 >= 243 +# define BOOST_PP_ITERATION_3 243 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 242 && BOOST_PP_ITERATION_START_3 >= 242 +# define BOOST_PP_ITERATION_3 242 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 241 && BOOST_PP_ITERATION_START_3 >= 241 +# define BOOST_PP_ITERATION_3 241 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 240 && BOOST_PP_ITERATION_START_3 >= 240 +# define BOOST_PP_ITERATION_3 240 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 239 && BOOST_PP_ITERATION_START_3 >= 239 +# define BOOST_PP_ITERATION_3 239 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 238 && BOOST_PP_ITERATION_START_3 >= 238 +# define BOOST_PP_ITERATION_3 238 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 237 && BOOST_PP_ITERATION_START_3 >= 237 +# define BOOST_PP_ITERATION_3 237 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 236 && BOOST_PP_ITERATION_START_3 >= 236 +# define BOOST_PP_ITERATION_3 236 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 235 && BOOST_PP_ITERATION_START_3 >= 235 +# define BOOST_PP_ITERATION_3 235 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 234 && BOOST_PP_ITERATION_START_3 >= 234 +# define BOOST_PP_ITERATION_3 234 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 233 && BOOST_PP_ITERATION_START_3 >= 233 +# define BOOST_PP_ITERATION_3 233 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 232 && BOOST_PP_ITERATION_START_3 >= 232 +# define BOOST_PP_ITERATION_3 232 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 231 && BOOST_PP_ITERATION_START_3 >= 231 +# define BOOST_PP_ITERATION_3 231 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 230 && BOOST_PP_ITERATION_START_3 >= 230 +# define BOOST_PP_ITERATION_3 230 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 229 && BOOST_PP_ITERATION_START_3 >= 229 +# define BOOST_PP_ITERATION_3 229 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 228 && BOOST_PP_ITERATION_START_3 >= 228 +# define BOOST_PP_ITERATION_3 228 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 227 && BOOST_PP_ITERATION_START_3 >= 227 +# define BOOST_PP_ITERATION_3 227 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 226 && BOOST_PP_ITERATION_START_3 >= 226 +# define BOOST_PP_ITERATION_3 226 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 225 && BOOST_PP_ITERATION_START_3 >= 225 +# define BOOST_PP_ITERATION_3 225 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 224 && BOOST_PP_ITERATION_START_3 >= 224 +# define BOOST_PP_ITERATION_3 224 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 223 && BOOST_PP_ITERATION_START_3 >= 223 +# define BOOST_PP_ITERATION_3 223 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 222 && BOOST_PP_ITERATION_START_3 >= 222 +# define BOOST_PP_ITERATION_3 222 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 221 && BOOST_PP_ITERATION_START_3 >= 221 +# define BOOST_PP_ITERATION_3 221 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 220 && BOOST_PP_ITERATION_START_3 >= 220 +# define BOOST_PP_ITERATION_3 220 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 219 && BOOST_PP_ITERATION_START_3 >= 219 +# define BOOST_PP_ITERATION_3 219 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 218 && BOOST_PP_ITERATION_START_3 >= 218 +# define BOOST_PP_ITERATION_3 218 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 217 && BOOST_PP_ITERATION_START_3 >= 217 +# define BOOST_PP_ITERATION_3 217 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 216 && BOOST_PP_ITERATION_START_3 >= 216 +# define BOOST_PP_ITERATION_3 216 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 215 && BOOST_PP_ITERATION_START_3 >= 215 +# define BOOST_PP_ITERATION_3 215 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 214 && BOOST_PP_ITERATION_START_3 >= 214 +# define BOOST_PP_ITERATION_3 214 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 213 && BOOST_PP_ITERATION_START_3 >= 213 +# define BOOST_PP_ITERATION_3 213 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 212 && BOOST_PP_ITERATION_START_3 >= 212 +# define BOOST_PP_ITERATION_3 212 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 211 && BOOST_PP_ITERATION_START_3 >= 211 +# define BOOST_PP_ITERATION_3 211 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 210 && BOOST_PP_ITERATION_START_3 >= 210 +# define BOOST_PP_ITERATION_3 210 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 209 && BOOST_PP_ITERATION_START_3 >= 209 +# define BOOST_PP_ITERATION_3 209 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 208 && BOOST_PP_ITERATION_START_3 >= 208 +# define BOOST_PP_ITERATION_3 208 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 207 && BOOST_PP_ITERATION_START_3 >= 207 +# define BOOST_PP_ITERATION_3 207 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 206 && BOOST_PP_ITERATION_START_3 >= 206 +# define BOOST_PP_ITERATION_3 206 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 205 && BOOST_PP_ITERATION_START_3 >= 205 +# define BOOST_PP_ITERATION_3 205 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 204 && BOOST_PP_ITERATION_START_3 >= 204 +# define BOOST_PP_ITERATION_3 204 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 203 && BOOST_PP_ITERATION_START_3 >= 203 +# define BOOST_PP_ITERATION_3 203 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 202 && BOOST_PP_ITERATION_START_3 >= 202 +# define BOOST_PP_ITERATION_3 202 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 201 && BOOST_PP_ITERATION_START_3 >= 201 +# define BOOST_PP_ITERATION_3 201 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 200 && BOOST_PP_ITERATION_START_3 >= 200 +# define BOOST_PP_ITERATION_3 200 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 199 && BOOST_PP_ITERATION_START_3 >= 199 +# define BOOST_PP_ITERATION_3 199 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 198 && BOOST_PP_ITERATION_START_3 >= 198 +# define BOOST_PP_ITERATION_3 198 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 197 && BOOST_PP_ITERATION_START_3 >= 197 +# define BOOST_PP_ITERATION_3 197 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 196 && BOOST_PP_ITERATION_START_3 >= 196 +# define BOOST_PP_ITERATION_3 196 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 195 && BOOST_PP_ITERATION_START_3 >= 195 +# define BOOST_PP_ITERATION_3 195 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 194 && BOOST_PP_ITERATION_START_3 >= 194 +# define BOOST_PP_ITERATION_3 194 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 193 && BOOST_PP_ITERATION_START_3 >= 193 +# define BOOST_PP_ITERATION_3 193 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 192 && BOOST_PP_ITERATION_START_3 >= 192 +# define BOOST_PP_ITERATION_3 192 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 191 && BOOST_PP_ITERATION_START_3 >= 191 +# define BOOST_PP_ITERATION_3 191 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 190 && BOOST_PP_ITERATION_START_3 >= 190 +# define BOOST_PP_ITERATION_3 190 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 189 && BOOST_PP_ITERATION_START_3 >= 189 +# define BOOST_PP_ITERATION_3 189 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 188 && BOOST_PP_ITERATION_START_3 >= 188 +# define BOOST_PP_ITERATION_3 188 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 187 && BOOST_PP_ITERATION_START_3 >= 187 +# define BOOST_PP_ITERATION_3 187 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 186 && BOOST_PP_ITERATION_START_3 >= 186 +# define BOOST_PP_ITERATION_3 186 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 185 && BOOST_PP_ITERATION_START_3 >= 185 +# define BOOST_PP_ITERATION_3 185 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 184 && BOOST_PP_ITERATION_START_3 >= 184 +# define BOOST_PP_ITERATION_3 184 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 183 && BOOST_PP_ITERATION_START_3 >= 183 +# define BOOST_PP_ITERATION_3 183 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 182 && BOOST_PP_ITERATION_START_3 >= 182 +# define BOOST_PP_ITERATION_3 182 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 181 && BOOST_PP_ITERATION_START_3 >= 181 +# define BOOST_PP_ITERATION_3 181 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 180 && BOOST_PP_ITERATION_START_3 >= 180 +# define BOOST_PP_ITERATION_3 180 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 179 && BOOST_PP_ITERATION_START_3 >= 179 +# define BOOST_PP_ITERATION_3 179 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 178 && BOOST_PP_ITERATION_START_3 >= 178 +# define BOOST_PP_ITERATION_3 178 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 177 && BOOST_PP_ITERATION_START_3 >= 177 +# define BOOST_PP_ITERATION_3 177 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 176 && BOOST_PP_ITERATION_START_3 >= 176 +# define BOOST_PP_ITERATION_3 176 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 175 && BOOST_PP_ITERATION_START_3 >= 175 +# define BOOST_PP_ITERATION_3 175 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 174 && BOOST_PP_ITERATION_START_3 >= 174 +# define BOOST_PP_ITERATION_3 174 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 173 && BOOST_PP_ITERATION_START_3 >= 173 +# define BOOST_PP_ITERATION_3 173 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 172 && BOOST_PP_ITERATION_START_3 >= 172 +# define BOOST_PP_ITERATION_3 172 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 171 && BOOST_PP_ITERATION_START_3 >= 171 +# define BOOST_PP_ITERATION_3 171 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 170 && BOOST_PP_ITERATION_START_3 >= 170 +# define BOOST_PP_ITERATION_3 170 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 169 && BOOST_PP_ITERATION_START_3 >= 169 +# define BOOST_PP_ITERATION_3 169 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 168 && BOOST_PP_ITERATION_START_3 >= 168 +# define BOOST_PP_ITERATION_3 168 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 167 && BOOST_PP_ITERATION_START_3 >= 167 +# define BOOST_PP_ITERATION_3 167 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 166 && BOOST_PP_ITERATION_START_3 >= 166 +# define BOOST_PP_ITERATION_3 166 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 165 && BOOST_PP_ITERATION_START_3 >= 165 +# define BOOST_PP_ITERATION_3 165 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 164 && BOOST_PP_ITERATION_START_3 >= 164 +# define BOOST_PP_ITERATION_3 164 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 163 && BOOST_PP_ITERATION_START_3 >= 163 +# define BOOST_PP_ITERATION_3 163 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 162 && BOOST_PP_ITERATION_START_3 >= 162 +# define BOOST_PP_ITERATION_3 162 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 161 && BOOST_PP_ITERATION_START_3 >= 161 +# define BOOST_PP_ITERATION_3 161 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 160 && BOOST_PP_ITERATION_START_3 >= 160 +# define BOOST_PP_ITERATION_3 160 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 159 && BOOST_PP_ITERATION_START_3 >= 159 +# define BOOST_PP_ITERATION_3 159 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 158 && BOOST_PP_ITERATION_START_3 >= 158 +# define BOOST_PP_ITERATION_3 158 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 157 && BOOST_PP_ITERATION_START_3 >= 157 +# define BOOST_PP_ITERATION_3 157 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 156 && BOOST_PP_ITERATION_START_3 >= 156 +# define BOOST_PP_ITERATION_3 156 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 155 && BOOST_PP_ITERATION_START_3 >= 155 +# define BOOST_PP_ITERATION_3 155 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 154 && BOOST_PP_ITERATION_START_3 >= 154 +# define BOOST_PP_ITERATION_3 154 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 153 && BOOST_PP_ITERATION_START_3 >= 153 +# define BOOST_PP_ITERATION_3 153 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 152 && BOOST_PP_ITERATION_START_3 >= 152 +# define BOOST_PP_ITERATION_3 152 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 151 && BOOST_PP_ITERATION_START_3 >= 151 +# define BOOST_PP_ITERATION_3 151 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 150 && BOOST_PP_ITERATION_START_3 >= 150 +# define BOOST_PP_ITERATION_3 150 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 149 && BOOST_PP_ITERATION_START_3 >= 149 +# define BOOST_PP_ITERATION_3 149 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 148 && BOOST_PP_ITERATION_START_3 >= 148 +# define BOOST_PP_ITERATION_3 148 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 147 && BOOST_PP_ITERATION_START_3 >= 147 +# define BOOST_PP_ITERATION_3 147 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 146 && BOOST_PP_ITERATION_START_3 >= 146 +# define BOOST_PP_ITERATION_3 146 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 145 && BOOST_PP_ITERATION_START_3 >= 145 +# define BOOST_PP_ITERATION_3 145 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 144 && BOOST_PP_ITERATION_START_3 >= 144 +# define BOOST_PP_ITERATION_3 144 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 143 && BOOST_PP_ITERATION_START_3 >= 143 +# define BOOST_PP_ITERATION_3 143 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 142 && BOOST_PP_ITERATION_START_3 >= 142 +# define BOOST_PP_ITERATION_3 142 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 141 && BOOST_PP_ITERATION_START_3 >= 141 +# define BOOST_PP_ITERATION_3 141 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 140 && BOOST_PP_ITERATION_START_3 >= 140 +# define BOOST_PP_ITERATION_3 140 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 139 && BOOST_PP_ITERATION_START_3 >= 139 +# define BOOST_PP_ITERATION_3 139 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 138 && BOOST_PP_ITERATION_START_3 >= 138 +# define BOOST_PP_ITERATION_3 138 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 137 && BOOST_PP_ITERATION_START_3 >= 137 +# define BOOST_PP_ITERATION_3 137 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 136 && BOOST_PP_ITERATION_START_3 >= 136 +# define BOOST_PP_ITERATION_3 136 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 135 && BOOST_PP_ITERATION_START_3 >= 135 +# define BOOST_PP_ITERATION_3 135 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 134 && BOOST_PP_ITERATION_START_3 >= 134 +# define BOOST_PP_ITERATION_3 134 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 133 && BOOST_PP_ITERATION_START_3 >= 133 +# define BOOST_PP_ITERATION_3 133 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 132 && BOOST_PP_ITERATION_START_3 >= 132 +# define BOOST_PP_ITERATION_3 132 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 131 && BOOST_PP_ITERATION_START_3 >= 131 +# define BOOST_PP_ITERATION_3 131 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 130 && BOOST_PP_ITERATION_START_3 >= 130 +# define BOOST_PP_ITERATION_3 130 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 129 && BOOST_PP_ITERATION_START_3 >= 129 +# define BOOST_PP_ITERATION_3 129 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 128 && BOOST_PP_ITERATION_START_3 >= 128 +# define BOOST_PP_ITERATION_3 128 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 127 && BOOST_PP_ITERATION_START_3 >= 127 +# define BOOST_PP_ITERATION_3 127 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 126 && BOOST_PP_ITERATION_START_3 >= 126 +# define BOOST_PP_ITERATION_3 126 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 125 && BOOST_PP_ITERATION_START_3 >= 125 +# define BOOST_PP_ITERATION_3 125 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 124 && BOOST_PP_ITERATION_START_3 >= 124 +# define BOOST_PP_ITERATION_3 124 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 123 && BOOST_PP_ITERATION_START_3 >= 123 +# define BOOST_PP_ITERATION_3 123 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 122 && BOOST_PP_ITERATION_START_3 >= 122 +# define BOOST_PP_ITERATION_3 122 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 121 && BOOST_PP_ITERATION_START_3 >= 121 +# define BOOST_PP_ITERATION_3 121 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 120 && BOOST_PP_ITERATION_START_3 >= 120 +# define BOOST_PP_ITERATION_3 120 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 119 && BOOST_PP_ITERATION_START_3 >= 119 +# define BOOST_PP_ITERATION_3 119 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 118 && BOOST_PP_ITERATION_START_3 >= 118 +# define BOOST_PP_ITERATION_3 118 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 117 && BOOST_PP_ITERATION_START_3 >= 117 +# define BOOST_PP_ITERATION_3 117 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 116 && BOOST_PP_ITERATION_START_3 >= 116 +# define BOOST_PP_ITERATION_3 116 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 115 && BOOST_PP_ITERATION_START_3 >= 115 +# define BOOST_PP_ITERATION_3 115 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 114 && BOOST_PP_ITERATION_START_3 >= 114 +# define BOOST_PP_ITERATION_3 114 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 113 && BOOST_PP_ITERATION_START_3 >= 113 +# define BOOST_PP_ITERATION_3 113 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 112 && BOOST_PP_ITERATION_START_3 >= 112 +# define BOOST_PP_ITERATION_3 112 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 111 && BOOST_PP_ITERATION_START_3 >= 111 +# define BOOST_PP_ITERATION_3 111 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 110 && BOOST_PP_ITERATION_START_3 >= 110 +# define BOOST_PP_ITERATION_3 110 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 109 && BOOST_PP_ITERATION_START_3 >= 109 +# define BOOST_PP_ITERATION_3 109 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 108 && BOOST_PP_ITERATION_START_3 >= 108 +# define BOOST_PP_ITERATION_3 108 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 107 && BOOST_PP_ITERATION_START_3 >= 107 +# define BOOST_PP_ITERATION_3 107 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 106 && BOOST_PP_ITERATION_START_3 >= 106 +# define BOOST_PP_ITERATION_3 106 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 105 && BOOST_PP_ITERATION_START_3 >= 105 +# define BOOST_PP_ITERATION_3 105 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 104 && BOOST_PP_ITERATION_START_3 >= 104 +# define BOOST_PP_ITERATION_3 104 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 103 && BOOST_PP_ITERATION_START_3 >= 103 +# define BOOST_PP_ITERATION_3 103 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 102 && BOOST_PP_ITERATION_START_3 >= 102 +# define BOOST_PP_ITERATION_3 102 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 101 && BOOST_PP_ITERATION_START_3 >= 101 +# define BOOST_PP_ITERATION_3 101 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 100 && BOOST_PP_ITERATION_START_3 >= 100 +# define BOOST_PP_ITERATION_3 100 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 99 && BOOST_PP_ITERATION_START_3 >= 99 +# define BOOST_PP_ITERATION_3 99 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 98 && BOOST_PP_ITERATION_START_3 >= 98 +# define BOOST_PP_ITERATION_3 98 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 97 && BOOST_PP_ITERATION_START_3 >= 97 +# define BOOST_PP_ITERATION_3 97 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 96 && BOOST_PP_ITERATION_START_3 >= 96 +# define BOOST_PP_ITERATION_3 96 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 95 && BOOST_PP_ITERATION_START_3 >= 95 +# define BOOST_PP_ITERATION_3 95 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 94 && BOOST_PP_ITERATION_START_3 >= 94 +# define BOOST_PP_ITERATION_3 94 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 93 && BOOST_PP_ITERATION_START_3 >= 93 +# define BOOST_PP_ITERATION_3 93 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 92 && BOOST_PP_ITERATION_START_3 >= 92 +# define BOOST_PP_ITERATION_3 92 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 91 && BOOST_PP_ITERATION_START_3 >= 91 +# define BOOST_PP_ITERATION_3 91 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 90 && BOOST_PP_ITERATION_START_3 >= 90 +# define BOOST_PP_ITERATION_3 90 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 89 && BOOST_PP_ITERATION_START_3 >= 89 +# define BOOST_PP_ITERATION_3 89 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 88 && BOOST_PP_ITERATION_START_3 >= 88 +# define BOOST_PP_ITERATION_3 88 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 87 && BOOST_PP_ITERATION_START_3 >= 87 +# define BOOST_PP_ITERATION_3 87 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 86 && BOOST_PP_ITERATION_START_3 >= 86 +# define BOOST_PP_ITERATION_3 86 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 85 && BOOST_PP_ITERATION_START_3 >= 85 +# define BOOST_PP_ITERATION_3 85 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 84 && BOOST_PP_ITERATION_START_3 >= 84 +# define BOOST_PP_ITERATION_3 84 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 83 && BOOST_PP_ITERATION_START_3 >= 83 +# define BOOST_PP_ITERATION_3 83 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 82 && BOOST_PP_ITERATION_START_3 >= 82 +# define BOOST_PP_ITERATION_3 82 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 81 && BOOST_PP_ITERATION_START_3 >= 81 +# define BOOST_PP_ITERATION_3 81 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 80 && BOOST_PP_ITERATION_START_3 >= 80 +# define BOOST_PP_ITERATION_3 80 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 79 && BOOST_PP_ITERATION_START_3 >= 79 +# define BOOST_PP_ITERATION_3 79 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 78 && BOOST_PP_ITERATION_START_3 >= 78 +# define BOOST_PP_ITERATION_3 78 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 77 && BOOST_PP_ITERATION_START_3 >= 77 +# define BOOST_PP_ITERATION_3 77 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 76 && BOOST_PP_ITERATION_START_3 >= 76 +# define BOOST_PP_ITERATION_3 76 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 75 && BOOST_PP_ITERATION_START_3 >= 75 +# define BOOST_PP_ITERATION_3 75 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 74 && BOOST_PP_ITERATION_START_3 >= 74 +# define BOOST_PP_ITERATION_3 74 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 73 && BOOST_PP_ITERATION_START_3 >= 73 +# define BOOST_PP_ITERATION_3 73 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 72 && BOOST_PP_ITERATION_START_3 >= 72 +# define BOOST_PP_ITERATION_3 72 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 71 && BOOST_PP_ITERATION_START_3 >= 71 +# define BOOST_PP_ITERATION_3 71 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 70 && BOOST_PP_ITERATION_START_3 >= 70 +# define BOOST_PP_ITERATION_3 70 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 69 && BOOST_PP_ITERATION_START_3 >= 69 +# define BOOST_PP_ITERATION_3 69 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 68 && BOOST_PP_ITERATION_START_3 >= 68 +# define BOOST_PP_ITERATION_3 68 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 67 && BOOST_PP_ITERATION_START_3 >= 67 +# define BOOST_PP_ITERATION_3 67 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 66 && BOOST_PP_ITERATION_START_3 >= 66 +# define BOOST_PP_ITERATION_3 66 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 65 && BOOST_PP_ITERATION_START_3 >= 65 +# define BOOST_PP_ITERATION_3 65 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 64 && BOOST_PP_ITERATION_START_3 >= 64 +# define BOOST_PP_ITERATION_3 64 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 63 && BOOST_PP_ITERATION_START_3 >= 63 +# define BOOST_PP_ITERATION_3 63 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 62 && BOOST_PP_ITERATION_START_3 >= 62 +# define BOOST_PP_ITERATION_3 62 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 61 && BOOST_PP_ITERATION_START_3 >= 61 +# define BOOST_PP_ITERATION_3 61 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 60 && BOOST_PP_ITERATION_START_3 >= 60 +# define BOOST_PP_ITERATION_3 60 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 59 && BOOST_PP_ITERATION_START_3 >= 59 +# define BOOST_PP_ITERATION_3 59 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 58 && BOOST_PP_ITERATION_START_3 >= 58 +# define BOOST_PP_ITERATION_3 58 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 57 && BOOST_PP_ITERATION_START_3 >= 57 +# define BOOST_PP_ITERATION_3 57 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 56 && BOOST_PP_ITERATION_START_3 >= 56 +# define BOOST_PP_ITERATION_3 56 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 55 && BOOST_PP_ITERATION_START_3 >= 55 +# define BOOST_PP_ITERATION_3 55 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 54 && BOOST_PP_ITERATION_START_3 >= 54 +# define BOOST_PP_ITERATION_3 54 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 53 && BOOST_PP_ITERATION_START_3 >= 53 +# define BOOST_PP_ITERATION_3 53 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 52 && BOOST_PP_ITERATION_START_3 >= 52 +# define BOOST_PP_ITERATION_3 52 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 51 && BOOST_PP_ITERATION_START_3 >= 51 +# define BOOST_PP_ITERATION_3 51 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 50 && BOOST_PP_ITERATION_START_3 >= 50 +# define BOOST_PP_ITERATION_3 50 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 49 && BOOST_PP_ITERATION_START_3 >= 49 +# define BOOST_PP_ITERATION_3 49 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 48 && BOOST_PP_ITERATION_START_3 >= 48 +# define BOOST_PP_ITERATION_3 48 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 47 && BOOST_PP_ITERATION_START_3 >= 47 +# define BOOST_PP_ITERATION_3 47 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 46 && BOOST_PP_ITERATION_START_3 >= 46 +# define BOOST_PP_ITERATION_3 46 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 45 && BOOST_PP_ITERATION_START_3 >= 45 +# define BOOST_PP_ITERATION_3 45 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 44 && BOOST_PP_ITERATION_START_3 >= 44 +# define BOOST_PP_ITERATION_3 44 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 43 && BOOST_PP_ITERATION_START_3 >= 43 +# define BOOST_PP_ITERATION_3 43 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 42 && BOOST_PP_ITERATION_START_3 >= 42 +# define BOOST_PP_ITERATION_3 42 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 41 && BOOST_PP_ITERATION_START_3 >= 41 +# define BOOST_PP_ITERATION_3 41 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 40 && BOOST_PP_ITERATION_START_3 >= 40 +# define BOOST_PP_ITERATION_3 40 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 39 && BOOST_PP_ITERATION_START_3 >= 39 +# define BOOST_PP_ITERATION_3 39 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 38 && BOOST_PP_ITERATION_START_3 >= 38 +# define BOOST_PP_ITERATION_3 38 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 37 && BOOST_PP_ITERATION_START_3 >= 37 +# define BOOST_PP_ITERATION_3 37 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 36 && BOOST_PP_ITERATION_START_3 >= 36 +# define BOOST_PP_ITERATION_3 36 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 35 && BOOST_PP_ITERATION_START_3 >= 35 +# define BOOST_PP_ITERATION_3 35 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 34 && BOOST_PP_ITERATION_START_3 >= 34 +# define BOOST_PP_ITERATION_3 34 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 33 && BOOST_PP_ITERATION_START_3 >= 33 +# define BOOST_PP_ITERATION_3 33 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 32 && BOOST_PP_ITERATION_START_3 >= 32 +# define BOOST_PP_ITERATION_3 32 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 31 && BOOST_PP_ITERATION_START_3 >= 31 +# define BOOST_PP_ITERATION_3 31 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 30 && BOOST_PP_ITERATION_START_3 >= 30 +# define BOOST_PP_ITERATION_3 30 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 29 && BOOST_PP_ITERATION_START_3 >= 29 +# define BOOST_PP_ITERATION_3 29 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 28 && BOOST_PP_ITERATION_START_3 >= 28 +# define BOOST_PP_ITERATION_3 28 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 27 && BOOST_PP_ITERATION_START_3 >= 27 +# define BOOST_PP_ITERATION_3 27 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 26 && BOOST_PP_ITERATION_START_3 >= 26 +# define BOOST_PP_ITERATION_3 26 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 25 && BOOST_PP_ITERATION_START_3 >= 25 +# define BOOST_PP_ITERATION_3 25 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 24 && BOOST_PP_ITERATION_START_3 >= 24 +# define BOOST_PP_ITERATION_3 24 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 23 && BOOST_PP_ITERATION_START_3 >= 23 +# define BOOST_PP_ITERATION_3 23 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 22 && BOOST_PP_ITERATION_START_3 >= 22 +# define BOOST_PP_ITERATION_3 22 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 21 && BOOST_PP_ITERATION_START_3 >= 21 +# define BOOST_PP_ITERATION_3 21 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 20 && BOOST_PP_ITERATION_START_3 >= 20 +# define BOOST_PP_ITERATION_3 20 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 19 && BOOST_PP_ITERATION_START_3 >= 19 +# define BOOST_PP_ITERATION_3 19 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 18 && BOOST_PP_ITERATION_START_3 >= 18 +# define BOOST_PP_ITERATION_3 18 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 17 && BOOST_PP_ITERATION_START_3 >= 17 +# define BOOST_PP_ITERATION_3 17 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 16 && BOOST_PP_ITERATION_START_3 >= 16 +# define BOOST_PP_ITERATION_3 16 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 15 && BOOST_PP_ITERATION_START_3 >= 15 +# define BOOST_PP_ITERATION_3 15 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 14 && BOOST_PP_ITERATION_START_3 >= 14 +# define BOOST_PP_ITERATION_3 14 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 13 && BOOST_PP_ITERATION_START_3 >= 13 +# define BOOST_PP_ITERATION_3 13 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 12 && BOOST_PP_ITERATION_START_3 >= 12 +# define BOOST_PP_ITERATION_3 12 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 11 && BOOST_PP_ITERATION_START_3 >= 11 +# define BOOST_PP_ITERATION_3 11 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 10 && BOOST_PP_ITERATION_START_3 >= 10 +# define BOOST_PP_ITERATION_3 10 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 9 && BOOST_PP_ITERATION_START_3 >= 9 +# define BOOST_PP_ITERATION_3 9 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 8 && BOOST_PP_ITERATION_START_3 >= 8 +# define BOOST_PP_ITERATION_3 8 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 7 && BOOST_PP_ITERATION_START_3 >= 7 +# define BOOST_PP_ITERATION_3 7 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 6 && BOOST_PP_ITERATION_START_3 >= 6 +# define BOOST_PP_ITERATION_3 6 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 5 && BOOST_PP_ITERATION_START_3 >= 5 +# define BOOST_PP_ITERATION_3 5 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 4 && BOOST_PP_ITERATION_START_3 >= 4 +# define BOOST_PP_ITERATION_3 4 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 3 && BOOST_PP_ITERATION_START_3 >= 3 +# define BOOST_PP_ITERATION_3 3 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 2 && BOOST_PP_ITERATION_START_3 >= 2 +# define BOOST_PP_ITERATION_3 2 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 1 && BOOST_PP_ITERATION_START_3 >= 1 +# define BOOST_PP_ITERATION_3 1 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif +# if BOOST_PP_ITERATION_FINISH_3 <= 0 && BOOST_PP_ITERATION_START_3 >= 0 +# define BOOST_PP_ITERATION_3 0 +# include BOOST_PP_FILENAME_3 +# undef BOOST_PP_ITERATION_3 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp new file mode 100644 index 0000000..aedceb3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse4.hpp @@ -0,0 +1,1296 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if BOOST_PP_ITERATION_FINISH_4 <= 256 && BOOST_PP_ITERATION_START_4 >= 256 +# define BOOST_PP_ITERATION_4 256 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 255 && BOOST_PP_ITERATION_START_4 >= 255 +# define BOOST_PP_ITERATION_4 255 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 254 && BOOST_PP_ITERATION_START_4 >= 254 +# define BOOST_PP_ITERATION_4 254 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 253 && BOOST_PP_ITERATION_START_4 >= 253 +# define BOOST_PP_ITERATION_4 253 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 252 && BOOST_PP_ITERATION_START_4 >= 252 +# define BOOST_PP_ITERATION_4 252 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 251 && BOOST_PP_ITERATION_START_4 >= 251 +# define BOOST_PP_ITERATION_4 251 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 250 && BOOST_PP_ITERATION_START_4 >= 250 +# define BOOST_PP_ITERATION_4 250 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 249 && BOOST_PP_ITERATION_START_4 >= 249 +# define BOOST_PP_ITERATION_4 249 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 248 && BOOST_PP_ITERATION_START_4 >= 248 +# define BOOST_PP_ITERATION_4 248 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 247 && BOOST_PP_ITERATION_START_4 >= 247 +# define BOOST_PP_ITERATION_4 247 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 246 && BOOST_PP_ITERATION_START_4 >= 246 +# define BOOST_PP_ITERATION_4 246 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 245 && BOOST_PP_ITERATION_START_4 >= 245 +# define BOOST_PP_ITERATION_4 245 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 244 && BOOST_PP_ITERATION_START_4 >= 244 +# define BOOST_PP_ITERATION_4 244 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 243 && BOOST_PP_ITERATION_START_4 >= 243 +# define BOOST_PP_ITERATION_4 243 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 242 && BOOST_PP_ITERATION_START_4 >= 242 +# define BOOST_PP_ITERATION_4 242 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 241 && BOOST_PP_ITERATION_START_4 >= 241 +# define BOOST_PP_ITERATION_4 241 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 240 && BOOST_PP_ITERATION_START_4 >= 240 +# define BOOST_PP_ITERATION_4 240 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 239 && BOOST_PP_ITERATION_START_4 >= 239 +# define BOOST_PP_ITERATION_4 239 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 238 && BOOST_PP_ITERATION_START_4 >= 238 +# define BOOST_PP_ITERATION_4 238 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 237 && BOOST_PP_ITERATION_START_4 >= 237 +# define BOOST_PP_ITERATION_4 237 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 236 && BOOST_PP_ITERATION_START_4 >= 236 +# define BOOST_PP_ITERATION_4 236 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 235 && BOOST_PP_ITERATION_START_4 >= 235 +# define BOOST_PP_ITERATION_4 235 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 234 && BOOST_PP_ITERATION_START_4 >= 234 +# define BOOST_PP_ITERATION_4 234 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 233 && BOOST_PP_ITERATION_START_4 >= 233 +# define BOOST_PP_ITERATION_4 233 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 232 && BOOST_PP_ITERATION_START_4 >= 232 +# define BOOST_PP_ITERATION_4 232 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 231 && BOOST_PP_ITERATION_START_4 >= 231 +# define BOOST_PP_ITERATION_4 231 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 230 && BOOST_PP_ITERATION_START_4 >= 230 +# define BOOST_PP_ITERATION_4 230 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 229 && BOOST_PP_ITERATION_START_4 >= 229 +# define BOOST_PP_ITERATION_4 229 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 228 && BOOST_PP_ITERATION_START_4 >= 228 +# define BOOST_PP_ITERATION_4 228 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 227 && BOOST_PP_ITERATION_START_4 >= 227 +# define BOOST_PP_ITERATION_4 227 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 226 && BOOST_PP_ITERATION_START_4 >= 226 +# define BOOST_PP_ITERATION_4 226 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 225 && BOOST_PP_ITERATION_START_4 >= 225 +# define BOOST_PP_ITERATION_4 225 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 224 && BOOST_PP_ITERATION_START_4 >= 224 +# define BOOST_PP_ITERATION_4 224 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 223 && BOOST_PP_ITERATION_START_4 >= 223 +# define BOOST_PP_ITERATION_4 223 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 222 && BOOST_PP_ITERATION_START_4 >= 222 +# define BOOST_PP_ITERATION_4 222 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 221 && BOOST_PP_ITERATION_START_4 >= 221 +# define BOOST_PP_ITERATION_4 221 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 220 && BOOST_PP_ITERATION_START_4 >= 220 +# define BOOST_PP_ITERATION_4 220 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 219 && BOOST_PP_ITERATION_START_4 >= 219 +# define BOOST_PP_ITERATION_4 219 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 218 && BOOST_PP_ITERATION_START_4 >= 218 +# define BOOST_PP_ITERATION_4 218 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 217 && BOOST_PP_ITERATION_START_4 >= 217 +# define BOOST_PP_ITERATION_4 217 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 216 && BOOST_PP_ITERATION_START_4 >= 216 +# define BOOST_PP_ITERATION_4 216 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 215 && BOOST_PP_ITERATION_START_4 >= 215 +# define BOOST_PP_ITERATION_4 215 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 214 && BOOST_PP_ITERATION_START_4 >= 214 +# define BOOST_PP_ITERATION_4 214 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 213 && BOOST_PP_ITERATION_START_4 >= 213 +# define BOOST_PP_ITERATION_4 213 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 212 && BOOST_PP_ITERATION_START_4 >= 212 +# define BOOST_PP_ITERATION_4 212 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 211 && BOOST_PP_ITERATION_START_4 >= 211 +# define BOOST_PP_ITERATION_4 211 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 210 && BOOST_PP_ITERATION_START_4 >= 210 +# define BOOST_PP_ITERATION_4 210 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 209 && BOOST_PP_ITERATION_START_4 >= 209 +# define BOOST_PP_ITERATION_4 209 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 208 && BOOST_PP_ITERATION_START_4 >= 208 +# define BOOST_PP_ITERATION_4 208 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 207 && BOOST_PP_ITERATION_START_4 >= 207 +# define BOOST_PP_ITERATION_4 207 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 206 && BOOST_PP_ITERATION_START_4 >= 206 +# define BOOST_PP_ITERATION_4 206 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 205 && BOOST_PP_ITERATION_START_4 >= 205 +# define BOOST_PP_ITERATION_4 205 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 204 && BOOST_PP_ITERATION_START_4 >= 204 +# define BOOST_PP_ITERATION_4 204 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 203 && BOOST_PP_ITERATION_START_4 >= 203 +# define BOOST_PP_ITERATION_4 203 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 202 && BOOST_PP_ITERATION_START_4 >= 202 +# define BOOST_PP_ITERATION_4 202 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 201 && BOOST_PP_ITERATION_START_4 >= 201 +# define BOOST_PP_ITERATION_4 201 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 200 && BOOST_PP_ITERATION_START_4 >= 200 +# define BOOST_PP_ITERATION_4 200 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 199 && BOOST_PP_ITERATION_START_4 >= 199 +# define BOOST_PP_ITERATION_4 199 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 198 && BOOST_PP_ITERATION_START_4 >= 198 +# define BOOST_PP_ITERATION_4 198 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 197 && BOOST_PP_ITERATION_START_4 >= 197 +# define BOOST_PP_ITERATION_4 197 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 196 && BOOST_PP_ITERATION_START_4 >= 196 +# define BOOST_PP_ITERATION_4 196 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 195 && BOOST_PP_ITERATION_START_4 >= 195 +# define BOOST_PP_ITERATION_4 195 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 194 && BOOST_PP_ITERATION_START_4 >= 194 +# define BOOST_PP_ITERATION_4 194 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 193 && BOOST_PP_ITERATION_START_4 >= 193 +# define BOOST_PP_ITERATION_4 193 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 192 && BOOST_PP_ITERATION_START_4 >= 192 +# define BOOST_PP_ITERATION_4 192 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 191 && BOOST_PP_ITERATION_START_4 >= 191 +# define BOOST_PP_ITERATION_4 191 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 190 && BOOST_PP_ITERATION_START_4 >= 190 +# define BOOST_PP_ITERATION_4 190 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 189 && BOOST_PP_ITERATION_START_4 >= 189 +# define BOOST_PP_ITERATION_4 189 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 188 && BOOST_PP_ITERATION_START_4 >= 188 +# define BOOST_PP_ITERATION_4 188 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 187 && BOOST_PP_ITERATION_START_4 >= 187 +# define BOOST_PP_ITERATION_4 187 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 186 && BOOST_PP_ITERATION_START_4 >= 186 +# define BOOST_PP_ITERATION_4 186 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 185 && BOOST_PP_ITERATION_START_4 >= 185 +# define BOOST_PP_ITERATION_4 185 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 184 && BOOST_PP_ITERATION_START_4 >= 184 +# define BOOST_PP_ITERATION_4 184 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 183 && BOOST_PP_ITERATION_START_4 >= 183 +# define BOOST_PP_ITERATION_4 183 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 182 && BOOST_PP_ITERATION_START_4 >= 182 +# define BOOST_PP_ITERATION_4 182 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 181 && BOOST_PP_ITERATION_START_4 >= 181 +# define BOOST_PP_ITERATION_4 181 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 180 && BOOST_PP_ITERATION_START_4 >= 180 +# define BOOST_PP_ITERATION_4 180 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 179 && BOOST_PP_ITERATION_START_4 >= 179 +# define BOOST_PP_ITERATION_4 179 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 178 && BOOST_PP_ITERATION_START_4 >= 178 +# define BOOST_PP_ITERATION_4 178 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 177 && BOOST_PP_ITERATION_START_4 >= 177 +# define BOOST_PP_ITERATION_4 177 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 176 && BOOST_PP_ITERATION_START_4 >= 176 +# define BOOST_PP_ITERATION_4 176 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 175 && BOOST_PP_ITERATION_START_4 >= 175 +# define BOOST_PP_ITERATION_4 175 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 174 && BOOST_PP_ITERATION_START_4 >= 174 +# define BOOST_PP_ITERATION_4 174 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 173 && BOOST_PP_ITERATION_START_4 >= 173 +# define BOOST_PP_ITERATION_4 173 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 172 && BOOST_PP_ITERATION_START_4 >= 172 +# define BOOST_PP_ITERATION_4 172 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 171 && BOOST_PP_ITERATION_START_4 >= 171 +# define BOOST_PP_ITERATION_4 171 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 170 && BOOST_PP_ITERATION_START_4 >= 170 +# define BOOST_PP_ITERATION_4 170 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 169 && BOOST_PP_ITERATION_START_4 >= 169 +# define BOOST_PP_ITERATION_4 169 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 168 && BOOST_PP_ITERATION_START_4 >= 168 +# define BOOST_PP_ITERATION_4 168 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 167 && BOOST_PP_ITERATION_START_4 >= 167 +# define BOOST_PP_ITERATION_4 167 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 166 && BOOST_PP_ITERATION_START_4 >= 166 +# define BOOST_PP_ITERATION_4 166 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 165 && BOOST_PP_ITERATION_START_4 >= 165 +# define BOOST_PP_ITERATION_4 165 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 164 && BOOST_PP_ITERATION_START_4 >= 164 +# define BOOST_PP_ITERATION_4 164 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 163 && BOOST_PP_ITERATION_START_4 >= 163 +# define BOOST_PP_ITERATION_4 163 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 162 && BOOST_PP_ITERATION_START_4 >= 162 +# define BOOST_PP_ITERATION_4 162 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 161 && BOOST_PP_ITERATION_START_4 >= 161 +# define BOOST_PP_ITERATION_4 161 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 160 && BOOST_PP_ITERATION_START_4 >= 160 +# define BOOST_PP_ITERATION_4 160 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 159 && BOOST_PP_ITERATION_START_4 >= 159 +# define BOOST_PP_ITERATION_4 159 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 158 && BOOST_PP_ITERATION_START_4 >= 158 +# define BOOST_PP_ITERATION_4 158 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 157 && BOOST_PP_ITERATION_START_4 >= 157 +# define BOOST_PP_ITERATION_4 157 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 156 && BOOST_PP_ITERATION_START_4 >= 156 +# define BOOST_PP_ITERATION_4 156 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 155 && BOOST_PP_ITERATION_START_4 >= 155 +# define BOOST_PP_ITERATION_4 155 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 154 && BOOST_PP_ITERATION_START_4 >= 154 +# define BOOST_PP_ITERATION_4 154 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 153 && BOOST_PP_ITERATION_START_4 >= 153 +# define BOOST_PP_ITERATION_4 153 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 152 && BOOST_PP_ITERATION_START_4 >= 152 +# define BOOST_PP_ITERATION_4 152 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 151 && BOOST_PP_ITERATION_START_4 >= 151 +# define BOOST_PP_ITERATION_4 151 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 150 && BOOST_PP_ITERATION_START_4 >= 150 +# define BOOST_PP_ITERATION_4 150 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 149 && BOOST_PP_ITERATION_START_4 >= 149 +# define BOOST_PP_ITERATION_4 149 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 148 && BOOST_PP_ITERATION_START_4 >= 148 +# define BOOST_PP_ITERATION_4 148 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 147 && BOOST_PP_ITERATION_START_4 >= 147 +# define BOOST_PP_ITERATION_4 147 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 146 && BOOST_PP_ITERATION_START_4 >= 146 +# define BOOST_PP_ITERATION_4 146 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 145 && BOOST_PP_ITERATION_START_4 >= 145 +# define BOOST_PP_ITERATION_4 145 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 144 && BOOST_PP_ITERATION_START_4 >= 144 +# define BOOST_PP_ITERATION_4 144 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 143 && BOOST_PP_ITERATION_START_4 >= 143 +# define BOOST_PP_ITERATION_4 143 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 142 && BOOST_PP_ITERATION_START_4 >= 142 +# define BOOST_PP_ITERATION_4 142 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 141 && BOOST_PP_ITERATION_START_4 >= 141 +# define BOOST_PP_ITERATION_4 141 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 140 && BOOST_PP_ITERATION_START_4 >= 140 +# define BOOST_PP_ITERATION_4 140 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 139 && BOOST_PP_ITERATION_START_4 >= 139 +# define BOOST_PP_ITERATION_4 139 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 138 && BOOST_PP_ITERATION_START_4 >= 138 +# define BOOST_PP_ITERATION_4 138 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 137 && BOOST_PP_ITERATION_START_4 >= 137 +# define BOOST_PP_ITERATION_4 137 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 136 && BOOST_PP_ITERATION_START_4 >= 136 +# define BOOST_PP_ITERATION_4 136 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 135 && BOOST_PP_ITERATION_START_4 >= 135 +# define BOOST_PP_ITERATION_4 135 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 134 && BOOST_PP_ITERATION_START_4 >= 134 +# define BOOST_PP_ITERATION_4 134 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 133 && BOOST_PP_ITERATION_START_4 >= 133 +# define BOOST_PP_ITERATION_4 133 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 132 && BOOST_PP_ITERATION_START_4 >= 132 +# define BOOST_PP_ITERATION_4 132 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 131 && BOOST_PP_ITERATION_START_4 >= 131 +# define BOOST_PP_ITERATION_4 131 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 130 && BOOST_PP_ITERATION_START_4 >= 130 +# define BOOST_PP_ITERATION_4 130 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 129 && BOOST_PP_ITERATION_START_4 >= 129 +# define BOOST_PP_ITERATION_4 129 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 128 && BOOST_PP_ITERATION_START_4 >= 128 +# define BOOST_PP_ITERATION_4 128 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 127 && BOOST_PP_ITERATION_START_4 >= 127 +# define BOOST_PP_ITERATION_4 127 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 126 && BOOST_PP_ITERATION_START_4 >= 126 +# define BOOST_PP_ITERATION_4 126 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 125 && BOOST_PP_ITERATION_START_4 >= 125 +# define BOOST_PP_ITERATION_4 125 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 124 && BOOST_PP_ITERATION_START_4 >= 124 +# define BOOST_PP_ITERATION_4 124 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 123 && BOOST_PP_ITERATION_START_4 >= 123 +# define BOOST_PP_ITERATION_4 123 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 122 && BOOST_PP_ITERATION_START_4 >= 122 +# define BOOST_PP_ITERATION_4 122 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 121 && BOOST_PP_ITERATION_START_4 >= 121 +# define BOOST_PP_ITERATION_4 121 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 120 && BOOST_PP_ITERATION_START_4 >= 120 +# define BOOST_PP_ITERATION_4 120 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 119 && BOOST_PP_ITERATION_START_4 >= 119 +# define BOOST_PP_ITERATION_4 119 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 118 && BOOST_PP_ITERATION_START_4 >= 118 +# define BOOST_PP_ITERATION_4 118 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 117 && BOOST_PP_ITERATION_START_4 >= 117 +# define BOOST_PP_ITERATION_4 117 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 116 && BOOST_PP_ITERATION_START_4 >= 116 +# define BOOST_PP_ITERATION_4 116 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 115 && BOOST_PP_ITERATION_START_4 >= 115 +# define BOOST_PP_ITERATION_4 115 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 114 && BOOST_PP_ITERATION_START_4 >= 114 +# define BOOST_PP_ITERATION_4 114 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 113 && BOOST_PP_ITERATION_START_4 >= 113 +# define BOOST_PP_ITERATION_4 113 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 112 && BOOST_PP_ITERATION_START_4 >= 112 +# define BOOST_PP_ITERATION_4 112 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 111 && BOOST_PP_ITERATION_START_4 >= 111 +# define BOOST_PP_ITERATION_4 111 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 110 && BOOST_PP_ITERATION_START_4 >= 110 +# define BOOST_PP_ITERATION_4 110 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 109 && BOOST_PP_ITERATION_START_4 >= 109 +# define BOOST_PP_ITERATION_4 109 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 108 && BOOST_PP_ITERATION_START_4 >= 108 +# define BOOST_PP_ITERATION_4 108 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 107 && BOOST_PP_ITERATION_START_4 >= 107 +# define BOOST_PP_ITERATION_4 107 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 106 && BOOST_PP_ITERATION_START_4 >= 106 +# define BOOST_PP_ITERATION_4 106 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 105 && BOOST_PP_ITERATION_START_4 >= 105 +# define BOOST_PP_ITERATION_4 105 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 104 && BOOST_PP_ITERATION_START_4 >= 104 +# define BOOST_PP_ITERATION_4 104 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 103 && BOOST_PP_ITERATION_START_4 >= 103 +# define BOOST_PP_ITERATION_4 103 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 102 && BOOST_PP_ITERATION_START_4 >= 102 +# define BOOST_PP_ITERATION_4 102 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 101 && BOOST_PP_ITERATION_START_4 >= 101 +# define BOOST_PP_ITERATION_4 101 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 100 && BOOST_PP_ITERATION_START_4 >= 100 +# define BOOST_PP_ITERATION_4 100 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 99 && BOOST_PP_ITERATION_START_4 >= 99 +# define BOOST_PP_ITERATION_4 99 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 98 && BOOST_PP_ITERATION_START_4 >= 98 +# define BOOST_PP_ITERATION_4 98 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 97 && BOOST_PP_ITERATION_START_4 >= 97 +# define BOOST_PP_ITERATION_4 97 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 96 && BOOST_PP_ITERATION_START_4 >= 96 +# define BOOST_PP_ITERATION_4 96 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 95 && BOOST_PP_ITERATION_START_4 >= 95 +# define BOOST_PP_ITERATION_4 95 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 94 && BOOST_PP_ITERATION_START_4 >= 94 +# define BOOST_PP_ITERATION_4 94 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 93 && BOOST_PP_ITERATION_START_4 >= 93 +# define BOOST_PP_ITERATION_4 93 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 92 && BOOST_PP_ITERATION_START_4 >= 92 +# define BOOST_PP_ITERATION_4 92 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 91 && BOOST_PP_ITERATION_START_4 >= 91 +# define BOOST_PP_ITERATION_4 91 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 90 && BOOST_PP_ITERATION_START_4 >= 90 +# define BOOST_PP_ITERATION_4 90 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 89 && BOOST_PP_ITERATION_START_4 >= 89 +# define BOOST_PP_ITERATION_4 89 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 88 && BOOST_PP_ITERATION_START_4 >= 88 +# define BOOST_PP_ITERATION_4 88 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 87 && BOOST_PP_ITERATION_START_4 >= 87 +# define BOOST_PP_ITERATION_4 87 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 86 && BOOST_PP_ITERATION_START_4 >= 86 +# define BOOST_PP_ITERATION_4 86 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 85 && BOOST_PP_ITERATION_START_4 >= 85 +# define BOOST_PP_ITERATION_4 85 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 84 && BOOST_PP_ITERATION_START_4 >= 84 +# define BOOST_PP_ITERATION_4 84 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 83 && BOOST_PP_ITERATION_START_4 >= 83 +# define BOOST_PP_ITERATION_4 83 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 82 && BOOST_PP_ITERATION_START_4 >= 82 +# define BOOST_PP_ITERATION_4 82 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 81 && BOOST_PP_ITERATION_START_4 >= 81 +# define BOOST_PP_ITERATION_4 81 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 80 && BOOST_PP_ITERATION_START_4 >= 80 +# define BOOST_PP_ITERATION_4 80 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 79 && BOOST_PP_ITERATION_START_4 >= 79 +# define BOOST_PP_ITERATION_4 79 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 78 && BOOST_PP_ITERATION_START_4 >= 78 +# define BOOST_PP_ITERATION_4 78 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 77 && BOOST_PP_ITERATION_START_4 >= 77 +# define BOOST_PP_ITERATION_4 77 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 76 && BOOST_PP_ITERATION_START_4 >= 76 +# define BOOST_PP_ITERATION_4 76 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 75 && BOOST_PP_ITERATION_START_4 >= 75 +# define BOOST_PP_ITERATION_4 75 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 74 && BOOST_PP_ITERATION_START_4 >= 74 +# define BOOST_PP_ITERATION_4 74 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 73 && BOOST_PP_ITERATION_START_4 >= 73 +# define BOOST_PP_ITERATION_4 73 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 72 && BOOST_PP_ITERATION_START_4 >= 72 +# define BOOST_PP_ITERATION_4 72 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 71 && BOOST_PP_ITERATION_START_4 >= 71 +# define BOOST_PP_ITERATION_4 71 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 70 && BOOST_PP_ITERATION_START_4 >= 70 +# define BOOST_PP_ITERATION_4 70 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 69 && BOOST_PP_ITERATION_START_4 >= 69 +# define BOOST_PP_ITERATION_4 69 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 68 && BOOST_PP_ITERATION_START_4 >= 68 +# define BOOST_PP_ITERATION_4 68 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 67 && BOOST_PP_ITERATION_START_4 >= 67 +# define BOOST_PP_ITERATION_4 67 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 66 && BOOST_PP_ITERATION_START_4 >= 66 +# define BOOST_PP_ITERATION_4 66 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 65 && BOOST_PP_ITERATION_START_4 >= 65 +# define BOOST_PP_ITERATION_4 65 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 64 && BOOST_PP_ITERATION_START_4 >= 64 +# define BOOST_PP_ITERATION_4 64 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 63 && BOOST_PP_ITERATION_START_4 >= 63 +# define BOOST_PP_ITERATION_4 63 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 62 && BOOST_PP_ITERATION_START_4 >= 62 +# define BOOST_PP_ITERATION_4 62 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 61 && BOOST_PP_ITERATION_START_4 >= 61 +# define BOOST_PP_ITERATION_4 61 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 60 && BOOST_PP_ITERATION_START_4 >= 60 +# define BOOST_PP_ITERATION_4 60 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 59 && BOOST_PP_ITERATION_START_4 >= 59 +# define BOOST_PP_ITERATION_4 59 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 58 && BOOST_PP_ITERATION_START_4 >= 58 +# define BOOST_PP_ITERATION_4 58 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 57 && BOOST_PP_ITERATION_START_4 >= 57 +# define BOOST_PP_ITERATION_4 57 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 56 && BOOST_PP_ITERATION_START_4 >= 56 +# define BOOST_PP_ITERATION_4 56 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 55 && BOOST_PP_ITERATION_START_4 >= 55 +# define BOOST_PP_ITERATION_4 55 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 54 && BOOST_PP_ITERATION_START_4 >= 54 +# define BOOST_PP_ITERATION_4 54 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 53 && BOOST_PP_ITERATION_START_4 >= 53 +# define BOOST_PP_ITERATION_4 53 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 52 && BOOST_PP_ITERATION_START_4 >= 52 +# define BOOST_PP_ITERATION_4 52 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 51 && BOOST_PP_ITERATION_START_4 >= 51 +# define BOOST_PP_ITERATION_4 51 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 50 && BOOST_PP_ITERATION_START_4 >= 50 +# define BOOST_PP_ITERATION_4 50 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 49 && BOOST_PP_ITERATION_START_4 >= 49 +# define BOOST_PP_ITERATION_4 49 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 48 && BOOST_PP_ITERATION_START_4 >= 48 +# define BOOST_PP_ITERATION_4 48 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 47 && BOOST_PP_ITERATION_START_4 >= 47 +# define BOOST_PP_ITERATION_4 47 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 46 && BOOST_PP_ITERATION_START_4 >= 46 +# define BOOST_PP_ITERATION_4 46 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 45 && BOOST_PP_ITERATION_START_4 >= 45 +# define BOOST_PP_ITERATION_4 45 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 44 && BOOST_PP_ITERATION_START_4 >= 44 +# define BOOST_PP_ITERATION_4 44 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 43 && BOOST_PP_ITERATION_START_4 >= 43 +# define BOOST_PP_ITERATION_4 43 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 42 && BOOST_PP_ITERATION_START_4 >= 42 +# define BOOST_PP_ITERATION_4 42 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 41 && BOOST_PP_ITERATION_START_4 >= 41 +# define BOOST_PP_ITERATION_4 41 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 40 && BOOST_PP_ITERATION_START_4 >= 40 +# define BOOST_PP_ITERATION_4 40 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 39 && BOOST_PP_ITERATION_START_4 >= 39 +# define BOOST_PP_ITERATION_4 39 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 38 && BOOST_PP_ITERATION_START_4 >= 38 +# define BOOST_PP_ITERATION_4 38 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 37 && BOOST_PP_ITERATION_START_4 >= 37 +# define BOOST_PP_ITERATION_4 37 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 36 && BOOST_PP_ITERATION_START_4 >= 36 +# define BOOST_PP_ITERATION_4 36 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 35 && BOOST_PP_ITERATION_START_4 >= 35 +# define BOOST_PP_ITERATION_4 35 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 34 && BOOST_PP_ITERATION_START_4 >= 34 +# define BOOST_PP_ITERATION_4 34 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 33 && BOOST_PP_ITERATION_START_4 >= 33 +# define BOOST_PP_ITERATION_4 33 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 32 && BOOST_PP_ITERATION_START_4 >= 32 +# define BOOST_PP_ITERATION_4 32 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 31 && BOOST_PP_ITERATION_START_4 >= 31 +# define BOOST_PP_ITERATION_4 31 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 30 && BOOST_PP_ITERATION_START_4 >= 30 +# define BOOST_PP_ITERATION_4 30 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 29 && BOOST_PP_ITERATION_START_4 >= 29 +# define BOOST_PP_ITERATION_4 29 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 28 && BOOST_PP_ITERATION_START_4 >= 28 +# define BOOST_PP_ITERATION_4 28 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 27 && BOOST_PP_ITERATION_START_4 >= 27 +# define BOOST_PP_ITERATION_4 27 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 26 && BOOST_PP_ITERATION_START_4 >= 26 +# define BOOST_PP_ITERATION_4 26 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 25 && BOOST_PP_ITERATION_START_4 >= 25 +# define BOOST_PP_ITERATION_4 25 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 24 && BOOST_PP_ITERATION_START_4 >= 24 +# define BOOST_PP_ITERATION_4 24 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 23 && BOOST_PP_ITERATION_START_4 >= 23 +# define BOOST_PP_ITERATION_4 23 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 22 && BOOST_PP_ITERATION_START_4 >= 22 +# define BOOST_PP_ITERATION_4 22 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 21 && BOOST_PP_ITERATION_START_4 >= 21 +# define BOOST_PP_ITERATION_4 21 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 20 && BOOST_PP_ITERATION_START_4 >= 20 +# define BOOST_PP_ITERATION_4 20 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 19 && BOOST_PP_ITERATION_START_4 >= 19 +# define BOOST_PP_ITERATION_4 19 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 18 && BOOST_PP_ITERATION_START_4 >= 18 +# define BOOST_PP_ITERATION_4 18 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 17 && BOOST_PP_ITERATION_START_4 >= 17 +# define BOOST_PP_ITERATION_4 17 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 16 && BOOST_PP_ITERATION_START_4 >= 16 +# define BOOST_PP_ITERATION_4 16 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 15 && BOOST_PP_ITERATION_START_4 >= 15 +# define BOOST_PP_ITERATION_4 15 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 14 && BOOST_PP_ITERATION_START_4 >= 14 +# define BOOST_PP_ITERATION_4 14 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 13 && BOOST_PP_ITERATION_START_4 >= 13 +# define BOOST_PP_ITERATION_4 13 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 12 && BOOST_PP_ITERATION_START_4 >= 12 +# define BOOST_PP_ITERATION_4 12 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 11 && BOOST_PP_ITERATION_START_4 >= 11 +# define BOOST_PP_ITERATION_4 11 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 10 && BOOST_PP_ITERATION_START_4 >= 10 +# define BOOST_PP_ITERATION_4 10 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 9 && BOOST_PP_ITERATION_START_4 >= 9 +# define BOOST_PP_ITERATION_4 9 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 8 && BOOST_PP_ITERATION_START_4 >= 8 +# define BOOST_PP_ITERATION_4 8 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 7 && BOOST_PP_ITERATION_START_4 >= 7 +# define BOOST_PP_ITERATION_4 7 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 6 && BOOST_PP_ITERATION_START_4 >= 6 +# define BOOST_PP_ITERATION_4 6 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 5 && BOOST_PP_ITERATION_START_4 >= 5 +# define BOOST_PP_ITERATION_4 5 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 4 && BOOST_PP_ITERATION_START_4 >= 4 +# define BOOST_PP_ITERATION_4 4 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 3 && BOOST_PP_ITERATION_START_4 >= 3 +# define BOOST_PP_ITERATION_4 3 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 2 && BOOST_PP_ITERATION_START_4 >= 2 +# define BOOST_PP_ITERATION_4 2 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 1 && BOOST_PP_ITERATION_START_4 >= 1 +# define BOOST_PP_ITERATION_4 1 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif +# if BOOST_PP_ITERATION_FINISH_4 <= 0 && BOOST_PP_ITERATION_START_4 >= 0 +# define BOOST_PP_ITERATION_4 0 +# include BOOST_PP_FILENAME_4 +# undef BOOST_PP_ITERATION_4 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp new file mode 100644 index 0000000..ab99d1e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/iter/reverse5.hpp @@ -0,0 +1,1296 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if BOOST_PP_ITERATION_FINISH_5 <= 256 && BOOST_PP_ITERATION_START_5 >= 256 +# define BOOST_PP_ITERATION_5 256 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 255 && BOOST_PP_ITERATION_START_5 >= 255 +# define BOOST_PP_ITERATION_5 255 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 254 && BOOST_PP_ITERATION_START_5 >= 254 +# define BOOST_PP_ITERATION_5 254 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 253 && BOOST_PP_ITERATION_START_5 >= 253 +# define BOOST_PP_ITERATION_5 253 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 252 && BOOST_PP_ITERATION_START_5 >= 252 +# define BOOST_PP_ITERATION_5 252 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 251 && BOOST_PP_ITERATION_START_5 >= 251 +# define BOOST_PP_ITERATION_5 251 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 250 && BOOST_PP_ITERATION_START_5 >= 250 +# define BOOST_PP_ITERATION_5 250 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 249 && BOOST_PP_ITERATION_START_5 >= 249 +# define BOOST_PP_ITERATION_5 249 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 248 && BOOST_PP_ITERATION_START_5 >= 248 +# define BOOST_PP_ITERATION_5 248 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 247 && BOOST_PP_ITERATION_START_5 >= 247 +# define BOOST_PP_ITERATION_5 247 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 246 && BOOST_PP_ITERATION_START_5 >= 246 +# define BOOST_PP_ITERATION_5 246 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 245 && BOOST_PP_ITERATION_START_5 >= 245 +# define BOOST_PP_ITERATION_5 245 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 244 && BOOST_PP_ITERATION_START_5 >= 244 +# define BOOST_PP_ITERATION_5 244 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 243 && BOOST_PP_ITERATION_START_5 >= 243 +# define BOOST_PP_ITERATION_5 243 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 242 && BOOST_PP_ITERATION_START_5 >= 242 +# define BOOST_PP_ITERATION_5 242 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 241 && BOOST_PP_ITERATION_START_5 >= 241 +# define BOOST_PP_ITERATION_5 241 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 240 && BOOST_PP_ITERATION_START_5 >= 240 +# define BOOST_PP_ITERATION_5 240 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 239 && BOOST_PP_ITERATION_START_5 >= 239 +# define BOOST_PP_ITERATION_5 239 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 238 && BOOST_PP_ITERATION_START_5 >= 238 +# define BOOST_PP_ITERATION_5 238 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 237 && BOOST_PP_ITERATION_START_5 >= 237 +# define BOOST_PP_ITERATION_5 237 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 236 && BOOST_PP_ITERATION_START_5 >= 236 +# define BOOST_PP_ITERATION_5 236 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 235 && BOOST_PP_ITERATION_START_5 >= 235 +# define BOOST_PP_ITERATION_5 235 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 234 && BOOST_PP_ITERATION_START_5 >= 234 +# define BOOST_PP_ITERATION_5 234 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 233 && BOOST_PP_ITERATION_START_5 >= 233 +# define BOOST_PP_ITERATION_5 233 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 232 && BOOST_PP_ITERATION_START_5 >= 232 +# define BOOST_PP_ITERATION_5 232 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 231 && BOOST_PP_ITERATION_START_5 >= 231 +# define BOOST_PP_ITERATION_5 231 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 230 && BOOST_PP_ITERATION_START_5 >= 230 +# define BOOST_PP_ITERATION_5 230 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 229 && BOOST_PP_ITERATION_START_5 >= 229 +# define BOOST_PP_ITERATION_5 229 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 228 && BOOST_PP_ITERATION_START_5 >= 228 +# define BOOST_PP_ITERATION_5 228 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 227 && BOOST_PP_ITERATION_START_5 >= 227 +# define BOOST_PP_ITERATION_5 227 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 226 && BOOST_PP_ITERATION_START_5 >= 226 +# define BOOST_PP_ITERATION_5 226 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 225 && BOOST_PP_ITERATION_START_5 >= 225 +# define BOOST_PP_ITERATION_5 225 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 224 && BOOST_PP_ITERATION_START_5 >= 224 +# define BOOST_PP_ITERATION_5 224 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 223 && BOOST_PP_ITERATION_START_5 >= 223 +# define BOOST_PP_ITERATION_5 223 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 222 && BOOST_PP_ITERATION_START_5 >= 222 +# define BOOST_PP_ITERATION_5 222 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 221 && BOOST_PP_ITERATION_START_5 >= 221 +# define BOOST_PP_ITERATION_5 221 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 220 && BOOST_PP_ITERATION_START_5 >= 220 +# define BOOST_PP_ITERATION_5 220 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 219 && BOOST_PP_ITERATION_START_5 >= 219 +# define BOOST_PP_ITERATION_5 219 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 218 && BOOST_PP_ITERATION_START_5 >= 218 +# define BOOST_PP_ITERATION_5 218 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 217 && BOOST_PP_ITERATION_START_5 >= 217 +# define BOOST_PP_ITERATION_5 217 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 216 && BOOST_PP_ITERATION_START_5 >= 216 +# define BOOST_PP_ITERATION_5 216 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 215 && BOOST_PP_ITERATION_START_5 >= 215 +# define BOOST_PP_ITERATION_5 215 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 214 && BOOST_PP_ITERATION_START_5 >= 214 +# define BOOST_PP_ITERATION_5 214 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 213 && BOOST_PP_ITERATION_START_5 >= 213 +# define BOOST_PP_ITERATION_5 213 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 212 && BOOST_PP_ITERATION_START_5 >= 212 +# define BOOST_PP_ITERATION_5 212 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 211 && BOOST_PP_ITERATION_START_5 >= 211 +# define BOOST_PP_ITERATION_5 211 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 210 && BOOST_PP_ITERATION_START_5 >= 210 +# define BOOST_PP_ITERATION_5 210 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 209 && BOOST_PP_ITERATION_START_5 >= 209 +# define BOOST_PP_ITERATION_5 209 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 208 && BOOST_PP_ITERATION_START_5 >= 208 +# define BOOST_PP_ITERATION_5 208 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 207 && BOOST_PP_ITERATION_START_5 >= 207 +# define BOOST_PP_ITERATION_5 207 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 206 && BOOST_PP_ITERATION_START_5 >= 206 +# define BOOST_PP_ITERATION_5 206 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 205 && BOOST_PP_ITERATION_START_5 >= 205 +# define BOOST_PP_ITERATION_5 205 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 204 && BOOST_PP_ITERATION_START_5 >= 204 +# define BOOST_PP_ITERATION_5 204 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 203 && BOOST_PP_ITERATION_START_5 >= 203 +# define BOOST_PP_ITERATION_5 203 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 202 && BOOST_PP_ITERATION_START_5 >= 202 +# define BOOST_PP_ITERATION_5 202 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 201 && BOOST_PP_ITERATION_START_5 >= 201 +# define BOOST_PP_ITERATION_5 201 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 200 && BOOST_PP_ITERATION_START_5 >= 200 +# define BOOST_PP_ITERATION_5 200 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 199 && BOOST_PP_ITERATION_START_5 >= 199 +# define BOOST_PP_ITERATION_5 199 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 198 && BOOST_PP_ITERATION_START_5 >= 198 +# define BOOST_PP_ITERATION_5 198 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 197 && BOOST_PP_ITERATION_START_5 >= 197 +# define BOOST_PP_ITERATION_5 197 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 196 && BOOST_PP_ITERATION_START_5 >= 196 +# define BOOST_PP_ITERATION_5 196 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 195 && BOOST_PP_ITERATION_START_5 >= 195 +# define BOOST_PP_ITERATION_5 195 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 194 && BOOST_PP_ITERATION_START_5 >= 194 +# define BOOST_PP_ITERATION_5 194 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 193 && BOOST_PP_ITERATION_START_5 >= 193 +# define BOOST_PP_ITERATION_5 193 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 192 && BOOST_PP_ITERATION_START_5 >= 192 +# define BOOST_PP_ITERATION_5 192 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 191 && BOOST_PP_ITERATION_START_5 >= 191 +# define BOOST_PP_ITERATION_5 191 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 190 && BOOST_PP_ITERATION_START_5 >= 190 +# define BOOST_PP_ITERATION_5 190 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 189 && BOOST_PP_ITERATION_START_5 >= 189 +# define BOOST_PP_ITERATION_5 189 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 188 && BOOST_PP_ITERATION_START_5 >= 188 +# define BOOST_PP_ITERATION_5 188 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 187 && BOOST_PP_ITERATION_START_5 >= 187 +# define BOOST_PP_ITERATION_5 187 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 186 && BOOST_PP_ITERATION_START_5 >= 186 +# define BOOST_PP_ITERATION_5 186 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 185 && BOOST_PP_ITERATION_START_5 >= 185 +# define BOOST_PP_ITERATION_5 185 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 184 && BOOST_PP_ITERATION_START_5 >= 184 +# define BOOST_PP_ITERATION_5 184 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 183 && BOOST_PP_ITERATION_START_5 >= 183 +# define BOOST_PP_ITERATION_5 183 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 182 && BOOST_PP_ITERATION_START_5 >= 182 +# define BOOST_PP_ITERATION_5 182 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 181 && BOOST_PP_ITERATION_START_5 >= 181 +# define BOOST_PP_ITERATION_5 181 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 180 && BOOST_PP_ITERATION_START_5 >= 180 +# define BOOST_PP_ITERATION_5 180 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 179 && BOOST_PP_ITERATION_START_5 >= 179 +# define BOOST_PP_ITERATION_5 179 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 178 && BOOST_PP_ITERATION_START_5 >= 178 +# define BOOST_PP_ITERATION_5 178 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 177 && BOOST_PP_ITERATION_START_5 >= 177 +# define BOOST_PP_ITERATION_5 177 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 176 && BOOST_PP_ITERATION_START_5 >= 176 +# define BOOST_PP_ITERATION_5 176 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 175 && BOOST_PP_ITERATION_START_5 >= 175 +# define BOOST_PP_ITERATION_5 175 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 174 && BOOST_PP_ITERATION_START_5 >= 174 +# define BOOST_PP_ITERATION_5 174 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 173 && BOOST_PP_ITERATION_START_5 >= 173 +# define BOOST_PP_ITERATION_5 173 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 172 && BOOST_PP_ITERATION_START_5 >= 172 +# define BOOST_PP_ITERATION_5 172 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 171 && BOOST_PP_ITERATION_START_5 >= 171 +# define BOOST_PP_ITERATION_5 171 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 170 && BOOST_PP_ITERATION_START_5 >= 170 +# define BOOST_PP_ITERATION_5 170 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 169 && BOOST_PP_ITERATION_START_5 >= 169 +# define BOOST_PP_ITERATION_5 169 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 168 && BOOST_PP_ITERATION_START_5 >= 168 +# define BOOST_PP_ITERATION_5 168 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 167 && BOOST_PP_ITERATION_START_5 >= 167 +# define BOOST_PP_ITERATION_5 167 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 166 && BOOST_PP_ITERATION_START_5 >= 166 +# define BOOST_PP_ITERATION_5 166 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 165 && BOOST_PP_ITERATION_START_5 >= 165 +# define BOOST_PP_ITERATION_5 165 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 164 && BOOST_PP_ITERATION_START_5 >= 164 +# define BOOST_PP_ITERATION_5 164 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 163 && BOOST_PP_ITERATION_START_5 >= 163 +# define BOOST_PP_ITERATION_5 163 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 162 && BOOST_PP_ITERATION_START_5 >= 162 +# define BOOST_PP_ITERATION_5 162 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 161 && BOOST_PP_ITERATION_START_5 >= 161 +# define BOOST_PP_ITERATION_5 161 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 160 && BOOST_PP_ITERATION_START_5 >= 160 +# define BOOST_PP_ITERATION_5 160 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 159 && BOOST_PP_ITERATION_START_5 >= 159 +# define BOOST_PP_ITERATION_5 159 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 158 && BOOST_PP_ITERATION_START_5 >= 158 +# define BOOST_PP_ITERATION_5 158 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 157 && BOOST_PP_ITERATION_START_5 >= 157 +# define BOOST_PP_ITERATION_5 157 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 156 && BOOST_PP_ITERATION_START_5 >= 156 +# define BOOST_PP_ITERATION_5 156 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 155 && BOOST_PP_ITERATION_START_5 >= 155 +# define BOOST_PP_ITERATION_5 155 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 154 && BOOST_PP_ITERATION_START_5 >= 154 +# define BOOST_PP_ITERATION_5 154 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 153 && BOOST_PP_ITERATION_START_5 >= 153 +# define BOOST_PP_ITERATION_5 153 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 152 && BOOST_PP_ITERATION_START_5 >= 152 +# define BOOST_PP_ITERATION_5 152 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 151 && BOOST_PP_ITERATION_START_5 >= 151 +# define BOOST_PP_ITERATION_5 151 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 150 && BOOST_PP_ITERATION_START_5 >= 150 +# define BOOST_PP_ITERATION_5 150 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 149 && BOOST_PP_ITERATION_START_5 >= 149 +# define BOOST_PP_ITERATION_5 149 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 148 && BOOST_PP_ITERATION_START_5 >= 148 +# define BOOST_PP_ITERATION_5 148 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 147 && BOOST_PP_ITERATION_START_5 >= 147 +# define BOOST_PP_ITERATION_5 147 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 146 && BOOST_PP_ITERATION_START_5 >= 146 +# define BOOST_PP_ITERATION_5 146 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 145 && BOOST_PP_ITERATION_START_5 >= 145 +# define BOOST_PP_ITERATION_5 145 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 144 && BOOST_PP_ITERATION_START_5 >= 144 +# define BOOST_PP_ITERATION_5 144 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 143 && BOOST_PP_ITERATION_START_5 >= 143 +# define BOOST_PP_ITERATION_5 143 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 142 && BOOST_PP_ITERATION_START_5 >= 142 +# define BOOST_PP_ITERATION_5 142 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 141 && BOOST_PP_ITERATION_START_5 >= 141 +# define BOOST_PP_ITERATION_5 141 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 140 && BOOST_PP_ITERATION_START_5 >= 140 +# define BOOST_PP_ITERATION_5 140 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 139 && BOOST_PP_ITERATION_START_5 >= 139 +# define BOOST_PP_ITERATION_5 139 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 138 && BOOST_PP_ITERATION_START_5 >= 138 +# define BOOST_PP_ITERATION_5 138 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 137 && BOOST_PP_ITERATION_START_5 >= 137 +# define BOOST_PP_ITERATION_5 137 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 136 && BOOST_PP_ITERATION_START_5 >= 136 +# define BOOST_PP_ITERATION_5 136 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 135 && BOOST_PP_ITERATION_START_5 >= 135 +# define BOOST_PP_ITERATION_5 135 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 134 && BOOST_PP_ITERATION_START_5 >= 134 +# define BOOST_PP_ITERATION_5 134 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 133 && BOOST_PP_ITERATION_START_5 >= 133 +# define BOOST_PP_ITERATION_5 133 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 132 && BOOST_PP_ITERATION_START_5 >= 132 +# define BOOST_PP_ITERATION_5 132 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 131 && BOOST_PP_ITERATION_START_5 >= 131 +# define BOOST_PP_ITERATION_5 131 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 130 && BOOST_PP_ITERATION_START_5 >= 130 +# define BOOST_PP_ITERATION_5 130 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 129 && BOOST_PP_ITERATION_START_5 >= 129 +# define BOOST_PP_ITERATION_5 129 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 128 && BOOST_PP_ITERATION_START_5 >= 128 +# define BOOST_PP_ITERATION_5 128 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 127 && BOOST_PP_ITERATION_START_5 >= 127 +# define BOOST_PP_ITERATION_5 127 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 126 && BOOST_PP_ITERATION_START_5 >= 126 +# define BOOST_PP_ITERATION_5 126 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 125 && BOOST_PP_ITERATION_START_5 >= 125 +# define BOOST_PP_ITERATION_5 125 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 124 && BOOST_PP_ITERATION_START_5 >= 124 +# define BOOST_PP_ITERATION_5 124 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 123 && BOOST_PP_ITERATION_START_5 >= 123 +# define BOOST_PP_ITERATION_5 123 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 122 && BOOST_PP_ITERATION_START_5 >= 122 +# define BOOST_PP_ITERATION_5 122 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 121 && BOOST_PP_ITERATION_START_5 >= 121 +# define BOOST_PP_ITERATION_5 121 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 120 && BOOST_PP_ITERATION_START_5 >= 120 +# define BOOST_PP_ITERATION_5 120 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 119 && BOOST_PP_ITERATION_START_5 >= 119 +# define BOOST_PP_ITERATION_5 119 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 118 && BOOST_PP_ITERATION_START_5 >= 118 +# define BOOST_PP_ITERATION_5 118 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 117 && BOOST_PP_ITERATION_START_5 >= 117 +# define BOOST_PP_ITERATION_5 117 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 116 && BOOST_PP_ITERATION_START_5 >= 116 +# define BOOST_PP_ITERATION_5 116 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 115 && BOOST_PP_ITERATION_START_5 >= 115 +# define BOOST_PP_ITERATION_5 115 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 114 && BOOST_PP_ITERATION_START_5 >= 114 +# define BOOST_PP_ITERATION_5 114 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 113 && BOOST_PP_ITERATION_START_5 >= 113 +# define BOOST_PP_ITERATION_5 113 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 112 && BOOST_PP_ITERATION_START_5 >= 112 +# define BOOST_PP_ITERATION_5 112 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 111 && BOOST_PP_ITERATION_START_5 >= 111 +# define BOOST_PP_ITERATION_5 111 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 110 && BOOST_PP_ITERATION_START_5 >= 110 +# define BOOST_PP_ITERATION_5 110 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 109 && BOOST_PP_ITERATION_START_5 >= 109 +# define BOOST_PP_ITERATION_5 109 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 108 && BOOST_PP_ITERATION_START_5 >= 108 +# define BOOST_PP_ITERATION_5 108 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 107 && BOOST_PP_ITERATION_START_5 >= 107 +# define BOOST_PP_ITERATION_5 107 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 106 && BOOST_PP_ITERATION_START_5 >= 106 +# define BOOST_PP_ITERATION_5 106 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 105 && BOOST_PP_ITERATION_START_5 >= 105 +# define BOOST_PP_ITERATION_5 105 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 104 && BOOST_PP_ITERATION_START_5 >= 104 +# define BOOST_PP_ITERATION_5 104 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 103 && BOOST_PP_ITERATION_START_5 >= 103 +# define BOOST_PP_ITERATION_5 103 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 102 && BOOST_PP_ITERATION_START_5 >= 102 +# define BOOST_PP_ITERATION_5 102 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 101 && BOOST_PP_ITERATION_START_5 >= 101 +# define BOOST_PP_ITERATION_5 101 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 100 && BOOST_PP_ITERATION_START_5 >= 100 +# define BOOST_PP_ITERATION_5 100 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 99 && BOOST_PP_ITERATION_START_5 >= 99 +# define BOOST_PP_ITERATION_5 99 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 98 && BOOST_PP_ITERATION_START_5 >= 98 +# define BOOST_PP_ITERATION_5 98 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 97 && BOOST_PP_ITERATION_START_5 >= 97 +# define BOOST_PP_ITERATION_5 97 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 96 && BOOST_PP_ITERATION_START_5 >= 96 +# define BOOST_PP_ITERATION_5 96 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 95 && BOOST_PP_ITERATION_START_5 >= 95 +# define BOOST_PP_ITERATION_5 95 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 94 && BOOST_PP_ITERATION_START_5 >= 94 +# define BOOST_PP_ITERATION_5 94 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 93 && BOOST_PP_ITERATION_START_5 >= 93 +# define BOOST_PP_ITERATION_5 93 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 92 && BOOST_PP_ITERATION_START_5 >= 92 +# define BOOST_PP_ITERATION_5 92 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 91 && BOOST_PP_ITERATION_START_5 >= 91 +# define BOOST_PP_ITERATION_5 91 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 90 && BOOST_PP_ITERATION_START_5 >= 90 +# define BOOST_PP_ITERATION_5 90 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 89 && BOOST_PP_ITERATION_START_5 >= 89 +# define BOOST_PP_ITERATION_5 89 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 88 && BOOST_PP_ITERATION_START_5 >= 88 +# define BOOST_PP_ITERATION_5 88 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 87 && BOOST_PP_ITERATION_START_5 >= 87 +# define BOOST_PP_ITERATION_5 87 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 86 && BOOST_PP_ITERATION_START_5 >= 86 +# define BOOST_PP_ITERATION_5 86 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 85 && BOOST_PP_ITERATION_START_5 >= 85 +# define BOOST_PP_ITERATION_5 85 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 84 && BOOST_PP_ITERATION_START_5 >= 84 +# define BOOST_PP_ITERATION_5 84 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 83 && BOOST_PP_ITERATION_START_5 >= 83 +# define BOOST_PP_ITERATION_5 83 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 82 && BOOST_PP_ITERATION_START_5 >= 82 +# define BOOST_PP_ITERATION_5 82 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 81 && BOOST_PP_ITERATION_START_5 >= 81 +# define BOOST_PP_ITERATION_5 81 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 80 && BOOST_PP_ITERATION_START_5 >= 80 +# define BOOST_PP_ITERATION_5 80 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 79 && BOOST_PP_ITERATION_START_5 >= 79 +# define BOOST_PP_ITERATION_5 79 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 78 && BOOST_PP_ITERATION_START_5 >= 78 +# define BOOST_PP_ITERATION_5 78 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 77 && BOOST_PP_ITERATION_START_5 >= 77 +# define BOOST_PP_ITERATION_5 77 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 76 && BOOST_PP_ITERATION_START_5 >= 76 +# define BOOST_PP_ITERATION_5 76 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 75 && BOOST_PP_ITERATION_START_5 >= 75 +# define BOOST_PP_ITERATION_5 75 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 74 && BOOST_PP_ITERATION_START_5 >= 74 +# define BOOST_PP_ITERATION_5 74 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 73 && BOOST_PP_ITERATION_START_5 >= 73 +# define BOOST_PP_ITERATION_5 73 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 72 && BOOST_PP_ITERATION_START_5 >= 72 +# define BOOST_PP_ITERATION_5 72 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 71 && BOOST_PP_ITERATION_START_5 >= 71 +# define BOOST_PP_ITERATION_5 71 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 70 && BOOST_PP_ITERATION_START_5 >= 70 +# define BOOST_PP_ITERATION_5 70 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 69 && BOOST_PP_ITERATION_START_5 >= 69 +# define BOOST_PP_ITERATION_5 69 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 68 && BOOST_PP_ITERATION_START_5 >= 68 +# define BOOST_PP_ITERATION_5 68 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 67 && BOOST_PP_ITERATION_START_5 >= 67 +# define BOOST_PP_ITERATION_5 67 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 66 && BOOST_PP_ITERATION_START_5 >= 66 +# define BOOST_PP_ITERATION_5 66 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 65 && BOOST_PP_ITERATION_START_5 >= 65 +# define BOOST_PP_ITERATION_5 65 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 64 && BOOST_PP_ITERATION_START_5 >= 64 +# define BOOST_PP_ITERATION_5 64 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 63 && BOOST_PP_ITERATION_START_5 >= 63 +# define BOOST_PP_ITERATION_5 63 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 62 && BOOST_PP_ITERATION_START_5 >= 62 +# define BOOST_PP_ITERATION_5 62 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 61 && BOOST_PP_ITERATION_START_5 >= 61 +# define BOOST_PP_ITERATION_5 61 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 60 && BOOST_PP_ITERATION_START_5 >= 60 +# define BOOST_PP_ITERATION_5 60 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 59 && BOOST_PP_ITERATION_START_5 >= 59 +# define BOOST_PP_ITERATION_5 59 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 58 && BOOST_PP_ITERATION_START_5 >= 58 +# define BOOST_PP_ITERATION_5 58 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 57 && BOOST_PP_ITERATION_START_5 >= 57 +# define BOOST_PP_ITERATION_5 57 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 56 && BOOST_PP_ITERATION_START_5 >= 56 +# define BOOST_PP_ITERATION_5 56 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 55 && BOOST_PP_ITERATION_START_5 >= 55 +# define BOOST_PP_ITERATION_5 55 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 54 && BOOST_PP_ITERATION_START_5 >= 54 +# define BOOST_PP_ITERATION_5 54 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 53 && BOOST_PP_ITERATION_START_5 >= 53 +# define BOOST_PP_ITERATION_5 53 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 52 && BOOST_PP_ITERATION_START_5 >= 52 +# define BOOST_PP_ITERATION_5 52 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 51 && BOOST_PP_ITERATION_START_5 >= 51 +# define BOOST_PP_ITERATION_5 51 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 50 && BOOST_PP_ITERATION_START_5 >= 50 +# define BOOST_PP_ITERATION_5 50 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 49 && BOOST_PP_ITERATION_START_5 >= 49 +# define BOOST_PP_ITERATION_5 49 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 48 && BOOST_PP_ITERATION_START_5 >= 48 +# define BOOST_PP_ITERATION_5 48 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 47 && BOOST_PP_ITERATION_START_5 >= 47 +# define BOOST_PP_ITERATION_5 47 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 46 && BOOST_PP_ITERATION_START_5 >= 46 +# define BOOST_PP_ITERATION_5 46 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 45 && BOOST_PP_ITERATION_START_5 >= 45 +# define BOOST_PP_ITERATION_5 45 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 44 && BOOST_PP_ITERATION_START_5 >= 44 +# define BOOST_PP_ITERATION_5 44 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 43 && BOOST_PP_ITERATION_START_5 >= 43 +# define BOOST_PP_ITERATION_5 43 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 42 && BOOST_PP_ITERATION_START_5 >= 42 +# define BOOST_PP_ITERATION_5 42 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 41 && BOOST_PP_ITERATION_START_5 >= 41 +# define BOOST_PP_ITERATION_5 41 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 40 && BOOST_PP_ITERATION_START_5 >= 40 +# define BOOST_PP_ITERATION_5 40 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 39 && BOOST_PP_ITERATION_START_5 >= 39 +# define BOOST_PP_ITERATION_5 39 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 38 && BOOST_PP_ITERATION_START_5 >= 38 +# define BOOST_PP_ITERATION_5 38 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 37 && BOOST_PP_ITERATION_START_5 >= 37 +# define BOOST_PP_ITERATION_5 37 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 36 && BOOST_PP_ITERATION_START_5 >= 36 +# define BOOST_PP_ITERATION_5 36 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 35 && BOOST_PP_ITERATION_START_5 >= 35 +# define BOOST_PP_ITERATION_5 35 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 34 && BOOST_PP_ITERATION_START_5 >= 34 +# define BOOST_PP_ITERATION_5 34 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 33 && BOOST_PP_ITERATION_START_5 >= 33 +# define BOOST_PP_ITERATION_5 33 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 32 && BOOST_PP_ITERATION_START_5 >= 32 +# define BOOST_PP_ITERATION_5 32 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 31 && BOOST_PP_ITERATION_START_5 >= 31 +# define BOOST_PP_ITERATION_5 31 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 30 && BOOST_PP_ITERATION_START_5 >= 30 +# define BOOST_PP_ITERATION_5 30 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 29 && BOOST_PP_ITERATION_START_5 >= 29 +# define BOOST_PP_ITERATION_5 29 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 28 && BOOST_PP_ITERATION_START_5 >= 28 +# define BOOST_PP_ITERATION_5 28 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 27 && BOOST_PP_ITERATION_START_5 >= 27 +# define BOOST_PP_ITERATION_5 27 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 26 && BOOST_PP_ITERATION_START_5 >= 26 +# define BOOST_PP_ITERATION_5 26 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 25 && BOOST_PP_ITERATION_START_5 >= 25 +# define BOOST_PP_ITERATION_5 25 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 24 && BOOST_PP_ITERATION_START_5 >= 24 +# define BOOST_PP_ITERATION_5 24 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 23 && BOOST_PP_ITERATION_START_5 >= 23 +# define BOOST_PP_ITERATION_5 23 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 22 && BOOST_PP_ITERATION_START_5 >= 22 +# define BOOST_PP_ITERATION_5 22 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 21 && BOOST_PP_ITERATION_START_5 >= 21 +# define BOOST_PP_ITERATION_5 21 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 20 && BOOST_PP_ITERATION_START_5 >= 20 +# define BOOST_PP_ITERATION_5 20 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 19 && BOOST_PP_ITERATION_START_5 >= 19 +# define BOOST_PP_ITERATION_5 19 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 18 && BOOST_PP_ITERATION_START_5 >= 18 +# define BOOST_PP_ITERATION_5 18 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 17 && BOOST_PP_ITERATION_START_5 >= 17 +# define BOOST_PP_ITERATION_5 17 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 16 && BOOST_PP_ITERATION_START_5 >= 16 +# define BOOST_PP_ITERATION_5 16 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 15 && BOOST_PP_ITERATION_START_5 >= 15 +# define BOOST_PP_ITERATION_5 15 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 14 && BOOST_PP_ITERATION_START_5 >= 14 +# define BOOST_PP_ITERATION_5 14 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 13 && BOOST_PP_ITERATION_START_5 >= 13 +# define BOOST_PP_ITERATION_5 13 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 12 && BOOST_PP_ITERATION_START_5 >= 12 +# define BOOST_PP_ITERATION_5 12 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 11 && BOOST_PP_ITERATION_START_5 >= 11 +# define BOOST_PP_ITERATION_5 11 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 10 && BOOST_PP_ITERATION_START_5 >= 10 +# define BOOST_PP_ITERATION_5 10 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 9 && BOOST_PP_ITERATION_START_5 >= 9 +# define BOOST_PP_ITERATION_5 9 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 8 && BOOST_PP_ITERATION_START_5 >= 8 +# define BOOST_PP_ITERATION_5 8 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 7 && BOOST_PP_ITERATION_START_5 >= 7 +# define BOOST_PP_ITERATION_5 7 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 6 && BOOST_PP_ITERATION_START_5 >= 6 +# define BOOST_PP_ITERATION_5 6 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 5 && BOOST_PP_ITERATION_START_5 >= 5 +# define BOOST_PP_ITERATION_5 5 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 4 && BOOST_PP_ITERATION_START_5 >= 4 +# define BOOST_PP_ITERATION_5 4 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 3 && BOOST_PP_ITERATION_START_5 >= 3 +# define BOOST_PP_ITERATION_5 3 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 2 && BOOST_PP_ITERATION_START_5 >= 2 +# define BOOST_PP_ITERATION_5 2 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 1 && BOOST_PP_ITERATION_START_5 >= 1 +# define BOOST_PP_ITERATION_5 1 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif +# if BOOST_PP_ITERATION_FINISH_5 <= 0 && BOOST_PP_ITERATION_START_5 >= 0 +# define BOOST_PP_ITERATION_5 0 +# include BOOST_PP_FILENAME_5 +# undef BOOST_PP_ITERATION_5 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/local.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/local.hpp new file mode 100644 index 0000000..126ff1d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/local.hpp @@ -0,0 +1,812 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if !defined(BOOST_PP_LOCAL_LIMITS) +# error BOOST_PP_ERROR: local iteration boundaries are not defined +# elif !defined(BOOST_PP_LOCAL_MACRO) +# error BOOST_PP_ERROR: local iteration target macro is not defined +# else +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LOCAL_S BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS) +# define BOOST_PP_LOCAL_F BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS) +# else +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_LOCAL_LIMITS) +# include +# define BOOST_PP_VALUE BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_LOCAL_LIMITS) +# include +# define BOOST_PP_LOCAL_S BOOST_PP_LOCAL_SE() +# define BOOST_PP_LOCAL_F BOOST_PP_LOCAL_FE() +# endif +# endif +# +# if (BOOST_PP_LOCAL_S) > (BOOST_PP_LOCAL_F) +# include +# else +# if BOOST_PP_LOCAL_C(0) + BOOST_PP_LOCAL_MACRO(0) +# endif +# if BOOST_PP_LOCAL_C(1) + BOOST_PP_LOCAL_MACRO(1) +# endif +# if BOOST_PP_LOCAL_C(2) + BOOST_PP_LOCAL_MACRO(2) +# endif +# if BOOST_PP_LOCAL_C(3) + BOOST_PP_LOCAL_MACRO(3) +# endif +# if BOOST_PP_LOCAL_C(4) + BOOST_PP_LOCAL_MACRO(4) +# endif +# if BOOST_PP_LOCAL_C(5) + BOOST_PP_LOCAL_MACRO(5) +# endif +# if BOOST_PP_LOCAL_C(6) + BOOST_PP_LOCAL_MACRO(6) +# endif +# if BOOST_PP_LOCAL_C(7) + BOOST_PP_LOCAL_MACRO(7) +# endif +# if BOOST_PP_LOCAL_C(8) + BOOST_PP_LOCAL_MACRO(8) +# endif +# if BOOST_PP_LOCAL_C(9) + BOOST_PP_LOCAL_MACRO(9) +# endif +# if BOOST_PP_LOCAL_C(10) + BOOST_PP_LOCAL_MACRO(10) +# endif +# if BOOST_PP_LOCAL_C(11) + BOOST_PP_LOCAL_MACRO(11) +# endif +# if BOOST_PP_LOCAL_C(12) + BOOST_PP_LOCAL_MACRO(12) +# endif +# if BOOST_PP_LOCAL_C(13) + BOOST_PP_LOCAL_MACRO(13) +# endif +# if BOOST_PP_LOCAL_C(14) + BOOST_PP_LOCAL_MACRO(14) +# endif +# if BOOST_PP_LOCAL_C(15) + BOOST_PP_LOCAL_MACRO(15) +# endif +# if BOOST_PP_LOCAL_C(16) + BOOST_PP_LOCAL_MACRO(16) +# endif +# if BOOST_PP_LOCAL_C(17) + BOOST_PP_LOCAL_MACRO(17) +# endif +# if BOOST_PP_LOCAL_C(18) + BOOST_PP_LOCAL_MACRO(18) +# endif +# if BOOST_PP_LOCAL_C(19) + BOOST_PP_LOCAL_MACRO(19) +# endif +# if BOOST_PP_LOCAL_C(20) + BOOST_PP_LOCAL_MACRO(20) +# endif +# if BOOST_PP_LOCAL_C(21) + BOOST_PP_LOCAL_MACRO(21) +# endif +# if BOOST_PP_LOCAL_C(22) + BOOST_PP_LOCAL_MACRO(22) +# endif +# if BOOST_PP_LOCAL_C(23) + BOOST_PP_LOCAL_MACRO(23) +# endif +# if BOOST_PP_LOCAL_C(24) + BOOST_PP_LOCAL_MACRO(24) +# endif +# if BOOST_PP_LOCAL_C(25) + BOOST_PP_LOCAL_MACRO(25) +# endif +# if BOOST_PP_LOCAL_C(26) + BOOST_PP_LOCAL_MACRO(26) +# endif +# if BOOST_PP_LOCAL_C(27) + BOOST_PP_LOCAL_MACRO(27) +# endif +# if BOOST_PP_LOCAL_C(28) + BOOST_PP_LOCAL_MACRO(28) +# endif +# if BOOST_PP_LOCAL_C(29) + BOOST_PP_LOCAL_MACRO(29) +# endif +# if BOOST_PP_LOCAL_C(30) + BOOST_PP_LOCAL_MACRO(30) +# endif +# if BOOST_PP_LOCAL_C(31) + BOOST_PP_LOCAL_MACRO(31) +# endif +# if BOOST_PP_LOCAL_C(32) + BOOST_PP_LOCAL_MACRO(32) +# endif +# if BOOST_PP_LOCAL_C(33) + BOOST_PP_LOCAL_MACRO(33) +# endif +# if BOOST_PP_LOCAL_C(34) + BOOST_PP_LOCAL_MACRO(34) +# endif +# if BOOST_PP_LOCAL_C(35) + BOOST_PP_LOCAL_MACRO(35) +# endif +# if BOOST_PP_LOCAL_C(36) + BOOST_PP_LOCAL_MACRO(36) +# endif +# if BOOST_PP_LOCAL_C(37) + BOOST_PP_LOCAL_MACRO(37) +# endif +# if BOOST_PP_LOCAL_C(38) + BOOST_PP_LOCAL_MACRO(38) +# endif +# if BOOST_PP_LOCAL_C(39) + BOOST_PP_LOCAL_MACRO(39) +# endif +# if BOOST_PP_LOCAL_C(40) + BOOST_PP_LOCAL_MACRO(40) +# endif +# if BOOST_PP_LOCAL_C(41) + BOOST_PP_LOCAL_MACRO(41) +# endif +# if BOOST_PP_LOCAL_C(42) + BOOST_PP_LOCAL_MACRO(42) +# endif +# if BOOST_PP_LOCAL_C(43) + BOOST_PP_LOCAL_MACRO(43) +# endif +# if BOOST_PP_LOCAL_C(44) + BOOST_PP_LOCAL_MACRO(44) +# endif +# if BOOST_PP_LOCAL_C(45) + BOOST_PP_LOCAL_MACRO(45) +# endif +# if BOOST_PP_LOCAL_C(46) + BOOST_PP_LOCAL_MACRO(46) +# endif +# if BOOST_PP_LOCAL_C(47) + BOOST_PP_LOCAL_MACRO(47) +# endif +# if BOOST_PP_LOCAL_C(48) + BOOST_PP_LOCAL_MACRO(48) +# endif +# if BOOST_PP_LOCAL_C(49) + BOOST_PP_LOCAL_MACRO(49) +# endif +# if BOOST_PP_LOCAL_C(50) + BOOST_PP_LOCAL_MACRO(50) +# endif +# if BOOST_PP_LOCAL_C(51) + BOOST_PP_LOCAL_MACRO(51) +# endif +# if BOOST_PP_LOCAL_C(52) + BOOST_PP_LOCAL_MACRO(52) +# endif +# if BOOST_PP_LOCAL_C(53) + BOOST_PP_LOCAL_MACRO(53) +# endif +# if BOOST_PP_LOCAL_C(54) + BOOST_PP_LOCAL_MACRO(54) +# endif +# if BOOST_PP_LOCAL_C(55) + BOOST_PP_LOCAL_MACRO(55) +# endif +# if BOOST_PP_LOCAL_C(56) + BOOST_PP_LOCAL_MACRO(56) +# endif +# if BOOST_PP_LOCAL_C(57) + BOOST_PP_LOCAL_MACRO(57) +# endif +# if BOOST_PP_LOCAL_C(58) + BOOST_PP_LOCAL_MACRO(58) +# endif +# if BOOST_PP_LOCAL_C(59) + BOOST_PP_LOCAL_MACRO(59) +# endif +# if BOOST_PP_LOCAL_C(60) + BOOST_PP_LOCAL_MACRO(60) +# endif +# if BOOST_PP_LOCAL_C(61) + BOOST_PP_LOCAL_MACRO(61) +# endif +# if BOOST_PP_LOCAL_C(62) + BOOST_PP_LOCAL_MACRO(62) +# endif +# if BOOST_PP_LOCAL_C(63) + BOOST_PP_LOCAL_MACRO(63) +# endif +# if BOOST_PP_LOCAL_C(64) + BOOST_PP_LOCAL_MACRO(64) +# endif +# if BOOST_PP_LOCAL_C(65) + BOOST_PP_LOCAL_MACRO(65) +# endif +# if BOOST_PP_LOCAL_C(66) + BOOST_PP_LOCAL_MACRO(66) +# endif +# if BOOST_PP_LOCAL_C(67) + BOOST_PP_LOCAL_MACRO(67) +# endif +# if BOOST_PP_LOCAL_C(68) + BOOST_PP_LOCAL_MACRO(68) +# endif +# if BOOST_PP_LOCAL_C(69) + BOOST_PP_LOCAL_MACRO(69) +# endif +# if BOOST_PP_LOCAL_C(70) + BOOST_PP_LOCAL_MACRO(70) +# endif +# if BOOST_PP_LOCAL_C(71) + BOOST_PP_LOCAL_MACRO(71) +# endif +# if BOOST_PP_LOCAL_C(72) + BOOST_PP_LOCAL_MACRO(72) +# endif +# if BOOST_PP_LOCAL_C(73) + BOOST_PP_LOCAL_MACRO(73) +# endif +# if BOOST_PP_LOCAL_C(74) + BOOST_PP_LOCAL_MACRO(74) +# endif +# if BOOST_PP_LOCAL_C(75) + BOOST_PP_LOCAL_MACRO(75) +# endif +# if BOOST_PP_LOCAL_C(76) + BOOST_PP_LOCAL_MACRO(76) +# endif +# if BOOST_PP_LOCAL_C(77) + BOOST_PP_LOCAL_MACRO(77) +# endif +# if BOOST_PP_LOCAL_C(78) + BOOST_PP_LOCAL_MACRO(78) +# endif +# if BOOST_PP_LOCAL_C(79) + BOOST_PP_LOCAL_MACRO(79) +# endif +# if BOOST_PP_LOCAL_C(80) + BOOST_PP_LOCAL_MACRO(80) +# endif +# if BOOST_PP_LOCAL_C(81) + BOOST_PP_LOCAL_MACRO(81) +# endif +# if BOOST_PP_LOCAL_C(82) + BOOST_PP_LOCAL_MACRO(82) +# endif +# if BOOST_PP_LOCAL_C(83) + BOOST_PP_LOCAL_MACRO(83) +# endif +# if BOOST_PP_LOCAL_C(84) + BOOST_PP_LOCAL_MACRO(84) +# endif +# if BOOST_PP_LOCAL_C(85) + BOOST_PP_LOCAL_MACRO(85) +# endif +# if BOOST_PP_LOCAL_C(86) + BOOST_PP_LOCAL_MACRO(86) +# endif +# if BOOST_PP_LOCAL_C(87) + BOOST_PP_LOCAL_MACRO(87) +# endif +# if BOOST_PP_LOCAL_C(88) + BOOST_PP_LOCAL_MACRO(88) +# endif +# if BOOST_PP_LOCAL_C(89) + BOOST_PP_LOCAL_MACRO(89) +# endif +# if BOOST_PP_LOCAL_C(90) + BOOST_PP_LOCAL_MACRO(90) +# endif +# if BOOST_PP_LOCAL_C(91) + BOOST_PP_LOCAL_MACRO(91) +# endif +# if BOOST_PP_LOCAL_C(92) + BOOST_PP_LOCAL_MACRO(92) +# endif +# if BOOST_PP_LOCAL_C(93) + BOOST_PP_LOCAL_MACRO(93) +# endif +# if BOOST_PP_LOCAL_C(94) + BOOST_PP_LOCAL_MACRO(94) +# endif +# if BOOST_PP_LOCAL_C(95) + BOOST_PP_LOCAL_MACRO(95) +# endif +# if BOOST_PP_LOCAL_C(96) + BOOST_PP_LOCAL_MACRO(96) +# endif +# if BOOST_PP_LOCAL_C(97) + BOOST_PP_LOCAL_MACRO(97) +# endif +# if BOOST_PP_LOCAL_C(98) + BOOST_PP_LOCAL_MACRO(98) +# endif +# if BOOST_PP_LOCAL_C(99) + BOOST_PP_LOCAL_MACRO(99) +# endif +# if BOOST_PP_LOCAL_C(100) + BOOST_PP_LOCAL_MACRO(100) +# endif +# if BOOST_PP_LOCAL_C(101) + BOOST_PP_LOCAL_MACRO(101) +# endif +# if BOOST_PP_LOCAL_C(102) + BOOST_PP_LOCAL_MACRO(102) +# endif +# if BOOST_PP_LOCAL_C(103) + BOOST_PP_LOCAL_MACRO(103) +# endif +# if BOOST_PP_LOCAL_C(104) + BOOST_PP_LOCAL_MACRO(104) +# endif +# if BOOST_PP_LOCAL_C(105) + BOOST_PP_LOCAL_MACRO(105) +# endif +# if BOOST_PP_LOCAL_C(106) + BOOST_PP_LOCAL_MACRO(106) +# endif +# if BOOST_PP_LOCAL_C(107) + BOOST_PP_LOCAL_MACRO(107) +# endif +# if BOOST_PP_LOCAL_C(108) + BOOST_PP_LOCAL_MACRO(108) +# endif +# if BOOST_PP_LOCAL_C(109) + BOOST_PP_LOCAL_MACRO(109) +# endif +# if BOOST_PP_LOCAL_C(110) + BOOST_PP_LOCAL_MACRO(110) +# endif +# if BOOST_PP_LOCAL_C(111) + BOOST_PP_LOCAL_MACRO(111) +# endif +# if BOOST_PP_LOCAL_C(112) + BOOST_PP_LOCAL_MACRO(112) +# endif +# if BOOST_PP_LOCAL_C(113) + BOOST_PP_LOCAL_MACRO(113) +# endif +# if BOOST_PP_LOCAL_C(114) + BOOST_PP_LOCAL_MACRO(114) +# endif +# if BOOST_PP_LOCAL_C(115) + BOOST_PP_LOCAL_MACRO(115) +# endif +# if BOOST_PP_LOCAL_C(116) + BOOST_PP_LOCAL_MACRO(116) +# endif +# if BOOST_PP_LOCAL_C(117) + BOOST_PP_LOCAL_MACRO(117) +# endif +# if BOOST_PP_LOCAL_C(118) + BOOST_PP_LOCAL_MACRO(118) +# endif +# if BOOST_PP_LOCAL_C(119) + BOOST_PP_LOCAL_MACRO(119) +# endif +# if BOOST_PP_LOCAL_C(120) + BOOST_PP_LOCAL_MACRO(120) +# endif +# if BOOST_PP_LOCAL_C(121) + BOOST_PP_LOCAL_MACRO(121) +# endif +# if BOOST_PP_LOCAL_C(122) + BOOST_PP_LOCAL_MACRO(122) +# endif +# if BOOST_PP_LOCAL_C(123) + BOOST_PP_LOCAL_MACRO(123) +# endif +# if BOOST_PP_LOCAL_C(124) + BOOST_PP_LOCAL_MACRO(124) +# endif +# if BOOST_PP_LOCAL_C(125) + BOOST_PP_LOCAL_MACRO(125) +# endif +# if BOOST_PP_LOCAL_C(126) + BOOST_PP_LOCAL_MACRO(126) +# endif +# if BOOST_PP_LOCAL_C(127) + BOOST_PP_LOCAL_MACRO(127) +# endif +# if BOOST_PP_LOCAL_C(128) + BOOST_PP_LOCAL_MACRO(128) +# endif +# if BOOST_PP_LOCAL_C(129) + BOOST_PP_LOCAL_MACRO(129) +# endif +# if BOOST_PP_LOCAL_C(130) + BOOST_PP_LOCAL_MACRO(130) +# endif +# if BOOST_PP_LOCAL_C(131) + BOOST_PP_LOCAL_MACRO(131) +# endif +# if BOOST_PP_LOCAL_C(132) + BOOST_PP_LOCAL_MACRO(132) +# endif +# if BOOST_PP_LOCAL_C(133) + BOOST_PP_LOCAL_MACRO(133) +# endif +# if BOOST_PP_LOCAL_C(134) + BOOST_PP_LOCAL_MACRO(134) +# endif +# if BOOST_PP_LOCAL_C(135) + BOOST_PP_LOCAL_MACRO(135) +# endif +# if BOOST_PP_LOCAL_C(136) + BOOST_PP_LOCAL_MACRO(136) +# endif +# if BOOST_PP_LOCAL_C(137) + BOOST_PP_LOCAL_MACRO(137) +# endif +# if BOOST_PP_LOCAL_C(138) + BOOST_PP_LOCAL_MACRO(138) +# endif +# if BOOST_PP_LOCAL_C(139) + BOOST_PP_LOCAL_MACRO(139) +# endif +# if BOOST_PP_LOCAL_C(140) + BOOST_PP_LOCAL_MACRO(140) +# endif +# if BOOST_PP_LOCAL_C(141) + BOOST_PP_LOCAL_MACRO(141) +# endif +# if BOOST_PP_LOCAL_C(142) + BOOST_PP_LOCAL_MACRO(142) +# endif +# if BOOST_PP_LOCAL_C(143) + BOOST_PP_LOCAL_MACRO(143) +# endif +# if BOOST_PP_LOCAL_C(144) + BOOST_PP_LOCAL_MACRO(144) +# endif +# if BOOST_PP_LOCAL_C(145) + BOOST_PP_LOCAL_MACRO(145) +# endif +# if BOOST_PP_LOCAL_C(146) + BOOST_PP_LOCAL_MACRO(146) +# endif +# if BOOST_PP_LOCAL_C(147) + BOOST_PP_LOCAL_MACRO(147) +# endif +# if BOOST_PP_LOCAL_C(148) + BOOST_PP_LOCAL_MACRO(148) +# endif +# if BOOST_PP_LOCAL_C(149) + BOOST_PP_LOCAL_MACRO(149) +# endif +# if BOOST_PP_LOCAL_C(150) + BOOST_PP_LOCAL_MACRO(150) +# endif +# if BOOST_PP_LOCAL_C(151) + BOOST_PP_LOCAL_MACRO(151) +# endif +# if BOOST_PP_LOCAL_C(152) + BOOST_PP_LOCAL_MACRO(152) +# endif +# if BOOST_PP_LOCAL_C(153) + BOOST_PP_LOCAL_MACRO(153) +# endif +# if BOOST_PP_LOCAL_C(154) + BOOST_PP_LOCAL_MACRO(154) +# endif +# if BOOST_PP_LOCAL_C(155) + BOOST_PP_LOCAL_MACRO(155) +# endif +# if BOOST_PP_LOCAL_C(156) + BOOST_PP_LOCAL_MACRO(156) +# endif +# if BOOST_PP_LOCAL_C(157) + BOOST_PP_LOCAL_MACRO(157) +# endif +# if BOOST_PP_LOCAL_C(158) + BOOST_PP_LOCAL_MACRO(158) +# endif +# if BOOST_PP_LOCAL_C(159) + BOOST_PP_LOCAL_MACRO(159) +# endif +# if BOOST_PP_LOCAL_C(160) + BOOST_PP_LOCAL_MACRO(160) +# endif +# if BOOST_PP_LOCAL_C(161) + BOOST_PP_LOCAL_MACRO(161) +# endif +# if BOOST_PP_LOCAL_C(162) + BOOST_PP_LOCAL_MACRO(162) +# endif +# if BOOST_PP_LOCAL_C(163) + BOOST_PP_LOCAL_MACRO(163) +# endif +# if BOOST_PP_LOCAL_C(164) + BOOST_PP_LOCAL_MACRO(164) +# endif +# if BOOST_PP_LOCAL_C(165) + BOOST_PP_LOCAL_MACRO(165) +# endif +# if BOOST_PP_LOCAL_C(166) + BOOST_PP_LOCAL_MACRO(166) +# endif +# if BOOST_PP_LOCAL_C(167) + BOOST_PP_LOCAL_MACRO(167) +# endif +# if BOOST_PP_LOCAL_C(168) + BOOST_PP_LOCAL_MACRO(168) +# endif +# if BOOST_PP_LOCAL_C(169) + BOOST_PP_LOCAL_MACRO(169) +# endif +# if BOOST_PP_LOCAL_C(170) + BOOST_PP_LOCAL_MACRO(170) +# endif +# if BOOST_PP_LOCAL_C(171) + BOOST_PP_LOCAL_MACRO(171) +# endif +# if BOOST_PP_LOCAL_C(172) + BOOST_PP_LOCAL_MACRO(172) +# endif +# if BOOST_PP_LOCAL_C(173) + BOOST_PP_LOCAL_MACRO(173) +# endif +# if BOOST_PP_LOCAL_C(174) + BOOST_PP_LOCAL_MACRO(174) +# endif +# if BOOST_PP_LOCAL_C(175) + BOOST_PP_LOCAL_MACRO(175) +# endif +# if BOOST_PP_LOCAL_C(176) + BOOST_PP_LOCAL_MACRO(176) +# endif +# if BOOST_PP_LOCAL_C(177) + BOOST_PP_LOCAL_MACRO(177) +# endif +# if BOOST_PP_LOCAL_C(178) + BOOST_PP_LOCAL_MACRO(178) +# endif +# if BOOST_PP_LOCAL_C(179) + BOOST_PP_LOCAL_MACRO(179) +# endif +# if BOOST_PP_LOCAL_C(180) + BOOST_PP_LOCAL_MACRO(180) +# endif +# if BOOST_PP_LOCAL_C(181) + BOOST_PP_LOCAL_MACRO(181) +# endif +# if BOOST_PP_LOCAL_C(182) + BOOST_PP_LOCAL_MACRO(182) +# endif +# if BOOST_PP_LOCAL_C(183) + BOOST_PP_LOCAL_MACRO(183) +# endif +# if BOOST_PP_LOCAL_C(184) + BOOST_PP_LOCAL_MACRO(184) +# endif +# if BOOST_PP_LOCAL_C(185) + BOOST_PP_LOCAL_MACRO(185) +# endif +# if BOOST_PP_LOCAL_C(186) + BOOST_PP_LOCAL_MACRO(186) +# endif +# if BOOST_PP_LOCAL_C(187) + BOOST_PP_LOCAL_MACRO(187) +# endif +# if BOOST_PP_LOCAL_C(188) + BOOST_PP_LOCAL_MACRO(188) +# endif +# if BOOST_PP_LOCAL_C(189) + BOOST_PP_LOCAL_MACRO(189) +# endif +# if BOOST_PP_LOCAL_C(190) + BOOST_PP_LOCAL_MACRO(190) +# endif +# if BOOST_PP_LOCAL_C(191) + BOOST_PP_LOCAL_MACRO(191) +# endif +# if BOOST_PP_LOCAL_C(192) + BOOST_PP_LOCAL_MACRO(192) +# endif +# if BOOST_PP_LOCAL_C(193) + BOOST_PP_LOCAL_MACRO(193) +# endif +# if BOOST_PP_LOCAL_C(194) + BOOST_PP_LOCAL_MACRO(194) +# endif +# if BOOST_PP_LOCAL_C(195) + BOOST_PP_LOCAL_MACRO(195) +# endif +# if BOOST_PP_LOCAL_C(196) + BOOST_PP_LOCAL_MACRO(196) +# endif +# if BOOST_PP_LOCAL_C(197) + BOOST_PP_LOCAL_MACRO(197) +# endif +# if BOOST_PP_LOCAL_C(198) + BOOST_PP_LOCAL_MACRO(198) +# endif +# if BOOST_PP_LOCAL_C(199) + BOOST_PP_LOCAL_MACRO(199) +# endif +# if BOOST_PP_LOCAL_C(200) + BOOST_PP_LOCAL_MACRO(200) +# endif +# if BOOST_PP_LOCAL_C(201) + BOOST_PP_LOCAL_MACRO(201) +# endif +# if BOOST_PP_LOCAL_C(202) + BOOST_PP_LOCAL_MACRO(202) +# endif +# if BOOST_PP_LOCAL_C(203) + BOOST_PP_LOCAL_MACRO(203) +# endif +# if BOOST_PP_LOCAL_C(204) + BOOST_PP_LOCAL_MACRO(204) +# endif +# if BOOST_PP_LOCAL_C(205) + BOOST_PP_LOCAL_MACRO(205) +# endif +# if BOOST_PP_LOCAL_C(206) + BOOST_PP_LOCAL_MACRO(206) +# endif +# if BOOST_PP_LOCAL_C(207) + BOOST_PP_LOCAL_MACRO(207) +# endif +# if BOOST_PP_LOCAL_C(208) + BOOST_PP_LOCAL_MACRO(208) +# endif +# if BOOST_PP_LOCAL_C(209) + BOOST_PP_LOCAL_MACRO(209) +# endif +# if BOOST_PP_LOCAL_C(210) + BOOST_PP_LOCAL_MACRO(210) +# endif +# if BOOST_PP_LOCAL_C(211) + BOOST_PP_LOCAL_MACRO(211) +# endif +# if BOOST_PP_LOCAL_C(212) + BOOST_PP_LOCAL_MACRO(212) +# endif +# if BOOST_PP_LOCAL_C(213) + BOOST_PP_LOCAL_MACRO(213) +# endif +# if BOOST_PP_LOCAL_C(214) + BOOST_PP_LOCAL_MACRO(214) +# endif +# if BOOST_PP_LOCAL_C(215) + BOOST_PP_LOCAL_MACRO(215) +# endif +# if BOOST_PP_LOCAL_C(216) + BOOST_PP_LOCAL_MACRO(216) +# endif +# if BOOST_PP_LOCAL_C(217) + BOOST_PP_LOCAL_MACRO(217) +# endif +# if BOOST_PP_LOCAL_C(218) + BOOST_PP_LOCAL_MACRO(218) +# endif +# if BOOST_PP_LOCAL_C(219) + BOOST_PP_LOCAL_MACRO(219) +# endif +# if BOOST_PP_LOCAL_C(220) + BOOST_PP_LOCAL_MACRO(220) +# endif +# if BOOST_PP_LOCAL_C(221) + BOOST_PP_LOCAL_MACRO(221) +# endif +# if BOOST_PP_LOCAL_C(222) + BOOST_PP_LOCAL_MACRO(222) +# endif +# if BOOST_PP_LOCAL_C(223) + BOOST_PP_LOCAL_MACRO(223) +# endif +# if BOOST_PP_LOCAL_C(224) + BOOST_PP_LOCAL_MACRO(224) +# endif +# if BOOST_PP_LOCAL_C(225) + BOOST_PP_LOCAL_MACRO(225) +# endif +# if BOOST_PP_LOCAL_C(226) + BOOST_PP_LOCAL_MACRO(226) +# endif +# if BOOST_PP_LOCAL_C(227) + BOOST_PP_LOCAL_MACRO(227) +# endif +# if BOOST_PP_LOCAL_C(228) + BOOST_PP_LOCAL_MACRO(228) +# endif +# if BOOST_PP_LOCAL_C(229) + BOOST_PP_LOCAL_MACRO(229) +# endif +# if BOOST_PP_LOCAL_C(230) + BOOST_PP_LOCAL_MACRO(230) +# endif +# if BOOST_PP_LOCAL_C(231) + BOOST_PP_LOCAL_MACRO(231) +# endif +# if BOOST_PP_LOCAL_C(232) + BOOST_PP_LOCAL_MACRO(232) +# endif +# if BOOST_PP_LOCAL_C(233) + BOOST_PP_LOCAL_MACRO(233) +# endif +# if BOOST_PP_LOCAL_C(234) + BOOST_PP_LOCAL_MACRO(234) +# endif +# if BOOST_PP_LOCAL_C(235) + BOOST_PP_LOCAL_MACRO(235) +# endif +# if BOOST_PP_LOCAL_C(236) + BOOST_PP_LOCAL_MACRO(236) +# endif + +# if BOOST_PP_LOCAL_C(237) + BOOST_PP_LOCAL_MACRO(237) +# endif +# if BOOST_PP_LOCAL_C(238) + BOOST_PP_LOCAL_MACRO(238) +# endif +# if BOOST_PP_LOCAL_C(239) + BOOST_PP_LOCAL_MACRO(239) +# endif +# if BOOST_PP_LOCAL_C(240) + BOOST_PP_LOCAL_MACRO(240) +# endif +# if BOOST_PP_LOCAL_C(241) + BOOST_PP_LOCAL_MACRO(241) +# endif +# if BOOST_PP_LOCAL_C(242) + BOOST_PP_LOCAL_MACRO(242) +# endif +# if BOOST_PP_LOCAL_C(243) + BOOST_PP_LOCAL_MACRO(243) +# endif +# if BOOST_PP_LOCAL_C(244) + BOOST_PP_LOCAL_MACRO(244) +# endif +# if BOOST_PP_LOCAL_C(245) + BOOST_PP_LOCAL_MACRO(245) +# endif +# if BOOST_PP_LOCAL_C(246) + BOOST_PP_LOCAL_MACRO(246) +# endif +# if BOOST_PP_LOCAL_C(247) + BOOST_PP_LOCAL_MACRO(247) +# endif +# if BOOST_PP_LOCAL_C(248) + BOOST_PP_LOCAL_MACRO(248) +# endif +# if BOOST_PP_LOCAL_C(249) + BOOST_PP_LOCAL_MACRO(249) +# endif +# if BOOST_PP_LOCAL_C(250) + BOOST_PP_LOCAL_MACRO(250) +# endif +# if BOOST_PP_LOCAL_C(251) + BOOST_PP_LOCAL_MACRO(251) +# endif +# if BOOST_PP_LOCAL_C(252) + BOOST_PP_LOCAL_MACRO(252) +# endif +# if BOOST_PP_LOCAL_C(253) + BOOST_PP_LOCAL_MACRO(253) +# endif +# if BOOST_PP_LOCAL_C(254) + BOOST_PP_LOCAL_MACRO(254) +# endif +# if BOOST_PP_LOCAL_C(255) + BOOST_PP_LOCAL_MACRO(255) +# endif +# if BOOST_PP_LOCAL_C(256) + BOOST_PP_LOCAL_MACRO(256) +# endif +# endif +# +# undef BOOST_PP_LOCAL_LIMITS +# +# undef BOOST_PP_LOCAL_S +# undef BOOST_PP_LOCAL_F +# +# undef BOOST_PP_LOCAL_MACRO diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/rlocal.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/rlocal.hpp new file mode 100644 index 0000000..3b3fcae --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/rlocal.hpp @@ -0,0 +1,782 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if BOOST_PP_LOCAL_R(256) + BOOST_PP_LOCAL_MACRO(256) +# endif +# if BOOST_PP_LOCAL_R(255) + BOOST_PP_LOCAL_MACRO(255) +# endif +# if BOOST_PP_LOCAL_R(254) + BOOST_PP_LOCAL_MACRO(254) +# endif +# if BOOST_PP_LOCAL_R(253) + BOOST_PP_LOCAL_MACRO(253) +# endif +# if BOOST_PP_LOCAL_R(252) + BOOST_PP_LOCAL_MACRO(252) +# endif +# if BOOST_PP_LOCAL_R(251) + BOOST_PP_LOCAL_MACRO(251) +# endif +# if BOOST_PP_LOCAL_R(250) + BOOST_PP_LOCAL_MACRO(250) +# endif +# if BOOST_PP_LOCAL_R(249) + BOOST_PP_LOCAL_MACRO(249) +# endif +# if BOOST_PP_LOCAL_R(248) + BOOST_PP_LOCAL_MACRO(248) +# endif +# if BOOST_PP_LOCAL_R(247) + BOOST_PP_LOCAL_MACRO(247) +# endif +# if BOOST_PP_LOCAL_R(246) + BOOST_PP_LOCAL_MACRO(246) +# endif +# if BOOST_PP_LOCAL_R(245) + BOOST_PP_LOCAL_MACRO(245) +# endif +# if BOOST_PP_LOCAL_R(244) + BOOST_PP_LOCAL_MACRO(244) +# endif +# if BOOST_PP_LOCAL_R(243) + BOOST_PP_LOCAL_MACRO(243) +# endif +# if BOOST_PP_LOCAL_R(242) + BOOST_PP_LOCAL_MACRO(242) +# endif +# if BOOST_PP_LOCAL_R(241) + BOOST_PP_LOCAL_MACRO(241) +# endif +# if BOOST_PP_LOCAL_R(240) + BOOST_PP_LOCAL_MACRO(240) +# endif +# if BOOST_PP_LOCAL_R(239) + BOOST_PP_LOCAL_MACRO(239) +# endif +# if BOOST_PP_LOCAL_R(238) + BOOST_PP_LOCAL_MACRO(238) +# endif +# if BOOST_PP_LOCAL_R(237) + BOOST_PP_LOCAL_MACRO(237) +# endif +# if BOOST_PP_LOCAL_R(236) + BOOST_PP_LOCAL_MACRO(236) +# endif +# if BOOST_PP_LOCAL_R(235) + BOOST_PP_LOCAL_MACRO(235) +# endif +# if BOOST_PP_LOCAL_R(234) + BOOST_PP_LOCAL_MACRO(234) +# endif +# if BOOST_PP_LOCAL_R(233) + BOOST_PP_LOCAL_MACRO(233) +# endif +# if BOOST_PP_LOCAL_R(232) + BOOST_PP_LOCAL_MACRO(232) +# endif +# if BOOST_PP_LOCAL_R(231) + BOOST_PP_LOCAL_MACRO(231) +# endif +# if BOOST_PP_LOCAL_R(230) + BOOST_PP_LOCAL_MACRO(230) +# endif +# if BOOST_PP_LOCAL_R(229) + BOOST_PP_LOCAL_MACRO(229) +# endif +# if BOOST_PP_LOCAL_R(228) + BOOST_PP_LOCAL_MACRO(228) +# endif +# if BOOST_PP_LOCAL_R(227) + BOOST_PP_LOCAL_MACRO(227) +# endif +# if BOOST_PP_LOCAL_R(226) + BOOST_PP_LOCAL_MACRO(226) +# endif +# if BOOST_PP_LOCAL_R(225) + BOOST_PP_LOCAL_MACRO(225) +# endif +# if BOOST_PP_LOCAL_R(224) + BOOST_PP_LOCAL_MACRO(224) +# endif +# if BOOST_PP_LOCAL_R(223) + BOOST_PP_LOCAL_MACRO(223) +# endif +# if BOOST_PP_LOCAL_R(222) + BOOST_PP_LOCAL_MACRO(222) +# endif +# if BOOST_PP_LOCAL_R(221) + BOOST_PP_LOCAL_MACRO(221) +# endif +# if BOOST_PP_LOCAL_R(220) + BOOST_PP_LOCAL_MACRO(220) +# endif +# if BOOST_PP_LOCAL_R(219) + BOOST_PP_LOCAL_MACRO(219) +# endif +# if BOOST_PP_LOCAL_R(218) + BOOST_PP_LOCAL_MACRO(218) +# endif +# if BOOST_PP_LOCAL_R(217) + BOOST_PP_LOCAL_MACRO(217) +# endif +# if BOOST_PP_LOCAL_R(216) + BOOST_PP_LOCAL_MACRO(216) +# endif +# if BOOST_PP_LOCAL_R(215) + BOOST_PP_LOCAL_MACRO(215) +# endif +# if BOOST_PP_LOCAL_R(214) + BOOST_PP_LOCAL_MACRO(214) +# endif +# if BOOST_PP_LOCAL_R(213) + BOOST_PP_LOCAL_MACRO(213) +# endif +# if BOOST_PP_LOCAL_R(212) + BOOST_PP_LOCAL_MACRO(212) +# endif +# if BOOST_PP_LOCAL_R(211) + BOOST_PP_LOCAL_MACRO(211) +# endif +# if BOOST_PP_LOCAL_R(210) + BOOST_PP_LOCAL_MACRO(210) +# endif +# if BOOST_PP_LOCAL_R(209) + BOOST_PP_LOCAL_MACRO(209) +# endif +# if BOOST_PP_LOCAL_R(208) + BOOST_PP_LOCAL_MACRO(208) +# endif +# if BOOST_PP_LOCAL_R(207) + BOOST_PP_LOCAL_MACRO(207) +# endif +# if BOOST_PP_LOCAL_R(206) + BOOST_PP_LOCAL_MACRO(206) +# endif +# if BOOST_PP_LOCAL_R(205) + BOOST_PP_LOCAL_MACRO(205) +# endif +# if BOOST_PP_LOCAL_R(204) + BOOST_PP_LOCAL_MACRO(204) +# endif +# if BOOST_PP_LOCAL_R(203) + BOOST_PP_LOCAL_MACRO(203) +# endif +# if BOOST_PP_LOCAL_R(202) + BOOST_PP_LOCAL_MACRO(202) +# endif +# if BOOST_PP_LOCAL_R(201) + BOOST_PP_LOCAL_MACRO(201) +# endif +# if BOOST_PP_LOCAL_R(200) + BOOST_PP_LOCAL_MACRO(200) +# endif +# if BOOST_PP_LOCAL_R(199) + BOOST_PP_LOCAL_MACRO(199) +# endif +# if BOOST_PP_LOCAL_R(198) + BOOST_PP_LOCAL_MACRO(198) +# endif +# if BOOST_PP_LOCAL_R(197) + BOOST_PP_LOCAL_MACRO(197) +# endif +# if BOOST_PP_LOCAL_R(196) + BOOST_PP_LOCAL_MACRO(196) +# endif +# if BOOST_PP_LOCAL_R(195) + BOOST_PP_LOCAL_MACRO(195) +# endif +# if BOOST_PP_LOCAL_R(194) + BOOST_PP_LOCAL_MACRO(194) +# endif +# if BOOST_PP_LOCAL_R(193) + BOOST_PP_LOCAL_MACRO(193) +# endif +# if BOOST_PP_LOCAL_R(192) + BOOST_PP_LOCAL_MACRO(192) +# endif +# if BOOST_PP_LOCAL_R(191) + BOOST_PP_LOCAL_MACRO(191) +# endif +# if BOOST_PP_LOCAL_R(190) + BOOST_PP_LOCAL_MACRO(190) +# endif +# if BOOST_PP_LOCAL_R(189) + BOOST_PP_LOCAL_MACRO(189) +# endif +# if BOOST_PP_LOCAL_R(188) + BOOST_PP_LOCAL_MACRO(188) +# endif +# if BOOST_PP_LOCAL_R(187) + BOOST_PP_LOCAL_MACRO(187) +# endif +# if BOOST_PP_LOCAL_R(186) + BOOST_PP_LOCAL_MACRO(186) +# endif +# if BOOST_PP_LOCAL_R(185) + BOOST_PP_LOCAL_MACRO(185) +# endif +# if BOOST_PP_LOCAL_R(184) + BOOST_PP_LOCAL_MACRO(184) +# endif +# if BOOST_PP_LOCAL_R(183) + BOOST_PP_LOCAL_MACRO(183) +# endif +# if BOOST_PP_LOCAL_R(182) + BOOST_PP_LOCAL_MACRO(182) +# endif +# if BOOST_PP_LOCAL_R(181) + BOOST_PP_LOCAL_MACRO(181) +# endif +# if BOOST_PP_LOCAL_R(180) + BOOST_PP_LOCAL_MACRO(180) +# endif +# if BOOST_PP_LOCAL_R(179) + BOOST_PP_LOCAL_MACRO(179) +# endif +# if BOOST_PP_LOCAL_R(178) + BOOST_PP_LOCAL_MACRO(178) +# endif +# if BOOST_PP_LOCAL_R(177) + BOOST_PP_LOCAL_MACRO(177) +# endif +# if BOOST_PP_LOCAL_R(176) + BOOST_PP_LOCAL_MACRO(176) +# endif +# if BOOST_PP_LOCAL_R(175) + BOOST_PP_LOCAL_MACRO(175) +# endif +# if BOOST_PP_LOCAL_R(174) + BOOST_PP_LOCAL_MACRO(174) +# endif +# if BOOST_PP_LOCAL_R(173) + BOOST_PP_LOCAL_MACRO(173) +# endif +# if BOOST_PP_LOCAL_R(172) + BOOST_PP_LOCAL_MACRO(172) +# endif +# if BOOST_PP_LOCAL_R(171) + BOOST_PP_LOCAL_MACRO(171) +# endif +# if BOOST_PP_LOCAL_R(170) + BOOST_PP_LOCAL_MACRO(170) +# endif +# if BOOST_PP_LOCAL_R(169) + BOOST_PP_LOCAL_MACRO(169) +# endif +# if BOOST_PP_LOCAL_R(168) + BOOST_PP_LOCAL_MACRO(168) +# endif +# if BOOST_PP_LOCAL_R(167) + BOOST_PP_LOCAL_MACRO(167) +# endif +# if BOOST_PP_LOCAL_R(166) + BOOST_PP_LOCAL_MACRO(166) +# endif +# if BOOST_PP_LOCAL_R(165) + BOOST_PP_LOCAL_MACRO(165) +# endif +# if BOOST_PP_LOCAL_R(164) + BOOST_PP_LOCAL_MACRO(164) +# endif +# if BOOST_PP_LOCAL_R(163) + BOOST_PP_LOCAL_MACRO(163) +# endif +# if BOOST_PP_LOCAL_R(162) + BOOST_PP_LOCAL_MACRO(162) +# endif +# if BOOST_PP_LOCAL_R(161) + BOOST_PP_LOCAL_MACRO(161) +# endif +# if BOOST_PP_LOCAL_R(160) + BOOST_PP_LOCAL_MACRO(160) +# endif +# if BOOST_PP_LOCAL_R(159) + BOOST_PP_LOCAL_MACRO(159) +# endif +# if BOOST_PP_LOCAL_R(158) + BOOST_PP_LOCAL_MACRO(158) +# endif +# if BOOST_PP_LOCAL_R(157) + BOOST_PP_LOCAL_MACRO(157) +# endif +# if BOOST_PP_LOCAL_R(156) + BOOST_PP_LOCAL_MACRO(156) +# endif +# if BOOST_PP_LOCAL_R(155) + BOOST_PP_LOCAL_MACRO(155) +# endif +# if BOOST_PP_LOCAL_R(154) + BOOST_PP_LOCAL_MACRO(154) +# endif +# if BOOST_PP_LOCAL_R(153) + BOOST_PP_LOCAL_MACRO(153) +# endif +# if BOOST_PP_LOCAL_R(152) + BOOST_PP_LOCAL_MACRO(152) +# endif +# if BOOST_PP_LOCAL_R(151) + BOOST_PP_LOCAL_MACRO(151) +# endif +# if BOOST_PP_LOCAL_R(150) + BOOST_PP_LOCAL_MACRO(150) +# endif +# if BOOST_PP_LOCAL_R(149) + BOOST_PP_LOCAL_MACRO(149) +# endif +# if BOOST_PP_LOCAL_R(148) + BOOST_PP_LOCAL_MACRO(148) +# endif +# if BOOST_PP_LOCAL_R(147) + BOOST_PP_LOCAL_MACRO(147) +# endif +# if BOOST_PP_LOCAL_R(146) + BOOST_PP_LOCAL_MACRO(146) +# endif +# if BOOST_PP_LOCAL_R(145) + BOOST_PP_LOCAL_MACRO(145) +# endif +# if BOOST_PP_LOCAL_R(144) + BOOST_PP_LOCAL_MACRO(144) +# endif +# if BOOST_PP_LOCAL_R(143) + BOOST_PP_LOCAL_MACRO(143) +# endif +# if BOOST_PP_LOCAL_R(142) + BOOST_PP_LOCAL_MACRO(142) +# endif +# if BOOST_PP_LOCAL_R(141) + BOOST_PP_LOCAL_MACRO(141) +# endif +# if BOOST_PP_LOCAL_R(140) + BOOST_PP_LOCAL_MACRO(140) +# endif +# if BOOST_PP_LOCAL_R(139) + BOOST_PP_LOCAL_MACRO(139) +# endif +# if BOOST_PP_LOCAL_R(138) + BOOST_PP_LOCAL_MACRO(138) +# endif +# if BOOST_PP_LOCAL_R(137) + BOOST_PP_LOCAL_MACRO(137) +# endif +# if BOOST_PP_LOCAL_R(136) + BOOST_PP_LOCAL_MACRO(136) +# endif +# if BOOST_PP_LOCAL_R(135) + BOOST_PP_LOCAL_MACRO(135) +# endif +# if BOOST_PP_LOCAL_R(134) + BOOST_PP_LOCAL_MACRO(134) +# endif +# if BOOST_PP_LOCAL_R(133) + BOOST_PP_LOCAL_MACRO(133) +# endif +# if BOOST_PP_LOCAL_R(132) + BOOST_PP_LOCAL_MACRO(132) +# endif +# if BOOST_PP_LOCAL_R(131) + BOOST_PP_LOCAL_MACRO(131) +# endif +# if BOOST_PP_LOCAL_R(130) + BOOST_PP_LOCAL_MACRO(130) +# endif +# if BOOST_PP_LOCAL_R(129) + BOOST_PP_LOCAL_MACRO(129) +# endif +# if BOOST_PP_LOCAL_R(128) + BOOST_PP_LOCAL_MACRO(128) +# endif +# if BOOST_PP_LOCAL_R(127) + BOOST_PP_LOCAL_MACRO(127) +# endif +# if BOOST_PP_LOCAL_R(126) + BOOST_PP_LOCAL_MACRO(126) +# endif +# if BOOST_PP_LOCAL_R(125) + BOOST_PP_LOCAL_MACRO(125) +# endif +# if BOOST_PP_LOCAL_R(124) + BOOST_PP_LOCAL_MACRO(124) +# endif +# if BOOST_PP_LOCAL_R(123) + BOOST_PP_LOCAL_MACRO(123) +# endif +# if BOOST_PP_LOCAL_R(122) + BOOST_PP_LOCAL_MACRO(122) +# endif +# if BOOST_PP_LOCAL_R(121) + BOOST_PP_LOCAL_MACRO(121) +# endif +# if BOOST_PP_LOCAL_R(120) + BOOST_PP_LOCAL_MACRO(120) +# endif +# if BOOST_PP_LOCAL_R(119) + BOOST_PP_LOCAL_MACRO(119) +# endif +# if BOOST_PP_LOCAL_R(118) + BOOST_PP_LOCAL_MACRO(118) +# endif +# if BOOST_PP_LOCAL_R(117) + BOOST_PP_LOCAL_MACRO(117) +# endif +# if BOOST_PP_LOCAL_R(116) + BOOST_PP_LOCAL_MACRO(116) +# endif +# if BOOST_PP_LOCAL_R(115) + BOOST_PP_LOCAL_MACRO(115) +# endif +# if BOOST_PP_LOCAL_R(114) + BOOST_PP_LOCAL_MACRO(114) +# endif +# if BOOST_PP_LOCAL_R(113) + BOOST_PP_LOCAL_MACRO(113) +# endif +# if BOOST_PP_LOCAL_R(112) + BOOST_PP_LOCAL_MACRO(112) +# endif +# if BOOST_PP_LOCAL_R(111) + BOOST_PP_LOCAL_MACRO(111) +# endif +# if BOOST_PP_LOCAL_R(110) + BOOST_PP_LOCAL_MACRO(110) +# endif +# if BOOST_PP_LOCAL_R(109) + BOOST_PP_LOCAL_MACRO(109) +# endif +# if BOOST_PP_LOCAL_R(108) + BOOST_PP_LOCAL_MACRO(108) +# endif +# if BOOST_PP_LOCAL_R(107) + BOOST_PP_LOCAL_MACRO(107) +# endif +# if BOOST_PP_LOCAL_R(106) + BOOST_PP_LOCAL_MACRO(106) +# endif +# if BOOST_PP_LOCAL_R(105) + BOOST_PP_LOCAL_MACRO(105) +# endif +# if BOOST_PP_LOCAL_R(104) + BOOST_PP_LOCAL_MACRO(104) +# endif +# if BOOST_PP_LOCAL_R(103) + BOOST_PP_LOCAL_MACRO(103) +# endif +# if BOOST_PP_LOCAL_R(102) + BOOST_PP_LOCAL_MACRO(102) +# endif +# if BOOST_PP_LOCAL_R(101) + BOOST_PP_LOCAL_MACRO(101) +# endif +# if BOOST_PP_LOCAL_R(100) + BOOST_PP_LOCAL_MACRO(100) +# endif +# if BOOST_PP_LOCAL_R(99) + BOOST_PP_LOCAL_MACRO(99) +# endif +# if BOOST_PP_LOCAL_R(98) + BOOST_PP_LOCAL_MACRO(98) +# endif +# if BOOST_PP_LOCAL_R(97) + BOOST_PP_LOCAL_MACRO(97) +# endif +# if BOOST_PP_LOCAL_R(96) + BOOST_PP_LOCAL_MACRO(96) +# endif +# if BOOST_PP_LOCAL_R(95) + BOOST_PP_LOCAL_MACRO(95) +# endif +# if BOOST_PP_LOCAL_R(94) + BOOST_PP_LOCAL_MACRO(94) +# endif +# if BOOST_PP_LOCAL_R(93) + BOOST_PP_LOCAL_MACRO(93) +# endif +# if BOOST_PP_LOCAL_R(92) + BOOST_PP_LOCAL_MACRO(92) +# endif +# if BOOST_PP_LOCAL_R(91) + BOOST_PP_LOCAL_MACRO(91) +# endif +# if BOOST_PP_LOCAL_R(90) + BOOST_PP_LOCAL_MACRO(90) +# endif +# if BOOST_PP_LOCAL_R(89) + BOOST_PP_LOCAL_MACRO(89) +# endif +# if BOOST_PP_LOCAL_R(88) + BOOST_PP_LOCAL_MACRO(88) +# endif +# if BOOST_PP_LOCAL_R(87) + BOOST_PP_LOCAL_MACRO(87) +# endif +# if BOOST_PP_LOCAL_R(86) + BOOST_PP_LOCAL_MACRO(86) +# endif +# if BOOST_PP_LOCAL_R(85) + BOOST_PP_LOCAL_MACRO(85) +# endif +# if BOOST_PP_LOCAL_R(84) + BOOST_PP_LOCAL_MACRO(84) +# endif +# if BOOST_PP_LOCAL_R(83) + BOOST_PP_LOCAL_MACRO(83) +# endif +# if BOOST_PP_LOCAL_R(82) + BOOST_PP_LOCAL_MACRO(82) +# endif +# if BOOST_PP_LOCAL_R(81) + BOOST_PP_LOCAL_MACRO(81) +# endif +# if BOOST_PP_LOCAL_R(80) + BOOST_PP_LOCAL_MACRO(80) +# endif +# if BOOST_PP_LOCAL_R(79) + BOOST_PP_LOCAL_MACRO(79) +# endif +# if BOOST_PP_LOCAL_R(78) + BOOST_PP_LOCAL_MACRO(78) +# endif +# if BOOST_PP_LOCAL_R(77) + BOOST_PP_LOCAL_MACRO(77) +# endif +# if BOOST_PP_LOCAL_R(76) + BOOST_PP_LOCAL_MACRO(76) +# endif +# if BOOST_PP_LOCAL_R(75) + BOOST_PP_LOCAL_MACRO(75) +# endif +# if BOOST_PP_LOCAL_R(74) + BOOST_PP_LOCAL_MACRO(74) +# endif +# if BOOST_PP_LOCAL_R(73) + BOOST_PP_LOCAL_MACRO(73) +# endif +# if BOOST_PP_LOCAL_R(72) + BOOST_PP_LOCAL_MACRO(72) +# endif +# if BOOST_PP_LOCAL_R(71) + BOOST_PP_LOCAL_MACRO(71) +# endif +# if BOOST_PP_LOCAL_R(70) + BOOST_PP_LOCAL_MACRO(70) +# endif +# if BOOST_PP_LOCAL_R(69) + BOOST_PP_LOCAL_MACRO(69) +# endif +# if BOOST_PP_LOCAL_R(68) + BOOST_PP_LOCAL_MACRO(68) +# endif +# if BOOST_PP_LOCAL_R(67) + BOOST_PP_LOCAL_MACRO(67) +# endif +# if BOOST_PP_LOCAL_R(66) + BOOST_PP_LOCAL_MACRO(66) +# endif +# if BOOST_PP_LOCAL_R(65) + BOOST_PP_LOCAL_MACRO(65) +# endif +# if BOOST_PP_LOCAL_R(64) + BOOST_PP_LOCAL_MACRO(64) +# endif +# if BOOST_PP_LOCAL_R(63) + BOOST_PP_LOCAL_MACRO(63) +# endif +# if BOOST_PP_LOCAL_R(62) + BOOST_PP_LOCAL_MACRO(62) +# endif +# if BOOST_PP_LOCAL_R(61) + BOOST_PP_LOCAL_MACRO(61) +# endif +# if BOOST_PP_LOCAL_R(60) + BOOST_PP_LOCAL_MACRO(60) +# endif +# if BOOST_PP_LOCAL_R(59) + BOOST_PP_LOCAL_MACRO(59) +# endif +# if BOOST_PP_LOCAL_R(58) + BOOST_PP_LOCAL_MACRO(58) +# endif +# if BOOST_PP_LOCAL_R(57) + BOOST_PP_LOCAL_MACRO(57) +# endif +# if BOOST_PP_LOCAL_R(56) + BOOST_PP_LOCAL_MACRO(56) +# endif +# if BOOST_PP_LOCAL_R(55) + BOOST_PP_LOCAL_MACRO(55) +# endif +# if BOOST_PP_LOCAL_R(54) + BOOST_PP_LOCAL_MACRO(54) +# endif +# if BOOST_PP_LOCAL_R(53) + BOOST_PP_LOCAL_MACRO(53) +# endif +# if BOOST_PP_LOCAL_R(52) + BOOST_PP_LOCAL_MACRO(52) +# endif +# if BOOST_PP_LOCAL_R(51) + BOOST_PP_LOCAL_MACRO(51) +# endif +# if BOOST_PP_LOCAL_R(50) + BOOST_PP_LOCAL_MACRO(50) +# endif +# if BOOST_PP_LOCAL_R(49) + BOOST_PP_LOCAL_MACRO(49) +# endif +# if BOOST_PP_LOCAL_R(48) + BOOST_PP_LOCAL_MACRO(48) +# endif +# if BOOST_PP_LOCAL_R(47) + BOOST_PP_LOCAL_MACRO(47) +# endif +# if BOOST_PP_LOCAL_R(46) + BOOST_PP_LOCAL_MACRO(46) +# endif +# if BOOST_PP_LOCAL_R(45) + BOOST_PP_LOCAL_MACRO(45) +# endif +# if BOOST_PP_LOCAL_R(44) + BOOST_PP_LOCAL_MACRO(44) +# endif +# if BOOST_PP_LOCAL_R(43) + BOOST_PP_LOCAL_MACRO(43) +# endif +# if BOOST_PP_LOCAL_R(42) + BOOST_PP_LOCAL_MACRO(42) +# endif +# if BOOST_PP_LOCAL_R(41) + BOOST_PP_LOCAL_MACRO(41) +# endif +# if BOOST_PP_LOCAL_R(40) + BOOST_PP_LOCAL_MACRO(40) +# endif +# if BOOST_PP_LOCAL_R(39) + BOOST_PP_LOCAL_MACRO(39) +# endif +# if BOOST_PP_LOCAL_R(38) + BOOST_PP_LOCAL_MACRO(38) +# endif +# if BOOST_PP_LOCAL_R(37) + BOOST_PP_LOCAL_MACRO(37) +# endif +# if BOOST_PP_LOCAL_R(36) + BOOST_PP_LOCAL_MACRO(36) +# endif +# if BOOST_PP_LOCAL_R(35) + BOOST_PP_LOCAL_MACRO(35) +# endif +# if BOOST_PP_LOCAL_R(34) + BOOST_PP_LOCAL_MACRO(34) +# endif +# if BOOST_PP_LOCAL_R(33) + BOOST_PP_LOCAL_MACRO(33) +# endif +# if BOOST_PP_LOCAL_R(32) + BOOST_PP_LOCAL_MACRO(32) +# endif +# if BOOST_PP_LOCAL_R(31) + BOOST_PP_LOCAL_MACRO(31) +# endif +# if BOOST_PP_LOCAL_R(30) + BOOST_PP_LOCAL_MACRO(30) +# endif +# if BOOST_PP_LOCAL_R(29) + BOOST_PP_LOCAL_MACRO(29) +# endif +# if BOOST_PP_LOCAL_R(28) + BOOST_PP_LOCAL_MACRO(28) +# endif +# if BOOST_PP_LOCAL_R(27) + BOOST_PP_LOCAL_MACRO(27) +# endif +# if BOOST_PP_LOCAL_R(26) + BOOST_PP_LOCAL_MACRO(26) +# endif +# if BOOST_PP_LOCAL_R(25) + BOOST_PP_LOCAL_MACRO(25) +# endif +# if BOOST_PP_LOCAL_R(24) + BOOST_PP_LOCAL_MACRO(24) +# endif +# if BOOST_PP_LOCAL_R(23) + BOOST_PP_LOCAL_MACRO(23) +# endif +# if BOOST_PP_LOCAL_R(22) + BOOST_PP_LOCAL_MACRO(22) +# endif +# if BOOST_PP_LOCAL_R(21) + BOOST_PP_LOCAL_MACRO(21) +# endif +# if BOOST_PP_LOCAL_R(20) + BOOST_PP_LOCAL_MACRO(20) +# endif +# if BOOST_PP_LOCAL_R(19) + BOOST_PP_LOCAL_MACRO(19) +# endif +# if BOOST_PP_LOCAL_R(18) + BOOST_PP_LOCAL_MACRO(18) +# endif +# if BOOST_PP_LOCAL_R(17) + BOOST_PP_LOCAL_MACRO(17) +# endif +# if BOOST_PP_LOCAL_R(16) + BOOST_PP_LOCAL_MACRO(16) +# endif +# if BOOST_PP_LOCAL_R(15) + BOOST_PP_LOCAL_MACRO(15) +# endif +# if BOOST_PP_LOCAL_R(14) + BOOST_PP_LOCAL_MACRO(14) +# endif +# if BOOST_PP_LOCAL_R(13) + BOOST_PP_LOCAL_MACRO(13) +# endif +# if BOOST_PP_LOCAL_R(12) + BOOST_PP_LOCAL_MACRO(12) +# endif +# if BOOST_PP_LOCAL_R(11) + BOOST_PP_LOCAL_MACRO(11) +# endif +# if BOOST_PP_LOCAL_R(10) + BOOST_PP_LOCAL_MACRO(10) +# endif +# if BOOST_PP_LOCAL_R(9) + BOOST_PP_LOCAL_MACRO(9) +# endif +# if BOOST_PP_LOCAL_R(8) + BOOST_PP_LOCAL_MACRO(8) +# endif +# if BOOST_PP_LOCAL_R(7) + BOOST_PP_LOCAL_MACRO(7) +# endif +# if BOOST_PP_LOCAL_R(6) + BOOST_PP_LOCAL_MACRO(6) +# endif +# if BOOST_PP_LOCAL_R(5) + BOOST_PP_LOCAL_MACRO(5) +# endif +# if BOOST_PP_LOCAL_R(4) + BOOST_PP_LOCAL_MACRO(4) +# endif +# if BOOST_PP_LOCAL_R(3) + BOOST_PP_LOCAL_MACRO(3) +# endif +# if BOOST_PP_LOCAL_R(2) + BOOST_PP_LOCAL_MACRO(2) +# endif +# if BOOST_PP_LOCAL_R(1) + BOOST_PP_LOCAL_MACRO(1) +# endif +# if BOOST_PP_LOCAL_R(0) + BOOST_PP_LOCAL_MACRO(0) +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/self.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/self.hpp new file mode 100644 index 0000000..d212ee0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/self.hpp @@ -0,0 +1,21 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# if !defined(BOOST_PP_INDIRECT_SELF) +# error BOOST_PP_ERROR: no indirect file to include +# endif +# +# define BOOST_PP_IS_SELFISH 1 +# +# include BOOST_PP_INDIRECT_SELF +# +# undef BOOST_PP_IS_SELFISH +# undef BOOST_PP_INDIRECT_SELF diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/start.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/start.hpp new file mode 100644 index 0000000..55e99cb --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/detail/start.hpp @@ -0,0 +1,99 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_LOCAL_SE +# +# undef BOOST_PP_LOCAL_SE_DIGIT_1 +# undef BOOST_PP_LOCAL_SE_DIGIT_2 +# undef BOOST_PP_LOCAL_SE_DIGIT_3 +# undef BOOST_PP_LOCAL_SE_DIGIT_4 +# undef BOOST_PP_LOCAL_SE_DIGIT_5 +# undef BOOST_PP_LOCAL_SE_DIGIT_6 +# undef BOOST_PP_LOCAL_SE_DIGIT_7 +# undef BOOST_PP_LOCAL_SE_DIGIT_8 +# undef BOOST_PP_LOCAL_SE_DIGIT_9 +# undef BOOST_PP_LOCAL_SE_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_LOCAL_SE_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_LOCAL_SE_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_LOCAL_SE_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_LOCAL_SE_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_LOCAL_SE_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_LOCAL_SE_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_LOCAL_SE_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_LOCAL_SE_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_LOCAL_SE_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_LOCAL_SE_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_LOCAL_SE_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_LOCAL_SE_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_LOCAL_SE_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_LOCAL_SE_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_LOCAL_SE_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_LOCAL_SE_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_LOCAL_SE_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_LOCAL_SE_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_LOCAL_SE_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_LOCAL_SE_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_LOCAL_SE_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_LOCAL_SE_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_LOCAL_SE_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_LOCAL_SE_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_LOCAL_SE_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_LOCAL_SE_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_LOCAL_SE_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_LOCAL_SE_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_LOCAL_SE_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_LOCAL_SE_DIGIT_1 9 +# endif +# +# if BOOST_PP_LOCAL_SE_DIGIT_3 +# define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_3(BOOST_PP_LOCAL_SE_DIGIT_3, BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1) +# elif BOOST_PP_LOCAL_SE_DIGIT_2 +# define BOOST_PP_LOCAL_SE() BOOST_PP_SLOT_CC_2(BOOST_PP_LOCAL_SE_DIGIT_2, BOOST_PP_LOCAL_SE_DIGIT_1) +# else +# define BOOST_PP_LOCAL_SE() BOOST_PP_LOCAL_SE_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/iterate.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/iterate.hpp new file mode 100644 index 0000000..c3d1b07 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/iterate.hpp @@ -0,0 +1,82 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP +# define BOOST_PREPROCESSOR_ITERATION_ITERATE_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ITERATION_DEPTH */ +# +# define BOOST_PP_ITERATION_DEPTH() 0 +# +# /* BOOST_PP_ITERATION */ +# +# define BOOST_PP_ITERATION() BOOST_PP_CAT(BOOST_PP_ITERATION_, BOOST_PP_ITERATION_DEPTH()) +# +# /* BOOST_PP_ITERATION_START && BOOST_PP_ITERATION_FINISH */ +# +# define BOOST_PP_ITERATION_START() BOOST_PP_CAT(BOOST_PP_ITERATION_START_, BOOST_PP_ITERATION_DEPTH()) +# define BOOST_PP_ITERATION_FINISH() BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, BOOST_PP_ITERATION_DEPTH()) +# +# /* BOOST_PP_ITERATION_FLAGS */ +# +# define BOOST_PP_ITERATION_FLAGS() (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, BOOST_PP_ITERATION_DEPTH())) +# +# /* BOOST_PP_FRAME_ITERATION */ +# +# define BOOST_PP_FRAME_ITERATION(i) BOOST_PP_CAT(BOOST_PP_ITERATION_, i) +# +# /* BOOST_PP_FRAME_START && BOOST_PP_FRAME_FINISH */ +# +# define BOOST_PP_FRAME_START(i) BOOST_PP_CAT(BOOST_PP_ITERATION_START_, i) +# define BOOST_PP_FRAME_FINISH(i) BOOST_PP_CAT(BOOST_PP_ITERATION_FINISH_, i) +# +# /* BOOST_PP_FRAME_FLAGS */ +# +# define BOOST_PP_FRAME_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_ITERATION_FLAGS_, i)) +# +# /* BOOST_PP_RELATIVE_ITERATION */ +# +# define BOOST_PP_RELATIVE_ITERATION(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_) +# +# define BOOST_PP_RELATIVE_0(m) BOOST_PP_CAT(m, BOOST_PP_ITERATION_DEPTH()) +# define BOOST_PP_RELATIVE_1(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())) +# define BOOST_PP_RELATIVE_2(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))) +# define BOOST_PP_RELATIVE_3(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH())))) +# define BOOST_PP_RELATIVE_4(m) BOOST_PP_CAT(m, BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_DEC(BOOST_PP_ITERATION_DEPTH()))))) +# +# /* BOOST_PP_RELATIVE_START && BOOST_PP_RELATIVE_FINISH */ +# +# define BOOST_PP_RELATIVE_START(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_START_) +# define BOOST_PP_RELATIVE_FINISH(i) BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FINISH_) +# +# /* BOOST_PP_RELATIVE_FLAGS */ +# +# define BOOST_PP_RELATIVE_FLAGS(i) (BOOST_PP_CAT(BOOST_PP_RELATIVE_, i)(BOOST_PP_ITERATION_FLAGS_)) +# +# /* BOOST_PP_ITERATE */ +# +# define BOOST_PP_ITERATE() BOOST_PP_CAT(BOOST_PP_ITERATE_, BOOST_PP_INC(BOOST_PP_ITERATION_DEPTH())) +# +# define BOOST_PP_ITERATE_1 +# define BOOST_PP_ITERATE_2 +# define BOOST_PP_ITERATE_3 +# define BOOST_PP_ITERATE_4 +# define BOOST_PP_ITERATE_5 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/local.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/local.hpp new file mode 100644 index 0000000..5af8430 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/local.hpp @@ -0,0 +1,26 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP +# define BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP +# +# include +# include +# include +# +# /* BOOST_PP_LOCAL_ITERATE */ +# +# define BOOST_PP_LOCAL_ITERATE() +# +# define BOOST_PP_LOCAL_C(n) (BOOST_PP_LOCAL_S) <= n && (BOOST_PP_LOCAL_F) >= n +# define BOOST_PP_LOCAL_R(n) (BOOST_PP_LOCAL_F) <= n && (BOOST_PP_LOCAL_S) >= n +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/self.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/self.hpp new file mode 100644 index 0000000..b53b3db --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/iteration/self.hpp @@ -0,0 +1,19 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP +# define BOOST_PREPROCESSOR_ITERATION_SELF_HPP +# +# /* BOOST_PP_INCLUDE_SELF */ +# +# define BOOST_PP_INCLUDE_SELF() +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/library.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/library.hpp new file mode 100644 index 0000000..29ba635 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/library.hpp @@ -0,0 +1,34 @@ +# /* ************************************************************************** +# * * +# * (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_LIBRARY_HPP +# define BOOST_PREPROCESSOR_LIBRARY_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/limits.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/limits.hpp new file mode 100644 index 0000000..ec98b2e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/limits.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_LIMITS_HPP +# define BOOST_PREPROCESSOR_LIMITS_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list.hpp new file mode 100644 index 0000000..b09bb82 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list.hpp @@ -0,0 +1,35 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_HPP +# define BOOST_PREPROCESSOR_LIST_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/adt.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/adt.hpp new file mode 100644 index 0000000..0743af6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/adt.hpp @@ -0,0 +1,73 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * +# * See http://www.boost.org for most recent version. +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# ifndef BOOST_PREPROCESSOR_LIST_ADT_HPP +# define BOOST_PREPROCESSOR_LIST_ADT_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_CONS */ +# +# define BOOST_PP_LIST_CONS(head, tail) (head, tail) +# +# /* BOOST_PP_LIST_NIL */ +# +# define BOOST_PP_LIST_NIL BOOST_PP_NIL +# +# /* BOOST_PP_LIST_FIRST */ +# +# define BOOST_PP_LIST_FIRST(list) BOOST_PP_LIST_FIRST_D(list) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I list +# else +# define BOOST_PP_LIST_FIRST_D(list) BOOST_PP_LIST_FIRST_I ## list +# endif +# +# define BOOST_PP_LIST_FIRST_I(head, tail) head +# +# /* BOOST_PP_LIST_REST */ +# +# define BOOST_PP_LIST_REST(list) BOOST_PP_LIST_REST_D(list) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I list +# else +# define BOOST_PP_LIST_REST_D(list) BOOST_PP_LIST_REST_I ## list +# endif +# +# define BOOST_PP_LIST_REST_I(head, tail) tail +# +# /* BOOST_PP_LIST_IS_CONS */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_LIST_IS_CONS_D(list) +# define BOOST_PP_LIST_IS_CONS_D(list) BOOST_PP_LIST_IS_CONS_ ## list +# define BOOST_PP_LIST_IS_CONS_(head, tail) 1 +# define BOOST_PP_LIST_IS_CONS_BOOST_PP_NIL 0 +# else +# define BOOST_PP_LIST_IS_CONS(list) BOOST_PP_IS_BINARY(list) +# endif +# +# /* BOOST_PP_LIST_IS_NIL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_BCC() +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_IS_BINARY(list)) +# else +# define BOOST_PP_LIST_IS_NIL(list) BOOST_PP_COMPL(BOOST_PP_LIST_IS_CONS(list)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/append.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/append.hpp new file mode 100644 index 0000000..d26e1af --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/append.hpp @@ -0,0 +1,40 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP +# define BOOST_PREPROCESSOR_LIST_APPEND_HPP +# +# include +# include +# +# /* BOOST_PP_LIST_APPEND */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a) +# else +# define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_APPEND_I(a, b) +# define BOOST_PP_LIST_APPEND_I(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a) +# endif +# +# define BOOST_PP_LIST_APPEND_O(d, s, x) (x, s) +# +# /* BOOST_PP_LIST_APPEND_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a) +# else +# define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_APPEND_D_I(d, a, b) +# define BOOST_PP_LIST_APPEND_D_I(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/at.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/at.hpp new file mode 100644 index 0000000..bc02108 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/at.hpp @@ -0,0 +1,39 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_AT_HPP +# define BOOST_PREPROCESSOR_LIST_AT_HPP +# +# include +# include +# include +# +# /* BOOST_PP_LIST_AT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_AT(list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N(index, list)) +# else +# define BOOST_PP_LIST_AT(list, index) BOOST_PP_LIST_AT_I(list, index) +# define BOOST_PP_LIST_AT_I(list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N(index, list)) +# endif +# +# /* BOOST_PP_LIST_AT_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_AT_D(d, list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(d, index, list)) +# else +# define BOOST_PP_LIST_AT_D(d, list, index) BOOST_PP_LIST_AT_D_I(d, list, index) +# define BOOST_PP_LIST_AT_D_I(d, list, index) BOOST_PP_LIST_FIRST(BOOST_PP_LIST_REST_N_D(d, index, list)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/cat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/cat.hpp new file mode 100644 index 0000000..0a9641c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/cat.hpp @@ -0,0 +1,42 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_CAT_HPP +# define BOOST_PREPROCESSOR_LIST_CAT_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_CAT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_CAT(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list)) +# else +# define BOOST_PP_LIST_CAT(list) BOOST_PP_LIST_CAT_I(list) +# define BOOST_PP_LIST_CAT_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list)) +# endif +# +# define BOOST_PP_LIST_CAT_O(d, s, x) BOOST_PP_CAT(s, x) +# +# /* BOOST_PP_LIST_CAT_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_CAT_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list)) +# else +# define BOOST_PP_LIST_CAT_D(d, list) BOOST_PP_LIST_CAT_D_I(d, list) +# define BOOST_PP_LIST_CAT_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_CAT_O, BOOST_PP_LIST_FIRST(list), BOOST_PP_LIST_REST(list)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/dmc/fold_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/dmc/fold_left.hpp new file mode 100644 index 0000000..bf1d2e0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/dmc/fold_left.hpp @@ -0,0 +1,279 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, BOOST_PP_TUPLE_ELEM_3_1)(o, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, BOOST_PP_TUPLE_ELEM_3_1)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_left.hpp new file mode 100644 index 0000000..0130e85 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_left.hpp @@ -0,0 +1,536 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_LEFT_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_LEFT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_right.hpp new file mode 100644 index 0000000..431abd2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/edg/fold_right.hpp @@ -0,0 +1,794 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_EDG_FOLD_RIGHT_HPP +# +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) +# +# define BOOST_PP_LIST_FOLD_RIGHT_1_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(2, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_2, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_2_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(3, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_3, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_3_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(4, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_4, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_4_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(5, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_5, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_5_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(6, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_6, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_6_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(7, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_7, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_7_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(8, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_8, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_8_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(9, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_9, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_9_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(10, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_10, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_10_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(11, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_11, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_11_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(12, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_12, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_12_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(13, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_13, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_13_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(14, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_14, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_14_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(15, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_15, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_15_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(16, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_16, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_16_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(17, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_17, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_17_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(18, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_18, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_18_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(19, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_19, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_19_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(20, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_20, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_20_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(21, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_21, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_21_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(22, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_22, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_22_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(23, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_23, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_23_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(24, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_24, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_24_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(25, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_25, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_25_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(26, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_26, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_26_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(27, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_27, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_27_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(28, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_28, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_28_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(29, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_29, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_29_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(30, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_30, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_30_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(31, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_31, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_31_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(32, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_32, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_32_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(33, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_33, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_33_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(34, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_34, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_34_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(35, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_35, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_35_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(36, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_36, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_36_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(37, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_37, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_37_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(38, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_38, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_38_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(39, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_39, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_39_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(40, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_40, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_40_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(41, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_41, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_41_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(42, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_42, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_42_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(43, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_43, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_43_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(44, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_44, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_44_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(45, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_45, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_45_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(46, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_46, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_46_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(47, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_47, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_47_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(48, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_48, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_48_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(49, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_49, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_49_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(50, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_50, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_50_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(51, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_51, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_51_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(52, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_52, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_52_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(53, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_53, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_53_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(54, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_54, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_54_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(55, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_55, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_55_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(56, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_56, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_56_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(57, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_57, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_57_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(58, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_58, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_58_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(59, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_59, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_59_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(60, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_60, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_60_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(61, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_61, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_61_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(62, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_62, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_62_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(63, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_63, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_63_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(64, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_64, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_64_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(65, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_65, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_65_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(66, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_66, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_66_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(67, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_67, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_67_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(68, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_68, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_68_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(69, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_69, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_69_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(70, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_70, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_70_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(71, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_71, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_71_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(72, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_72, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_72_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(73, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_73, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_73_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(74, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_74, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_74_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(75, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_75, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_75_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(76, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_76, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_76_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(77, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_77, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_77_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(78, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_78, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_78_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(79, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_79, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_79_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(80, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_80, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_80_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(81, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_81, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_81_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(82, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_82, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_82_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(83, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_83, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_83_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(84, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_84, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_84_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(85, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_85, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_85_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(86, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_86, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_86_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(87, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_87, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_87_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(88, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_88, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_88_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(89, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_89, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_89_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(90, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_90, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_90_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(91, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_91, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_91_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(92, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_92, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_92_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(93, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_93, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_93_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(94, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_94, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_94_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(95, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_95, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_95_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(96, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_96, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_96_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(97, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_97, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_97_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(98, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_98, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_98_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(99, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_99, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_99_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(100, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_100, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_100_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(101, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_101, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_101_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(102, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_102, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_102_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(103, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_103, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_103_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(104, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_104, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_104_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(105, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_105, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_105_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(106, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_106, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_106_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(107, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_107, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_107_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(108, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_108, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_108_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(109, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_109, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_109_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(110, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_110, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_110_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(111, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_111, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_111_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(112, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_112, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_112_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(113, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_113, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_113_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(114, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_114, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_114_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(115, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_115, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_115_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(116, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_116, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_116_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(117, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_117, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_117_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(118, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_118, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_118_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(119, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_119, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_119_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(120, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_120, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_120_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(121, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_121, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_121_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(122, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_122, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_122_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(123, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_123, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_123_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(124, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_124, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_124_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(125, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_125, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_125_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(126, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_126, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_126_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(127, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_127, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_127_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(128, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_128, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_128_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(129, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_129, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_129_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(130, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_130, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_130_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(131, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_131, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_131_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(132, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_132, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_132_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(133, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_133, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_133_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(134, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_134, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_134_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(135, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_135, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_135_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(136, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_136, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_136_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(137, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_137, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_137_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(138, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_138, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_138_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(139, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_139, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_139_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(140, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_140, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_140_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(141, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_141, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_141_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(142, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_142, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_142_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(143, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_143, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_143_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(144, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_144, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_144_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(145, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_145, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_145_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(146, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_146, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_146_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(147, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_147, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_147_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(148, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_148, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_148_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(149, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_149, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_149_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(150, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_150, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_150_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(151, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_151, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_151_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(152, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_152, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_152_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(153, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_153, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_153_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(154, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_154, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_154_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(155, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_155, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_155_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(156, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_156, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_156_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(157, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_157, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_157_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(158, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_158, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_158_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(159, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_159, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_159_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(160, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_160, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_160_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(161, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_161, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_161_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(162, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_162, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_162_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(163, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_163, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_163_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(164, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_164, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_164_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(165, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_165, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_165_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(166, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_166, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_166_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(167, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_167, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_167_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(168, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_168, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_168_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(169, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_169, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_169_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(170, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_170, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_170_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(171, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_171, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_171_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(172, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_172, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_172_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(173, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_173, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_173_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(174, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_174, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_174_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(175, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_175, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_175_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(176, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_176, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_176_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(177, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_177, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_177_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(178, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_178, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_178_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(179, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_179, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_179_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(180, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_180, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_180_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(181, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_181, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_181_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(182, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_182, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_182_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(183, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_183, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_183_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(184, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_184, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_184_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(185, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_185, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_185_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(186, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_186, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_186_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(187, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_187, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_187_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(188, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_188, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_188_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(189, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_189, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_189_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(190, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_190, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_190_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(191, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_191, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_191_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(192, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_192, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_192_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(193, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_193, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_193_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(194, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_194, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_194_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(195, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_195, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_195_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(196, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_196, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_196_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(197, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_197, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_197_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(198, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_198, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_198_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(199, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_199, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_199_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(200, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_200, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_200_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(201, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_201, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_201_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(202, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_202, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_202_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(203, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_203, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_203_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(204, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_204, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_204_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(205, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_205, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_205_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(206, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_206, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_206_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(207, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_207, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_207_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(208, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_208, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_208_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(209, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_209, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_209_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(210, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_210, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_210_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(211, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_211, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_211_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(212, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_212, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_212_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(213, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_213, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_213_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(214, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_214, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_214_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(215, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_215, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_215_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(216, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_216, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_216_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(217, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_217, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_217_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(218, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_218, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_218_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(219, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_219, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_219_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(220, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_220, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_220_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(221, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_221, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_221_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(222, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_222, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_222_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(223, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_223, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_223_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(224, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_224, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_224_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(225, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_225, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_225_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(226, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_226, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_226_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(227, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_227, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_227_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(228, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_228, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_228_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(229, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_229, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_229_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(230, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_230, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_230_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(231, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_231, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_231_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(232, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_232, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_232_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(233, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_233, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_233_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(234, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_234, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_234_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(235, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_235, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_235_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(236, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_236, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_236_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(237, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_237, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_237_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(238, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_238, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_238_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(239, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_239, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_239_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(240, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_240, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_240_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(241, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_241, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_241_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(242, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_242, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_242_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(243, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_243, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_243_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(244, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_244, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_244_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(245, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_245, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_245_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(246, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_246, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_246_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(247, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_247, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_247_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(248, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_248, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_248_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(249, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_249, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_249_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(250, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_250, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_250_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(251, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_251, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_251_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(252, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_252, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_252_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(253, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_253, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_253_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(254, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_254, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_254_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(255, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_255, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_255_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(256, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_256, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# define BOOST_PP_LIST_FOLD_RIGHT_256_D(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), o, s BOOST_PP_TUPLE_EAT_3)(257, BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_RIGHT_257, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3)(o, s, BOOST_PP_LIST_REST(l)), BOOST_PP_LIST_FIRST(l)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_RIGHT_CHECK_BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_left.hpp new file mode 100644 index 0000000..ed4f622 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_left.hpp @@ -0,0 +1,279 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_LEFT_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_2, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(2, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_3, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(3, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_4, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(4, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_5, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(5, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_6, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(6, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_7, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(7, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_8, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(8, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_9, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(9, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_10, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(10, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_11, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(11, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_12, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(12, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_13, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(13, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_14, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(14, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_15, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(15, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_16, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(16, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_17, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(17, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_18, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(18, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_19, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(19, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_20, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(20, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_21, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(21, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_22, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(22, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_23, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(23, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_24, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(24, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_25, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(25, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_26, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(26, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_27, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(27, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_28, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(28, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_29, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(29, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_30, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(30, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_31, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(31, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_32, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(32, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_33, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(33, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_34, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(34, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_35, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(35, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_36, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(36, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_37, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(37, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_38, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(38, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_39, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(39, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_40, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(40, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_41, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(41, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_42, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(42, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_43, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(43, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_44, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(44, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_45, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(45, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_46, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(46, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_47, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(47, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_48, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(48, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_49, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(49, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_50, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(50, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_51, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(51, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_52, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(52, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_53, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(53, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_54, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(54, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_55, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(55, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_56, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(56, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_57, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(57, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_58, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(58, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_59, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(59, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_60, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(60, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_61, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(61, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_62, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(62, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_63, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(63, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_64, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(64, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_65, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(65, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_66, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(66, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_67, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(67, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_68, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(68, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_69, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(69, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_70, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(70, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_71, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(71, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_72, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(72, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_73, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(73, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_74, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(74, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_75, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(75, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_76, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(76, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_77, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(77, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_78, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(78, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_79, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(79, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_80, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(80, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_81, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(81, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_82, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(82, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_83, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(83, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_84, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(84, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_85, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(85, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_86, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(86, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_87, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(87, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_88, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(88, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_89, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(89, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_90, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(90, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_91, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(91, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_92, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(92, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_93, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(93, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_94, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(94, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_95, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(95, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_96, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(96, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_97, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(97, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_98, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(98, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_99, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(99, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_100, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(100, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_101, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(101, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_102, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(102, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_103, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(103, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_104, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(104, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_105, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(105, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_106, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(106, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_107, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(107, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_108, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(108, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_109, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(109, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_110, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(110, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_111, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(111, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_112, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(112, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_113, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(113, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_114, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(114, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_115, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(115, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_116, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(116, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_117, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(117, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_118, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(118, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_119, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(119, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_120, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(120, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_121, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(121, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_122, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(122, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_123, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(123, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_124, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(124, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_125, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(125, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_126, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(126, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_127, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(127, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_128, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(128, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_129, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(129, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_130, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(130, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_131, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(131, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_132, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(132, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_133, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(133, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_134, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(134, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_135, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(135, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_136, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(136, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_137, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(137, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_138, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(138, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_139, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(139, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_140, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(140, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_141, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(141, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_142, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(142, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_143, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(143, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_144, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(144, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_145, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(145, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_146, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(146, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_147, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(147, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_148, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(148, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_149, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(149, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_150, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(150, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_151, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(151, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_152, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(152, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_153, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(153, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_154, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(154, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_155, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(155, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_156, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(156, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_157, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(157, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_158, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(158, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_159, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(159, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_160, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(160, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_161, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(161, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_162, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(162, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_163, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(163, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_164, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(164, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_165, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(165, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_166, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(166, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_167, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(167, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_168, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(168, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_169, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(169, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_170, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(170, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_171, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(171, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_172, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(172, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_173, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(173, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_174, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(174, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_175, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(175, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_176, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(176, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_177, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(177, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_178, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(178, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_179, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(179, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_180, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(180, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_181, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(181, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_182, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(182, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_183, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(183, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_184, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(184, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_185, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(185, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_186, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(186, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_187, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(187, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_188, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(188, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_189, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(189, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_190, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(190, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_191, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(191, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_192, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(192, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_193, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(193, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_194, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(194, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_195, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(195, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_196, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(196, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_197, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(197, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_198, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(198, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_199, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(199, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_200, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(200, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_201, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(201, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_202, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(202, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_203, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(203, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_204, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(204, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_205, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(205, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_206, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(206, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_207, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(207, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_208, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(208, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_209, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(209, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_210, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(210, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_211, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(211, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_212, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(212, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_213, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(213, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_214, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(214, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_215, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(215, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_216, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(216, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_217, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(217, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_218, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(218, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_219, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(219, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_220, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(220, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_221, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(221, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_222, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(222, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_223, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(223, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_224, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(224, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_225, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(225, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_226, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(226, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_227, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(227, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_228, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(228, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_229, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(229, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_230, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(230, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_231, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(231, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_232, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(232, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_233, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(233, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_234, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(234, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_235, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(235, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_236, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(236, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_237, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(237, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_238, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(238, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_239, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(239, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_240, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(240, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_241, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(241, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_242, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(242, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_243, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(243, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_244, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(244, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_245, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(245, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_246, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(246, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_247, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(247, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_248, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(248, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_249, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(249, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_250, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(250, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_251, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(251, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_252, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(252, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_253, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(253, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_254, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(254, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_255, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(255, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_256, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(256, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# define BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(l), BOOST_PP_LIST_FOLD_LEFT_257, s BOOST_PP_TUPLE_EAT_3)(o, BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(l), o)(257, s, BOOST_PP_LIST_FIRST(l)), BOOST_PP_LIST_REST(l)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_right.hpp new file mode 100644 index 0000000..feca39b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/detail/fold_right.hpp @@ -0,0 +1,277 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_LIST_DETAIL_FOLD_RIGHT_HPP +# +# include +# include +# +# define BOOST_PP_LIST_FOLD_RIGHT_1(o, s, l) BOOST_PP_LIST_FOLD_LEFT_1(o, s, BOOST_PP_LIST_REVERSE_D(1, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_2(o, s, l) BOOST_PP_LIST_FOLD_LEFT_2(o, s, BOOST_PP_LIST_REVERSE_D(2, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_3(o, s, l) BOOST_PP_LIST_FOLD_LEFT_3(o, s, BOOST_PP_LIST_REVERSE_D(3, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_4(o, s, l) BOOST_PP_LIST_FOLD_LEFT_4(o, s, BOOST_PP_LIST_REVERSE_D(4, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_5(o, s, l) BOOST_PP_LIST_FOLD_LEFT_5(o, s, BOOST_PP_LIST_REVERSE_D(5, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_6(o, s, l) BOOST_PP_LIST_FOLD_LEFT_6(o, s, BOOST_PP_LIST_REVERSE_D(6, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_7(o, s, l) BOOST_PP_LIST_FOLD_LEFT_7(o, s, BOOST_PP_LIST_REVERSE_D(7, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_8(o, s, l) BOOST_PP_LIST_FOLD_LEFT_8(o, s, BOOST_PP_LIST_REVERSE_D(8, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_9(o, s, l) BOOST_PP_LIST_FOLD_LEFT_9(o, s, BOOST_PP_LIST_REVERSE_D(9, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_10(o, s, l) BOOST_PP_LIST_FOLD_LEFT_10(o, s, BOOST_PP_LIST_REVERSE_D(10, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_11(o, s, l) BOOST_PP_LIST_FOLD_LEFT_11(o, s, BOOST_PP_LIST_REVERSE_D(11, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_12(o, s, l) BOOST_PP_LIST_FOLD_LEFT_12(o, s, BOOST_PP_LIST_REVERSE_D(12, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_13(o, s, l) BOOST_PP_LIST_FOLD_LEFT_13(o, s, BOOST_PP_LIST_REVERSE_D(13, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_14(o, s, l) BOOST_PP_LIST_FOLD_LEFT_14(o, s, BOOST_PP_LIST_REVERSE_D(14, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_15(o, s, l) BOOST_PP_LIST_FOLD_LEFT_15(o, s, BOOST_PP_LIST_REVERSE_D(15, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_16(o, s, l) BOOST_PP_LIST_FOLD_LEFT_16(o, s, BOOST_PP_LIST_REVERSE_D(16, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_17(o, s, l) BOOST_PP_LIST_FOLD_LEFT_17(o, s, BOOST_PP_LIST_REVERSE_D(17, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_18(o, s, l) BOOST_PP_LIST_FOLD_LEFT_18(o, s, BOOST_PP_LIST_REVERSE_D(18, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_19(o, s, l) BOOST_PP_LIST_FOLD_LEFT_19(o, s, BOOST_PP_LIST_REVERSE_D(19, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_20(o, s, l) BOOST_PP_LIST_FOLD_LEFT_20(o, s, BOOST_PP_LIST_REVERSE_D(20, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_21(o, s, l) BOOST_PP_LIST_FOLD_LEFT_21(o, s, BOOST_PP_LIST_REVERSE_D(21, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_22(o, s, l) BOOST_PP_LIST_FOLD_LEFT_22(o, s, BOOST_PP_LIST_REVERSE_D(22, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_23(o, s, l) BOOST_PP_LIST_FOLD_LEFT_23(o, s, BOOST_PP_LIST_REVERSE_D(23, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_24(o, s, l) BOOST_PP_LIST_FOLD_LEFT_24(o, s, BOOST_PP_LIST_REVERSE_D(24, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_25(o, s, l) BOOST_PP_LIST_FOLD_LEFT_25(o, s, BOOST_PP_LIST_REVERSE_D(25, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_26(o, s, l) BOOST_PP_LIST_FOLD_LEFT_26(o, s, BOOST_PP_LIST_REVERSE_D(26, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_27(o, s, l) BOOST_PP_LIST_FOLD_LEFT_27(o, s, BOOST_PP_LIST_REVERSE_D(27, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_28(o, s, l) BOOST_PP_LIST_FOLD_LEFT_28(o, s, BOOST_PP_LIST_REVERSE_D(28, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_29(o, s, l) BOOST_PP_LIST_FOLD_LEFT_29(o, s, BOOST_PP_LIST_REVERSE_D(29, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_30(o, s, l) BOOST_PP_LIST_FOLD_LEFT_30(o, s, BOOST_PP_LIST_REVERSE_D(30, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_31(o, s, l) BOOST_PP_LIST_FOLD_LEFT_31(o, s, BOOST_PP_LIST_REVERSE_D(31, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_32(o, s, l) BOOST_PP_LIST_FOLD_LEFT_32(o, s, BOOST_PP_LIST_REVERSE_D(32, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_33(o, s, l) BOOST_PP_LIST_FOLD_LEFT_33(o, s, BOOST_PP_LIST_REVERSE_D(33, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_34(o, s, l) BOOST_PP_LIST_FOLD_LEFT_34(o, s, BOOST_PP_LIST_REVERSE_D(34, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_35(o, s, l) BOOST_PP_LIST_FOLD_LEFT_35(o, s, BOOST_PP_LIST_REVERSE_D(35, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_36(o, s, l) BOOST_PP_LIST_FOLD_LEFT_36(o, s, BOOST_PP_LIST_REVERSE_D(36, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_37(o, s, l) BOOST_PP_LIST_FOLD_LEFT_37(o, s, BOOST_PP_LIST_REVERSE_D(37, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_38(o, s, l) BOOST_PP_LIST_FOLD_LEFT_38(o, s, BOOST_PP_LIST_REVERSE_D(38, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_39(o, s, l) BOOST_PP_LIST_FOLD_LEFT_39(o, s, BOOST_PP_LIST_REVERSE_D(39, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_40(o, s, l) BOOST_PP_LIST_FOLD_LEFT_40(o, s, BOOST_PP_LIST_REVERSE_D(40, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_41(o, s, l) BOOST_PP_LIST_FOLD_LEFT_41(o, s, BOOST_PP_LIST_REVERSE_D(41, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_42(o, s, l) BOOST_PP_LIST_FOLD_LEFT_42(o, s, BOOST_PP_LIST_REVERSE_D(42, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_43(o, s, l) BOOST_PP_LIST_FOLD_LEFT_43(o, s, BOOST_PP_LIST_REVERSE_D(43, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_44(o, s, l) BOOST_PP_LIST_FOLD_LEFT_44(o, s, BOOST_PP_LIST_REVERSE_D(44, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_45(o, s, l) BOOST_PP_LIST_FOLD_LEFT_45(o, s, BOOST_PP_LIST_REVERSE_D(45, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_46(o, s, l) BOOST_PP_LIST_FOLD_LEFT_46(o, s, BOOST_PP_LIST_REVERSE_D(46, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_47(o, s, l) BOOST_PP_LIST_FOLD_LEFT_47(o, s, BOOST_PP_LIST_REVERSE_D(47, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_48(o, s, l) BOOST_PP_LIST_FOLD_LEFT_48(o, s, BOOST_PP_LIST_REVERSE_D(48, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_49(o, s, l) BOOST_PP_LIST_FOLD_LEFT_49(o, s, BOOST_PP_LIST_REVERSE_D(49, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_50(o, s, l) BOOST_PP_LIST_FOLD_LEFT_50(o, s, BOOST_PP_LIST_REVERSE_D(50, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_51(o, s, l) BOOST_PP_LIST_FOLD_LEFT_51(o, s, BOOST_PP_LIST_REVERSE_D(51, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_52(o, s, l) BOOST_PP_LIST_FOLD_LEFT_52(o, s, BOOST_PP_LIST_REVERSE_D(52, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_53(o, s, l) BOOST_PP_LIST_FOLD_LEFT_53(o, s, BOOST_PP_LIST_REVERSE_D(53, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_54(o, s, l) BOOST_PP_LIST_FOLD_LEFT_54(o, s, BOOST_PP_LIST_REVERSE_D(54, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_55(o, s, l) BOOST_PP_LIST_FOLD_LEFT_55(o, s, BOOST_PP_LIST_REVERSE_D(55, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_56(o, s, l) BOOST_PP_LIST_FOLD_LEFT_56(o, s, BOOST_PP_LIST_REVERSE_D(56, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_57(o, s, l) BOOST_PP_LIST_FOLD_LEFT_57(o, s, BOOST_PP_LIST_REVERSE_D(57, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_58(o, s, l) BOOST_PP_LIST_FOLD_LEFT_58(o, s, BOOST_PP_LIST_REVERSE_D(58, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_59(o, s, l) BOOST_PP_LIST_FOLD_LEFT_59(o, s, BOOST_PP_LIST_REVERSE_D(59, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_60(o, s, l) BOOST_PP_LIST_FOLD_LEFT_60(o, s, BOOST_PP_LIST_REVERSE_D(60, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_61(o, s, l) BOOST_PP_LIST_FOLD_LEFT_61(o, s, BOOST_PP_LIST_REVERSE_D(61, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_62(o, s, l) BOOST_PP_LIST_FOLD_LEFT_62(o, s, BOOST_PP_LIST_REVERSE_D(62, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_63(o, s, l) BOOST_PP_LIST_FOLD_LEFT_63(o, s, BOOST_PP_LIST_REVERSE_D(63, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_64(o, s, l) BOOST_PP_LIST_FOLD_LEFT_64(o, s, BOOST_PP_LIST_REVERSE_D(64, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_65(o, s, l) BOOST_PP_LIST_FOLD_LEFT_65(o, s, BOOST_PP_LIST_REVERSE_D(65, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_66(o, s, l) BOOST_PP_LIST_FOLD_LEFT_66(o, s, BOOST_PP_LIST_REVERSE_D(66, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_67(o, s, l) BOOST_PP_LIST_FOLD_LEFT_67(o, s, BOOST_PP_LIST_REVERSE_D(67, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_68(o, s, l) BOOST_PP_LIST_FOLD_LEFT_68(o, s, BOOST_PP_LIST_REVERSE_D(68, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_69(o, s, l) BOOST_PP_LIST_FOLD_LEFT_69(o, s, BOOST_PP_LIST_REVERSE_D(69, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_70(o, s, l) BOOST_PP_LIST_FOLD_LEFT_70(o, s, BOOST_PP_LIST_REVERSE_D(70, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_71(o, s, l) BOOST_PP_LIST_FOLD_LEFT_71(o, s, BOOST_PP_LIST_REVERSE_D(71, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_72(o, s, l) BOOST_PP_LIST_FOLD_LEFT_72(o, s, BOOST_PP_LIST_REVERSE_D(72, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_73(o, s, l) BOOST_PP_LIST_FOLD_LEFT_73(o, s, BOOST_PP_LIST_REVERSE_D(73, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_74(o, s, l) BOOST_PP_LIST_FOLD_LEFT_74(o, s, BOOST_PP_LIST_REVERSE_D(74, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_75(o, s, l) BOOST_PP_LIST_FOLD_LEFT_75(o, s, BOOST_PP_LIST_REVERSE_D(75, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_76(o, s, l) BOOST_PP_LIST_FOLD_LEFT_76(o, s, BOOST_PP_LIST_REVERSE_D(76, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_77(o, s, l) BOOST_PP_LIST_FOLD_LEFT_77(o, s, BOOST_PP_LIST_REVERSE_D(77, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_78(o, s, l) BOOST_PP_LIST_FOLD_LEFT_78(o, s, BOOST_PP_LIST_REVERSE_D(78, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_79(o, s, l) BOOST_PP_LIST_FOLD_LEFT_79(o, s, BOOST_PP_LIST_REVERSE_D(79, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_80(o, s, l) BOOST_PP_LIST_FOLD_LEFT_80(o, s, BOOST_PP_LIST_REVERSE_D(80, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_81(o, s, l) BOOST_PP_LIST_FOLD_LEFT_81(o, s, BOOST_PP_LIST_REVERSE_D(81, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_82(o, s, l) BOOST_PP_LIST_FOLD_LEFT_82(o, s, BOOST_PP_LIST_REVERSE_D(82, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_83(o, s, l) BOOST_PP_LIST_FOLD_LEFT_83(o, s, BOOST_PP_LIST_REVERSE_D(83, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_84(o, s, l) BOOST_PP_LIST_FOLD_LEFT_84(o, s, BOOST_PP_LIST_REVERSE_D(84, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_85(o, s, l) BOOST_PP_LIST_FOLD_LEFT_85(o, s, BOOST_PP_LIST_REVERSE_D(85, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_86(o, s, l) BOOST_PP_LIST_FOLD_LEFT_86(o, s, BOOST_PP_LIST_REVERSE_D(86, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_87(o, s, l) BOOST_PP_LIST_FOLD_LEFT_87(o, s, BOOST_PP_LIST_REVERSE_D(87, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_88(o, s, l) BOOST_PP_LIST_FOLD_LEFT_88(o, s, BOOST_PP_LIST_REVERSE_D(88, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_89(o, s, l) BOOST_PP_LIST_FOLD_LEFT_89(o, s, BOOST_PP_LIST_REVERSE_D(89, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_90(o, s, l) BOOST_PP_LIST_FOLD_LEFT_90(o, s, BOOST_PP_LIST_REVERSE_D(90, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_91(o, s, l) BOOST_PP_LIST_FOLD_LEFT_91(o, s, BOOST_PP_LIST_REVERSE_D(91, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_92(o, s, l) BOOST_PP_LIST_FOLD_LEFT_92(o, s, BOOST_PP_LIST_REVERSE_D(92, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_93(o, s, l) BOOST_PP_LIST_FOLD_LEFT_93(o, s, BOOST_PP_LIST_REVERSE_D(93, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_94(o, s, l) BOOST_PP_LIST_FOLD_LEFT_94(o, s, BOOST_PP_LIST_REVERSE_D(94, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_95(o, s, l) BOOST_PP_LIST_FOLD_LEFT_95(o, s, BOOST_PP_LIST_REVERSE_D(95, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_96(o, s, l) BOOST_PP_LIST_FOLD_LEFT_96(o, s, BOOST_PP_LIST_REVERSE_D(96, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_97(o, s, l) BOOST_PP_LIST_FOLD_LEFT_97(o, s, BOOST_PP_LIST_REVERSE_D(97, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_98(o, s, l) BOOST_PP_LIST_FOLD_LEFT_98(o, s, BOOST_PP_LIST_REVERSE_D(98, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_99(o, s, l) BOOST_PP_LIST_FOLD_LEFT_99(o, s, BOOST_PP_LIST_REVERSE_D(99, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_100(o, s, l) BOOST_PP_LIST_FOLD_LEFT_100(o, s, BOOST_PP_LIST_REVERSE_D(100, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_101(o, s, l) BOOST_PP_LIST_FOLD_LEFT_101(o, s, BOOST_PP_LIST_REVERSE_D(101, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_102(o, s, l) BOOST_PP_LIST_FOLD_LEFT_102(o, s, BOOST_PP_LIST_REVERSE_D(102, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_103(o, s, l) BOOST_PP_LIST_FOLD_LEFT_103(o, s, BOOST_PP_LIST_REVERSE_D(103, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_104(o, s, l) BOOST_PP_LIST_FOLD_LEFT_104(o, s, BOOST_PP_LIST_REVERSE_D(104, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_105(o, s, l) BOOST_PP_LIST_FOLD_LEFT_105(o, s, BOOST_PP_LIST_REVERSE_D(105, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_106(o, s, l) BOOST_PP_LIST_FOLD_LEFT_106(o, s, BOOST_PP_LIST_REVERSE_D(106, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_107(o, s, l) BOOST_PP_LIST_FOLD_LEFT_107(o, s, BOOST_PP_LIST_REVERSE_D(107, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_108(o, s, l) BOOST_PP_LIST_FOLD_LEFT_108(o, s, BOOST_PP_LIST_REVERSE_D(108, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_109(o, s, l) BOOST_PP_LIST_FOLD_LEFT_109(o, s, BOOST_PP_LIST_REVERSE_D(109, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_110(o, s, l) BOOST_PP_LIST_FOLD_LEFT_110(o, s, BOOST_PP_LIST_REVERSE_D(110, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_111(o, s, l) BOOST_PP_LIST_FOLD_LEFT_111(o, s, BOOST_PP_LIST_REVERSE_D(111, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_112(o, s, l) BOOST_PP_LIST_FOLD_LEFT_112(o, s, BOOST_PP_LIST_REVERSE_D(112, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_113(o, s, l) BOOST_PP_LIST_FOLD_LEFT_113(o, s, BOOST_PP_LIST_REVERSE_D(113, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_114(o, s, l) BOOST_PP_LIST_FOLD_LEFT_114(o, s, BOOST_PP_LIST_REVERSE_D(114, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_115(o, s, l) BOOST_PP_LIST_FOLD_LEFT_115(o, s, BOOST_PP_LIST_REVERSE_D(115, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_116(o, s, l) BOOST_PP_LIST_FOLD_LEFT_116(o, s, BOOST_PP_LIST_REVERSE_D(116, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_117(o, s, l) BOOST_PP_LIST_FOLD_LEFT_117(o, s, BOOST_PP_LIST_REVERSE_D(117, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_118(o, s, l) BOOST_PP_LIST_FOLD_LEFT_118(o, s, BOOST_PP_LIST_REVERSE_D(118, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_119(o, s, l) BOOST_PP_LIST_FOLD_LEFT_119(o, s, BOOST_PP_LIST_REVERSE_D(119, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_120(o, s, l) BOOST_PP_LIST_FOLD_LEFT_120(o, s, BOOST_PP_LIST_REVERSE_D(120, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_121(o, s, l) BOOST_PP_LIST_FOLD_LEFT_121(o, s, BOOST_PP_LIST_REVERSE_D(121, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_122(o, s, l) BOOST_PP_LIST_FOLD_LEFT_122(o, s, BOOST_PP_LIST_REVERSE_D(122, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_123(o, s, l) BOOST_PP_LIST_FOLD_LEFT_123(o, s, BOOST_PP_LIST_REVERSE_D(123, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_124(o, s, l) BOOST_PP_LIST_FOLD_LEFT_124(o, s, BOOST_PP_LIST_REVERSE_D(124, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_125(o, s, l) BOOST_PP_LIST_FOLD_LEFT_125(o, s, BOOST_PP_LIST_REVERSE_D(125, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_126(o, s, l) BOOST_PP_LIST_FOLD_LEFT_126(o, s, BOOST_PP_LIST_REVERSE_D(126, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_127(o, s, l) BOOST_PP_LIST_FOLD_LEFT_127(o, s, BOOST_PP_LIST_REVERSE_D(127, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_128(o, s, l) BOOST_PP_LIST_FOLD_LEFT_128(o, s, BOOST_PP_LIST_REVERSE_D(128, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_129(o, s, l) BOOST_PP_LIST_FOLD_LEFT_129(o, s, BOOST_PP_LIST_REVERSE_D(129, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_130(o, s, l) BOOST_PP_LIST_FOLD_LEFT_130(o, s, BOOST_PP_LIST_REVERSE_D(130, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_131(o, s, l) BOOST_PP_LIST_FOLD_LEFT_131(o, s, BOOST_PP_LIST_REVERSE_D(131, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_132(o, s, l) BOOST_PP_LIST_FOLD_LEFT_132(o, s, BOOST_PP_LIST_REVERSE_D(132, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_133(o, s, l) BOOST_PP_LIST_FOLD_LEFT_133(o, s, BOOST_PP_LIST_REVERSE_D(133, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_134(o, s, l) BOOST_PP_LIST_FOLD_LEFT_134(o, s, BOOST_PP_LIST_REVERSE_D(134, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_135(o, s, l) BOOST_PP_LIST_FOLD_LEFT_135(o, s, BOOST_PP_LIST_REVERSE_D(135, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_136(o, s, l) BOOST_PP_LIST_FOLD_LEFT_136(o, s, BOOST_PP_LIST_REVERSE_D(136, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_137(o, s, l) BOOST_PP_LIST_FOLD_LEFT_137(o, s, BOOST_PP_LIST_REVERSE_D(137, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_138(o, s, l) BOOST_PP_LIST_FOLD_LEFT_138(o, s, BOOST_PP_LIST_REVERSE_D(138, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_139(o, s, l) BOOST_PP_LIST_FOLD_LEFT_139(o, s, BOOST_PP_LIST_REVERSE_D(139, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_140(o, s, l) BOOST_PP_LIST_FOLD_LEFT_140(o, s, BOOST_PP_LIST_REVERSE_D(140, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_141(o, s, l) BOOST_PP_LIST_FOLD_LEFT_141(o, s, BOOST_PP_LIST_REVERSE_D(141, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_142(o, s, l) BOOST_PP_LIST_FOLD_LEFT_142(o, s, BOOST_PP_LIST_REVERSE_D(142, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_143(o, s, l) BOOST_PP_LIST_FOLD_LEFT_143(o, s, BOOST_PP_LIST_REVERSE_D(143, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_144(o, s, l) BOOST_PP_LIST_FOLD_LEFT_144(o, s, BOOST_PP_LIST_REVERSE_D(144, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_145(o, s, l) BOOST_PP_LIST_FOLD_LEFT_145(o, s, BOOST_PP_LIST_REVERSE_D(145, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_146(o, s, l) BOOST_PP_LIST_FOLD_LEFT_146(o, s, BOOST_PP_LIST_REVERSE_D(146, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_147(o, s, l) BOOST_PP_LIST_FOLD_LEFT_147(o, s, BOOST_PP_LIST_REVERSE_D(147, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_148(o, s, l) BOOST_PP_LIST_FOLD_LEFT_148(o, s, BOOST_PP_LIST_REVERSE_D(148, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_149(o, s, l) BOOST_PP_LIST_FOLD_LEFT_149(o, s, BOOST_PP_LIST_REVERSE_D(149, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_150(o, s, l) BOOST_PP_LIST_FOLD_LEFT_150(o, s, BOOST_PP_LIST_REVERSE_D(150, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_151(o, s, l) BOOST_PP_LIST_FOLD_LEFT_151(o, s, BOOST_PP_LIST_REVERSE_D(151, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_152(o, s, l) BOOST_PP_LIST_FOLD_LEFT_152(o, s, BOOST_PP_LIST_REVERSE_D(152, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_153(o, s, l) BOOST_PP_LIST_FOLD_LEFT_153(o, s, BOOST_PP_LIST_REVERSE_D(153, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_154(o, s, l) BOOST_PP_LIST_FOLD_LEFT_154(o, s, BOOST_PP_LIST_REVERSE_D(154, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_155(o, s, l) BOOST_PP_LIST_FOLD_LEFT_155(o, s, BOOST_PP_LIST_REVERSE_D(155, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_156(o, s, l) BOOST_PP_LIST_FOLD_LEFT_156(o, s, BOOST_PP_LIST_REVERSE_D(156, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_157(o, s, l) BOOST_PP_LIST_FOLD_LEFT_157(o, s, BOOST_PP_LIST_REVERSE_D(157, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_158(o, s, l) BOOST_PP_LIST_FOLD_LEFT_158(o, s, BOOST_PP_LIST_REVERSE_D(158, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_159(o, s, l) BOOST_PP_LIST_FOLD_LEFT_159(o, s, BOOST_PP_LIST_REVERSE_D(159, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_160(o, s, l) BOOST_PP_LIST_FOLD_LEFT_160(o, s, BOOST_PP_LIST_REVERSE_D(160, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_161(o, s, l) BOOST_PP_LIST_FOLD_LEFT_161(o, s, BOOST_PP_LIST_REVERSE_D(161, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_162(o, s, l) BOOST_PP_LIST_FOLD_LEFT_162(o, s, BOOST_PP_LIST_REVERSE_D(162, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_163(o, s, l) BOOST_PP_LIST_FOLD_LEFT_163(o, s, BOOST_PP_LIST_REVERSE_D(163, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_164(o, s, l) BOOST_PP_LIST_FOLD_LEFT_164(o, s, BOOST_PP_LIST_REVERSE_D(164, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_165(o, s, l) BOOST_PP_LIST_FOLD_LEFT_165(o, s, BOOST_PP_LIST_REVERSE_D(165, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_166(o, s, l) BOOST_PP_LIST_FOLD_LEFT_166(o, s, BOOST_PP_LIST_REVERSE_D(166, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_167(o, s, l) BOOST_PP_LIST_FOLD_LEFT_167(o, s, BOOST_PP_LIST_REVERSE_D(167, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_168(o, s, l) BOOST_PP_LIST_FOLD_LEFT_168(o, s, BOOST_PP_LIST_REVERSE_D(168, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_169(o, s, l) BOOST_PP_LIST_FOLD_LEFT_169(o, s, BOOST_PP_LIST_REVERSE_D(169, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_170(o, s, l) BOOST_PP_LIST_FOLD_LEFT_170(o, s, BOOST_PP_LIST_REVERSE_D(170, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_171(o, s, l) BOOST_PP_LIST_FOLD_LEFT_171(o, s, BOOST_PP_LIST_REVERSE_D(171, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_172(o, s, l) BOOST_PP_LIST_FOLD_LEFT_172(o, s, BOOST_PP_LIST_REVERSE_D(172, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_173(o, s, l) BOOST_PP_LIST_FOLD_LEFT_173(o, s, BOOST_PP_LIST_REVERSE_D(173, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_174(o, s, l) BOOST_PP_LIST_FOLD_LEFT_174(o, s, BOOST_PP_LIST_REVERSE_D(174, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_175(o, s, l) BOOST_PP_LIST_FOLD_LEFT_175(o, s, BOOST_PP_LIST_REVERSE_D(175, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_176(o, s, l) BOOST_PP_LIST_FOLD_LEFT_176(o, s, BOOST_PP_LIST_REVERSE_D(176, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_177(o, s, l) BOOST_PP_LIST_FOLD_LEFT_177(o, s, BOOST_PP_LIST_REVERSE_D(177, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_178(o, s, l) BOOST_PP_LIST_FOLD_LEFT_178(o, s, BOOST_PP_LIST_REVERSE_D(178, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_179(o, s, l) BOOST_PP_LIST_FOLD_LEFT_179(o, s, BOOST_PP_LIST_REVERSE_D(179, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_180(o, s, l) BOOST_PP_LIST_FOLD_LEFT_180(o, s, BOOST_PP_LIST_REVERSE_D(180, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_181(o, s, l) BOOST_PP_LIST_FOLD_LEFT_181(o, s, BOOST_PP_LIST_REVERSE_D(181, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_182(o, s, l) BOOST_PP_LIST_FOLD_LEFT_182(o, s, BOOST_PP_LIST_REVERSE_D(182, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_183(o, s, l) BOOST_PP_LIST_FOLD_LEFT_183(o, s, BOOST_PP_LIST_REVERSE_D(183, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_184(o, s, l) BOOST_PP_LIST_FOLD_LEFT_184(o, s, BOOST_PP_LIST_REVERSE_D(184, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_185(o, s, l) BOOST_PP_LIST_FOLD_LEFT_185(o, s, BOOST_PP_LIST_REVERSE_D(185, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_186(o, s, l) BOOST_PP_LIST_FOLD_LEFT_186(o, s, BOOST_PP_LIST_REVERSE_D(186, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_187(o, s, l) BOOST_PP_LIST_FOLD_LEFT_187(o, s, BOOST_PP_LIST_REVERSE_D(187, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_188(o, s, l) BOOST_PP_LIST_FOLD_LEFT_188(o, s, BOOST_PP_LIST_REVERSE_D(188, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_189(o, s, l) BOOST_PP_LIST_FOLD_LEFT_189(o, s, BOOST_PP_LIST_REVERSE_D(189, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_190(o, s, l) BOOST_PP_LIST_FOLD_LEFT_190(o, s, BOOST_PP_LIST_REVERSE_D(190, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_191(o, s, l) BOOST_PP_LIST_FOLD_LEFT_191(o, s, BOOST_PP_LIST_REVERSE_D(191, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_192(o, s, l) BOOST_PP_LIST_FOLD_LEFT_192(o, s, BOOST_PP_LIST_REVERSE_D(192, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_193(o, s, l) BOOST_PP_LIST_FOLD_LEFT_193(o, s, BOOST_PP_LIST_REVERSE_D(193, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_194(o, s, l) BOOST_PP_LIST_FOLD_LEFT_194(o, s, BOOST_PP_LIST_REVERSE_D(194, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_195(o, s, l) BOOST_PP_LIST_FOLD_LEFT_195(o, s, BOOST_PP_LIST_REVERSE_D(195, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_196(o, s, l) BOOST_PP_LIST_FOLD_LEFT_196(o, s, BOOST_PP_LIST_REVERSE_D(196, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_197(o, s, l) BOOST_PP_LIST_FOLD_LEFT_197(o, s, BOOST_PP_LIST_REVERSE_D(197, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_198(o, s, l) BOOST_PP_LIST_FOLD_LEFT_198(o, s, BOOST_PP_LIST_REVERSE_D(198, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_199(o, s, l) BOOST_PP_LIST_FOLD_LEFT_199(o, s, BOOST_PP_LIST_REVERSE_D(199, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_200(o, s, l) BOOST_PP_LIST_FOLD_LEFT_200(o, s, BOOST_PP_LIST_REVERSE_D(200, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_201(o, s, l) BOOST_PP_LIST_FOLD_LEFT_201(o, s, BOOST_PP_LIST_REVERSE_D(201, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_202(o, s, l) BOOST_PP_LIST_FOLD_LEFT_202(o, s, BOOST_PP_LIST_REVERSE_D(202, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_203(o, s, l) BOOST_PP_LIST_FOLD_LEFT_203(o, s, BOOST_PP_LIST_REVERSE_D(203, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_204(o, s, l) BOOST_PP_LIST_FOLD_LEFT_204(o, s, BOOST_PP_LIST_REVERSE_D(204, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_205(o, s, l) BOOST_PP_LIST_FOLD_LEFT_205(o, s, BOOST_PP_LIST_REVERSE_D(205, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_206(o, s, l) BOOST_PP_LIST_FOLD_LEFT_206(o, s, BOOST_PP_LIST_REVERSE_D(206, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_207(o, s, l) BOOST_PP_LIST_FOLD_LEFT_207(o, s, BOOST_PP_LIST_REVERSE_D(207, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_208(o, s, l) BOOST_PP_LIST_FOLD_LEFT_208(o, s, BOOST_PP_LIST_REVERSE_D(208, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_209(o, s, l) BOOST_PP_LIST_FOLD_LEFT_209(o, s, BOOST_PP_LIST_REVERSE_D(209, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_210(o, s, l) BOOST_PP_LIST_FOLD_LEFT_210(o, s, BOOST_PP_LIST_REVERSE_D(210, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_211(o, s, l) BOOST_PP_LIST_FOLD_LEFT_211(o, s, BOOST_PP_LIST_REVERSE_D(211, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_212(o, s, l) BOOST_PP_LIST_FOLD_LEFT_212(o, s, BOOST_PP_LIST_REVERSE_D(212, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_213(o, s, l) BOOST_PP_LIST_FOLD_LEFT_213(o, s, BOOST_PP_LIST_REVERSE_D(213, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_214(o, s, l) BOOST_PP_LIST_FOLD_LEFT_214(o, s, BOOST_PP_LIST_REVERSE_D(214, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_215(o, s, l) BOOST_PP_LIST_FOLD_LEFT_215(o, s, BOOST_PP_LIST_REVERSE_D(215, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_216(o, s, l) BOOST_PP_LIST_FOLD_LEFT_216(o, s, BOOST_PP_LIST_REVERSE_D(216, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_217(o, s, l) BOOST_PP_LIST_FOLD_LEFT_217(o, s, BOOST_PP_LIST_REVERSE_D(217, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_218(o, s, l) BOOST_PP_LIST_FOLD_LEFT_218(o, s, BOOST_PP_LIST_REVERSE_D(218, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_219(o, s, l) BOOST_PP_LIST_FOLD_LEFT_219(o, s, BOOST_PP_LIST_REVERSE_D(219, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_220(o, s, l) BOOST_PP_LIST_FOLD_LEFT_220(o, s, BOOST_PP_LIST_REVERSE_D(220, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_221(o, s, l) BOOST_PP_LIST_FOLD_LEFT_221(o, s, BOOST_PP_LIST_REVERSE_D(221, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_222(o, s, l) BOOST_PP_LIST_FOLD_LEFT_222(o, s, BOOST_PP_LIST_REVERSE_D(222, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_223(o, s, l) BOOST_PP_LIST_FOLD_LEFT_223(o, s, BOOST_PP_LIST_REVERSE_D(223, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_224(o, s, l) BOOST_PP_LIST_FOLD_LEFT_224(o, s, BOOST_PP_LIST_REVERSE_D(224, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_225(o, s, l) BOOST_PP_LIST_FOLD_LEFT_225(o, s, BOOST_PP_LIST_REVERSE_D(225, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_226(o, s, l) BOOST_PP_LIST_FOLD_LEFT_226(o, s, BOOST_PP_LIST_REVERSE_D(226, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_227(o, s, l) BOOST_PP_LIST_FOLD_LEFT_227(o, s, BOOST_PP_LIST_REVERSE_D(227, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_228(o, s, l) BOOST_PP_LIST_FOLD_LEFT_228(o, s, BOOST_PP_LIST_REVERSE_D(228, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_229(o, s, l) BOOST_PP_LIST_FOLD_LEFT_229(o, s, BOOST_PP_LIST_REVERSE_D(229, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_230(o, s, l) BOOST_PP_LIST_FOLD_LEFT_230(o, s, BOOST_PP_LIST_REVERSE_D(230, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_231(o, s, l) BOOST_PP_LIST_FOLD_LEFT_231(o, s, BOOST_PP_LIST_REVERSE_D(231, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_232(o, s, l) BOOST_PP_LIST_FOLD_LEFT_232(o, s, BOOST_PP_LIST_REVERSE_D(232, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_233(o, s, l) BOOST_PP_LIST_FOLD_LEFT_233(o, s, BOOST_PP_LIST_REVERSE_D(233, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_234(o, s, l) BOOST_PP_LIST_FOLD_LEFT_234(o, s, BOOST_PP_LIST_REVERSE_D(234, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_235(o, s, l) BOOST_PP_LIST_FOLD_LEFT_235(o, s, BOOST_PP_LIST_REVERSE_D(235, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_236(o, s, l) BOOST_PP_LIST_FOLD_LEFT_236(o, s, BOOST_PP_LIST_REVERSE_D(236, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_237(o, s, l) BOOST_PP_LIST_FOLD_LEFT_237(o, s, BOOST_PP_LIST_REVERSE_D(237, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_238(o, s, l) BOOST_PP_LIST_FOLD_LEFT_238(o, s, BOOST_PP_LIST_REVERSE_D(238, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_239(o, s, l) BOOST_PP_LIST_FOLD_LEFT_239(o, s, BOOST_PP_LIST_REVERSE_D(239, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_240(o, s, l) BOOST_PP_LIST_FOLD_LEFT_240(o, s, BOOST_PP_LIST_REVERSE_D(240, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_241(o, s, l) BOOST_PP_LIST_FOLD_LEFT_241(o, s, BOOST_PP_LIST_REVERSE_D(241, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_242(o, s, l) BOOST_PP_LIST_FOLD_LEFT_242(o, s, BOOST_PP_LIST_REVERSE_D(242, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_243(o, s, l) BOOST_PP_LIST_FOLD_LEFT_243(o, s, BOOST_PP_LIST_REVERSE_D(243, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_244(o, s, l) BOOST_PP_LIST_FOLD_LEFT_244(o, s, BOOST_PP_LIST_REVERSE_D(244, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_245(o, s, l) BOOST_PP_LIST_FOLD_LEFT_245(o, s, BOOST_PP_LIST_REVERSE_D(245, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_246(o, s, l) BOOST_PP_LIST_FOLD_LEFT_246(o, s, BOOST_PP_LIST_REVERSE_D(246, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_247(o, s, l) BOOST_PP_LIST_FOLD_LEFT_247(o, s, BOOST_PP_LIST_REVERSE_D(247, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_248(o, s, l) BOOST_PP_LIST_FOLD_LEFT_248(o, s, BOOST_PP_LIST_REVERSE_D(248, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_249(o, s, l) BOOST_PP_LIST_FOLD_LEFT_249(o, s, BOOST_PP_LIST_REVERSE_D(249, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_250(o, s, l) BOOST_PP_LIST_FOLD_LEFT_250(o, s, BOOST_PP_LIST_REVERSE_D(250, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_251(o, s, l) BOOST_PP_LIST_FOLD_LEFT_251(o, s, BOOST_PP_LIST_REVERSE_D(251, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_252(o, s, l) BOOST_PP_LIST_FOLD_LEFT_252(o, s, BOOST_PP_LIST_REVERSE_D(252, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_253(o, s, l) BOOST_PP_LIST_FOLD_LEFT_253(o, s, BOOST_PP_LIST_REVERSE_D(253, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_254(o, s, l) BOOST_PP_LIST_FOLD_LEFT_254(o, s, BOOST_PP_LIST_REVERSE_D(254, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_255(o, s, l) BOOST_PP_LIST_FOLD_LEFT_255(o, s, BOOST_PP_LIST_REVERSE_D(255, l)) +# define BOOST_PP_LIST_FOLD_RIGHT_256(o, s, l) BOOST_PP_LIST_FOLD_LEFT_256(o, s, BOOST_PP_LIST_REVERSE_D(256, l)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/enum.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/enum.hpp new file mode 100644 index 0000000..7ef2412 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/enum.hpp @@ -0,0 +1,41 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_ENUM_HPP +# define BOOST_PREPROCESSOR_LIST_ENUM_HPP +# +# include +# include +# include +# +# /* BOOST_PP_LIST_ENUM */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_ENUM(list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list) +# else +# define BOOST_PP_LIST_ENUM(list) BOOST_PP_LIST_ENUM_I(list) +# define BOOST_PP_LIST_ENUM_I(list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list) +# endif +# +# define BOOST_PP_LIST_ENUM_O(r, _, i, elem) BOOST_PP_COMMA_IF(i) elem +# +# /* BOOST_PP_LIST_ENUM_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_ENUM_R(r, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list) +# else +# define BOOST_PP_LIST_ENUM_R(r, list) BOOST_PP_LIST_ENUM_R_I(r, list) +# define BOOST_PP_LIST_ENUM_R_I(r, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_ENUM_O, BOOST_PP_NIL, list) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/filter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/filter.hpp new file mode 100644 index 0000000..5711f61 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/filter.hpp @@ -0,0 +1,54 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FILTER_HPP +# define BOOST_PREPROCESSOR_LIST_FILTER_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FILTER */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FILTER(pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list)) +# else +# define BOOST_PP_LIST_FILTER(pred, data, list) BOOST_PP_LIST_FILTER_I(pred, data, list) +# define BOOST_PP_LIST_FILTER_I(pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FILTER_O(d, pdr, elem) BOOST_PP_LIST_FILTER_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, pdr), BOOST_PP_TUPLE_ELEM(3, 1, pdr), BOOST_PP_TUPLE_ELEM(3, 2, pdr), elem) +# else +# define BOOST_PP_LIST_FILTER_O(d, pdr, elem) BOOST_PP_LIST_FILTER_O_I(d, BOOST_PP_TUPLE_REM_3 pdr, elem) +# define BOOST_PP_LIST_FILTER_O_I(d, im, elem) BOOST_PP_LIST_FILTER_O_D(d, im, elem) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_LIST_FILTER_O_D(d, pred, data, res, elem) (pred, data, BOOST_PP_IF(pred(d, data, elem), (elem, res), res)) +# else +# define BOOST_PP_LIST_FILTER_O_D(d, pred, data, res, elem) (pred, data, BOOST_PP_IF(pred##(d, data, elem), (elem, res), res)) +# endif +# +# /* BOOST_PP_LIST_FILTER_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FILTER_D(d, pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list)) +# else +# define BOOST_PP_LIST_FILTER_D(d, pred, data, list) BOOST_PP_LIST_FILTER_D_I(d, pred, data, list) +# define BOOST_PP_LIST_FILTER_D_I(d, pred, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_FILTER_O, (pred, data, BOOST_PP_NIL), list)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/first_n.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/first_n.hpp new file mode 100644 index 0000000..bd5e022 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/first_n.hpp @@ -0,0 +1,58 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FIRST_N_HPP +# define BOOST_PREPROCESSOR_LIST_FIRST_N_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FIRST_N */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FIRST_N(count, list) BOOST_PP_LIST_REVERSE(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL)))) +# else +# define BOOST_PP_LIST_FIRST_N(count, list) BOOST_PP_LIST_FIRST_N_I(count, list) +# define BOOST_PP_LIST_FIRST_N_I(count, list) BOOST_PP_LIST_REVERSE(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL)))) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FIRST_N_P(d, data) BOOST_PP_TUPLE_ELEM(3, 0, data) +# else +# define BOOST_PP_LIST_FIRST_N_P(d, data) BOOST_PP_LIST_FIRST_N_P_I data +# define BOOST_PP_LIST_FIRST_N_P_I(c, l, nl) c +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FIRST_N_O(d, data) BOOST_PP_LIST_FIRST_N_O_D data +# else +# define BOOST_PP_LIST_FIRST_N_O(d, data) BOOST_PP_LIST_FIRST_N_O_D(BOOST_PP_TUPLE_ELEM(3, 0, data), BOOST_PP_TUPLE_ELEM(3, 1, data), BOOST_PP_TUPLE_ELEM(3, 2, data)) +# endif +# +# define BOOST_PP_LIST_FIRST_N_O_D(c, l, nl) (BOOST_PP_DEC(c), BOOST_PP_LIST_REST(l), (BOOST_PP_LIST_FIRST(l), nl)) +# +# /* BOOST_PP_LIST_FIRST_N_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FIRST_N_D(d, count, list) BOOST_PP_LIST_REVERSE_D(d, BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL)))) +# else +# define BOOST_PP_LIST_FIRST_N_D(d, count, list) BOOST_PP_LIST_FIRST_N_D_I(d, count, list) +# define BOOST_PP_LIST_FIRST_N_D_I(d, count, list) BOOST_PP_LIST_REVERSE_D(d, BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_FIRST_N_P, BOOST_PP_LIST_FIRST_N_O, (count, list, BOOST_PP_NIL)))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_left.hpp new file mode 100644 index 0000000..bd945c0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_left.hpp @@ -0,0 +1,303 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_LEFT_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOLD_LEFT */ +# +# if 0 +# define BOOST_PP_LIST_FOLD_LEFT(op, state, list) +# endif +# +# define BOOST_PP_LIST_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) +# +# define BOOST_PP_LIST_FOLD_LEFT_257(o, s, l) BOOST_PP_ERROR(0x0004) +# +# define BOOST_PP_LIST_FOLD_LEFT_D(d, o, s, l) BOOST_PP_LIST_FOLD_LEFT_ ## d(o, s, l) +# define BOOST_PP_LIST_FOLD_LEFT_2ND BOOST_PP_LIST_FOLD_LEFT +# define BOOST_PP_LIST_FOLD_LEFT_2ND_D BOOST_PP_LIST_FOLD_LEFT_D +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_1(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_2(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_3(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_4(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_5(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_6(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_7(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_8(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_9(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_10(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_11(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_12(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_13(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_14(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_15(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_16(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_17(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_18(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_19(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_20(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_21(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_22(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_23(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_24(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_25(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_26(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_27(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_28(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_29(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_30(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_31(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_32(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_33(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_34(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_35(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_36(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_37(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_38(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_39(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_40(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_41(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_42(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_43(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_44(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_45(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_46(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_47(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_48(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_49(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_50(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_51(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_52(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_53(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_54(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_55(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_56(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_57(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_58(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_59(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_60(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_61(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_62(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_63(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_64(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_65(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_66(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_67(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_68(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_69(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_70(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_71(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_72(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_73(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_74(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_75(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_76(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_77(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_78(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_79(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_80(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_81(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_82(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_83(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_84(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_85(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_86(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_87(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_88(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_89(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_90(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_91(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_92(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_93(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_94(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_95(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_96(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_97(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_98(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_99(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_100(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_101(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_102(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_103(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_104(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_105(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_106(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_107(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_108(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_109(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_110(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_111(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_112(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_113(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_114(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_115(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_116(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_117(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_118(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_119(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_120(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_121(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_122(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_123(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_124(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_125(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_126(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_127(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_128(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_129(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_130(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_131(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_132(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_133(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_134(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_135(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_136(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_137(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_138(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_139(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_140(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_141(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_142(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_143(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_144(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_145(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_146(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_147(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_148(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_149(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_150(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_151(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_152(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_153(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_154(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_155(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_156(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_157(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_158(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_159(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_160(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_161(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_162(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_163(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_164(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_165(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_166(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_167(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_168(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_169(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_170(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_171(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_172(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_173(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_174(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_175(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_176(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_177(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_178(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_179(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_180(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_181(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_182(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_183(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_184(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_185(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_186(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_187(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_188(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_189(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_190(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_191(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_192(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_193(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_194(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_195(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_196(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_197(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_198(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_199(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_200(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_201(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_202(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_203(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_204(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_205(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_206(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_207(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_208(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_209(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_210(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_211(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_212(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_213(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_214(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_215(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_216(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_217(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_218(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_219(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_220(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_221(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_222(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_223(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_224(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_225(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_226(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_227(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_228(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_229(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_230(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_231(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_232(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_233(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_234(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_235(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_236(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_237(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_238(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_239(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_240(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_241(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_242(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_243(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_244(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_245(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_246(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_247(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_248(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_249(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_250(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_251(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_252(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_253(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_254(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_255(o, s, l) 0 +# define BOOST_PP_LIST_FOLD_LEFT_CHECK_BOOST_PP_LIST_FOLD_LEFT_256(o, s, l) 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_right.hpp new file mode 100644 index 0000000..19a63e6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/fold_right.hpp @@ -0,0 +1,40 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP +# +# include +# include +# include +# include +# +# if 0 +# define BOOST_PP_LIST_FOLD_RIGHT(op, state, list) +# endif +# +# define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256)) +# +# define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004) +# +# define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l) +# define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT +# define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# else +# include +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each.hpp new file mode 100644 index 0000000..e2080a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each.hpp @@ -0,0 +1,49 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP +# define BOOST_PREPROCESSOR_LIST_FOR_EACH_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOR_EACH */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH(macro, data, list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_FOR_EACH_O, (macro, data), list) +# else +# define BOOST_PP_LIST_FOR_EACH(macro, data, list) BOOST_PP_LIST_FOR_EACH_X(macro, data, list) +# define BOOST_PP_LIST_FOR_EACH_X(macro, data, list) BOOST_PP_LIST_FOR_EACH_I(BOOST_PP_LIST_FOR_EACH_O, (macro, data), list) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_O(r, md, i, elem) BOOST_PP_LIST_FOR_EACH_O_D(r, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md), elem) +# else +# define BOOST_PP_LIST_FOR_EACH_O(r, md, i, elem) BOOST_PP_LIST_FOR_EACH_O_I(r, BOOST_PP_TUPLE_REM_2 md, elem) +# define BOOST_PP_LIST_FOR_EACH_O_I(r, im, elem) BOOST_PP_LIST_FOR_EACH_O_D(r, im, elem) +# endif +# +# define BOOST_PP_LIST_FOR_EACH_O_D(r, m, d, elem) m(r, d, elem) +# +# /* BOOST_PP_LIST_FOR_EACH_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_FOR_EACH_O, (macro, data), list) +# else +# define BOOST_PP_LIST_FOR_EACH_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_R_X(r, macro, data, list) +# define BOOST_PP_LIST_FOR_EACH_R_X(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R(r, BOOST_PP_LIST_FOR_EACH_O, (macro, data), list) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_i.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_i.hpp new file mode 100644 index 0000000..87ec39c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_i.hpp @@ -0,0 +1,65 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP +# define BOOST_PREPROCESSOR_LIST_LIST_FOR_EACH_I_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOR_EACH_I */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# else +# define BOOST_PP_LIST_FOR_EACH_I(macro, data, list) BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) +# define BOOST_PP_LIST_FOR_EACH_I_I(macro, data, list) BOOST_PP_FOR((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_FOR_EACH_I_P_D x +# define BOOST_PP_LIST_FOR_EACH_I_P_D(m, d, l, i) BOOST_PP_LIST_IS_CONS(l) +# else +# define BOOST_PP_LIST_FOR_EACH_I_P(r, x) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(4, 2, x)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) BOOST_PP_LIST_FOR_EACH_I_O_D x +# define BOOST_PP_LIST_FOR_EACH_I_O_D(m, d, l, i) (m, d, BOOST_PP_LIST_REST(l), BOOST_PP_INC(i)) +# else +# define BOOST_PP_LIST_FOR_EACH_I_O(r, x) (BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(4, 2, x)), BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(4, 3, x))) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_D(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x)) +# else +# define BOOST_PP_LIST_FOR_EACH_I_M(r, x) BOOST_PP_LIST_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_REM_4 x) +# define BOOST_PP_LIST_FOR_EACH_I_M_I(r, x_e) BOOST_PP_LIST_FOR_EACH_I_M_D(r, x_e) +# endif +# +# define BOOST_PP_LIST_FOR_EACH_I_M_D(r, m, d, l, i) m(r, d, i, BOOST_PP_LIST_FIRST(l)) +# +# /* BOOST_PP_LIST_FOR_EACH_I_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# else +# define BOOST_PP_LIST_FOR_EACH_I_R(r, macro, data, list) BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) +# define BOOST_PP_LIST_FOR_EACH_I_R_I(r, macro, data, list) BOOST_PP_FOR_ ## r((macro, data, list, 0), BOOST_PP_LIST_FOR_EACH_I_P, BOOST_PP_LIST_FOR_EACH_I_O, BOOST_PP_LIST_FOR_EACH_I_M) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_product.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_product.hpp new file mode 100644 index 0000000..ae67d75 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/for_each_product.hpp @@ -0,0 +1,141 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_FOR_EACH_PRODUCT_HPP +# define BOOST_PREPROCESSOR_LIST_FOR_EACH_PRODUCT_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_FOR_EACH_PRODUCT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple)) +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_Q(macro, size, tuple) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_Q(macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple)) +# endif +# +# /* BOOST_PP_LIST_FOR_EACH_PRODUCT_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR_ ## r, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple)) +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_R(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_R_Q(r, macro, size, tuple) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_R_Q(r, macro, size, tuple) BOOST_PP_LIST_FOR_EACH_PRODUCT_E(BOOST_PP_FOR_ ## r, macro, size, BOOST_PP_TUPLE_TO_LIST(size, tuple)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_E(impl, macro, size, lists) impl((BOOST_PP_LIST_FIRST(lists), BOOST_PP_LIST_REST(lists), BOOST_PP_NIL, macro, size), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0) +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_E(impl, macro, size, lists) BOOST_PP_LIST_FOR_EACH_PRODUCT_E_D(impl, macro, size, lists) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_E_D(impl, macro, size, lists) impl((BOOST_PP_LIST_FIRST(lists), BOOST_PP_LIST_REST(lists), BOOST_PP_NIL, macro, size), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_P_I data +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_P_I(a, b, res, macro, size) BOOST_PP_LIST_IS_CONS(a) +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(5, 0, data)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_O(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_O_I data +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_O_I(a, b, res, macro, size) (BOOST_PP_LIST_REST(a), b, res, macro, size) +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_O(r, data) (BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(5, 0, data)), BOOST_PP_TUPLE_ELEM(5, 1, data), BOOST_PP_TUPLE_ELEM(5, 2, data), BOOST_PP_TUPLE_ELEM(5, 3, data), BOOST_PP_TUPLE_ELEM(5, 4, data)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, BOOST_PP_TUPLE_ELEM(5, 0, data), BOOST_PP_TUPLE_ELEM(5, 1, data), BOOST_PP_TUPLE_ELEM(5, 2, data), BOOST_PP_TUPLE_ELEM(5, 3, data), BOOST_PP_TUPLE_ELEM(5, 4, data)) +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_D(r, BOOST_PP_TUPLE_REM_5 data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_D(r, data_e) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, data_e) +# endif +# +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_I(r, a, b, res, macro, size) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_II(r, macro, BOOST_PP_LIST_TO_TUPLE_R(r, (BOOST_PP_LIST_FIRST(a), res)), size) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_II(r, macro, args, size) BOOST_PP_LIST_FOR_EACH_PRODUCT_I_III(r, macro, args, size) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_I_III(r, macro, args, size) macro(r, BOOST_PP_TUPLE_REVERSE(size, args)) +# +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, i) BOOST_PP_IF(BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(5, 1, data)), BOOST_PP_LIST_FOR_EACH_PRODUCT_N_ ## i, BOOST_PP_LIST_FOR_EACH_PRODUCT_I) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data) BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I data +# else +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data) BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I(BOOST_PP_TUPLE_ELEM(5, 0, data), BOOST_PP_TUPLE_ELEM(5, 1, data), BOOST_PP_TUPLE_ELEM(5, 2, data), BOOST_PP_TUPLE_ELEM(5, 3, data), BOOST_PP_TUPLE_ELEM(5, 4, data)) +# endif +# +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_H_I(a, b, res, macro, size) (BOOST_PP_LIST_FIRST(b), BOOST_PP_LIST_REST(b), (BOOST_PP_LIST_FIRST(a), res), macro, size) +# +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_0(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 0)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_1(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 1)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_2(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 2)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_3(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 3)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_4(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 4)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_5(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 5)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_6(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 6)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_7(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 7)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_8(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 8)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_9(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 9)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_10(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 10)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_11(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 11)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_12(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 12)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_13(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 13)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_14(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 14)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_15(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 15)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_16(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 16)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_17(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 17)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_18(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 18)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_19(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 19)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_20(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 20)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_21(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 21)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_22(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 22)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_23(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 23)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_24(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 24)(r, data) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_M_25(r, data) BOOST_PP_LIST_FOR_EACH_PRODUCT_C(data, 25)(r, data) +# +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_0(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_1) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_1(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_2) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_2(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_3) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_3(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_4) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_4(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_5) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_5(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_6) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_6(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_7) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_7(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_8) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_8(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_9) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_9(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_10) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_10(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_11) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_11(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_12) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_12(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_13) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_13(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_14) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_14(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_15) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_15(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_16) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_16(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_17) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_17(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_18) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_18(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_19) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_19(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_20) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_20(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_21) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_21(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_22) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_22(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_23) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_23(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_24) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_24(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_25) +# define BOOST_PP_LIST_FOR_EACH_PRODUCT_N_25(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_LIST_FOR_EACH_PRODUCT_H(data), BOOST_PP_LIST_FOR_EACH_PRODUCT_P, BOOST_PP_LIST_FOR_EACH_PRODUCT_O, BOOST_PP_LIST_FOR_EACH_PRODUCT_M_26) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/rest_n.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/rest_n.hpp new file mode 100644 index 0000000..64a1836 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/rest_n.hpp @@ -0,0 +1,55 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_REST_N_HPP +# define BOOST_PREPROCESSOR_LIST_REST_N_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_REST_N */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REST_N(count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count))) +# else +# define BOOST_PP_LIST_REST_N(count, list) BOOST_PP_LIST_REST_N_I(count, list) +# define BOOST_PP_LIST_REST_N_I(count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count))) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REST_N_P(d, lc) BOOST_PP_TUPLE_ELEM(2, 1, lc) +# else +# define BOOST_PP_LIST_REST_N_P(d, lc) BOOST_PP_LIST_REST_N_P_I lc +# define BOOST_PP_LIST_REST_N_P_I(list, count) count +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REST_N_O(d, lc) (BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(2, 0, lc)), BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(2, 1, lc))) +# else +# define BOOST_PP_LIST_REST_N_O(d, lc) BOOST_PP_LIST_REST_N_O_I lc +# define BOOST_PP_LIST_REST_N_O_I(list, count) (BOOST_PP_LIST_REST(list), BOOST_PP_DEC(count)) +# endif +# +# /* BOOST_PP_LIST_REST_N_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REST_N_D(d, count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count))) +# else +# define BOOST_PP_LIST_REST_N_D(d, count, list) BOOST_PP_LIST_REST_N_D_I(d, count, list) +# define BOOST_PP_LIST_REST_N_D_I(d, count, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_REST_N_P, BOOST_PP_LIST_REST_N_O, (list, count))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/reverse.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/reverse.hpp new file mode 100644 index 0000000..88e6d85 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/reverse.hpp @@ -0,0 +1,40 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP +# define BOOST_PREPROCESSOR_LIST_REVERSE_HPP +# +# include +# include +# +# /* BOOST_PP_LIST_REVERSE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# else +# define BOOST_PP_LIST_REVERSE(list) BOOST_PP_LIST_REVERSE_I(list) +# define BOOST_PP_LIST_REVERSE_I(list) BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# endif +# +# define BOOST_PP_LIST_REVERSE_O(d, s, x) (x, s) +# +# /* BOOST_PP_LIST_REVERSE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# else +# define BOOST_PP_LIST_REVERSE_D(d, list) BOOST_PP_LIST_REVERSE_D_I(d, list) +# define BOOST_PP_LIST_REVERSE_D_I(d, list) BOOST_PP_LIST_FOLD_LEFT_ ## d(BOOST_PP_LIST_REVERSE_O, BOOST_PP_NIL, list) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/size.hpp new file mode 100644 index 0000000..23066ca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/size.hpp @@ -0,0 +1,58 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_SIZE_HPP +# define BOOST_PREPROCESSOR_LIST_SIZE_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_SIZE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_SIZE(list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list))) +# else +# define BOOST_PP_LIST_SIZE(list) BOOST_PP_LIST_SIZE_I(list) +# define BOOST_PP_LIST_SIZE_I(list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list))) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_SIZE_P(d, rl) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(2, 1, rl)) +# else +# define BOOST_PP_LIST_SIZE_P(d, rl) BOOST_PP_LIST_SIZE_P_I(BOOST_PP_TUPLE_REM_2 rl) +# define BOOST_PP_LIST_SIZE_P_I(im) BOOST_PP_LIST_SIZE_P_II(im) +# define BOOST_PP_LIST_SIZE_P_II(r, l) BOOST_PP_LIST_IS_CONS(l) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_SIZE_O(d, rl) (BOOST_PP_INC(BOOST_PP_TUPLE_ELEM(2, 0, rl)), BOOST_PP_LIST_REST(BOOST_PP_TUPLE_ELEM(2, 1, rl))) +# else +# define BOOST_PP_LIST_SIZE_O(d, rl) BOOST_PP_LIST_SIZE_O_I(BOOST_PP_TUPLE_REM_2 rl) +# define BOOST_PP_LIST_SIZE_O_I(im) BOOST_PP_LIST_SIZE_O_II(im) +# define BOOST_PP_LIST_SIZE_O_II(r, l) (BOOST_PP_INC(r), BOOST_PP_LIST_REST(l)) +# endif +# +# /* BOOST_PP_LIST_SIZE_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_SIZE_D(d, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list))) +# else +# define BOOST_PP_LIST_SIZE_D(d, list) BOOST_PP_LIST_SIZE_D_I(d, list) +# define BOOST_PP_LIST_SIZE_D_I(d, list) BOOST_PP_TUPLE_ELEM(2, 0, BOOST_PP_WHILE_ ## d(BOOST_PP_LIST_SIZE_P, BOOST_PP_LIST_SIZE_O, (0, list))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/to_tuple.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/to_tuple.hpp new file mode 100644 index 0000000..a32e807 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/to_tuple.hpp @@ -0,0 +1,38 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP +# define BOOST_PREPROCESSOR_LIST_TO_TUPLE_HPP +# +# include +# include +# +# /* BOOST_PP_LIST_TO_TUPLE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_TO_TUPLE(list) (BOOST_PP_LIST_ENUM(list)) +# else +# define BOOST_PP_LIST_TO_TUPLE(list) BOOST_PP_LIST_TO_TUPLE_I(list) +# define BOOST_PP_LIST_TO_TUPLE_I(list) (BOOST_PP_LIST_ENUM(list)) +# endif +# +# /* BOOST_PP_LIST_TO_TUPLE_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_TO_TUPLE_R(r, list) (BOOST_PP_LIST_ENUM_R(r, list)) +# else +# define BOOST_PP_LIST_TO_TUPLE_R(r, list) BOOST_PP_LIST_TO_TUPLE_R_I(r, list) +# define BOOST_PP_LIST_TO_TUPLE_R_I(r, list) (BOOST_PP_LIST_ENUM_R(r, list)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/transform.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/transform.hpp new file mode 100644 index 0000000..1b53336 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/list/transform.hpp @@ -0,0 +1,49 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP +# define BOOST_PREPROCESSOR_LIST_TRANSFORM_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LIST_TRANSFORM */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list)) +# else +# define BOOST_PP_LIST_TRANSFORM(op, data, list) BOOST_PP_LIST_TRANSFORM_I(op, data, list) +# define BOOST_PP_LIST_TRANSFORM_I(op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, BOOST_PP_TUPLE_ELEM(3, 0, odr), BOOST_PP_TUPLE_ELEM(3, 1, odr), BOOST_PP_TUPLE_ELEM(3, 2, odr), elem) +# else +# define BOOST_PP_LIST_TRANSFORM_O(d, odr, elem) BOOST_PP_LIST_TRANSFORM_O_I(d, BOOST_PP_TUPLE_REM_3 odr, elem) +# define BOOST_PP_LIST_TRANSFORM_O_I(d, im, elem) BOOST_PP_LIST_TRANSFORM_O_D(d, im, elem) +# endif +# +# define BOOST_PP_LIST_TRANSFORM_O_D(d, op, data, res, elem) (op, data, (op(d, data, elem), res)) +# +# /* BOOST_PP_LIST_TRANSFORM_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list)) +# else +# define BOOST_PP_LIST_TRANSFORM_D(d, op, data, list) BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list) +# define BOOST_PP_LIST_TRANSFORM_D_I(d, op, data, list) BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_TRANSFORM_O, (op, data, BOOST_PP_NIL), list)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical.hpp new file mode 100644 index 0000000..b08cd84 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical.hpp @@ -0,0 +1,29 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_HPP +# define BOOST_PREPROCESSOR_LOGICAL_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/and.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/and.hpp new file mode 100644 index 0000000..1db8e2b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/and.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP +# define BOOST_PREPROCESSOR_LOGICAL_AND_HPP +# +# include +# include +# include +# +# /* BOOST_PP_AND */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# else +# define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q) +# define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitand.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitand.hpp new file mode 100644 index 0000000..2e1c738 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitand.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP +# +# include +# +# /* BOOST_PP_BITAND */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y) +# else +# define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y)) +# define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y +# else +# define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y) +# define BOOST_PP_BITAND_ID(res) res +# endif +# +# define BOOST_PP_BITAND_00 0 +# define BOOST_PP_BITAND_01 0 +# define BOOST_PP_BITAND_10 0 +# define BOOST_PP_BITAND_11 1 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitnor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitnor.hpp new file mode 100644 index 0000000..99c3b33 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitnor.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BITNOR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BITNOR_HPP +# +# include +# +# /* BOOST_PP_BITNOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BITNOR(x, y) BOOST_PP_BITNOR_I(x, y) +# else +# define BOOST_PP_BITNOR(x, y) BOOST_PP_BITNOR_OO((x, y)) +# define BOOST_PP_BITNOR_OO(par) BOOST_PP_BITNOR_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_BITNOR_I(x, y) BOOST_PP_BITNOR_ ## x ## y +# else +# define BOOST_PP_BITNOR_I(x, y) BOOST_PP_BITNOR_ID(BOOST_PP_BITNOR_ ## x ## y) +# define BOOST_PP_BITNOR_ID(id) id +# endif +# +# define BOOST_PP_BITNOR_00 1 +# define BOOST_PP_BITNOR_01 0 +# define BOOST_PP_BITNOR_10 0 +# define BOOST_PP_BITNOR_11 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitor.hpp new file mode 100644 index 0000000..806e3c7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitor.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BITOR_HPP +# +# include +# +# /* BOOST_PP_BITOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_I(x, y) +# else +# define BOOST_PP_BITOR(x, y) BOOST_PP_BITOR_OO((x, y)) +# define BOOST_PP_BITOR_OO(par) BOOST_PP_BITOR_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ ## x ## y +# else +# define BOOST_PP_BITOR_I(x, y) BOOST_PP_BITOR_ID(BOOST_PP_BITOR_ ## x ## y) +# define BOOST_PP_BITOR_ID(id) id +# endif +# +# define BOOST_PP_BITOR_00 0 +# define BOOST_PP_BITOR_01 1 +# define BOOST_PP_BITOR_10 1 +# define BOOST_PP_BITOR_11 1 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitxor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitxor.hpp new file mode 100644 index 0000000..3e393c2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bitxor.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BITXOR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BITXOR_HPP +# +# include +# +# /* BOOST_PP_BITXOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BITXOR(x, y) BOOST_PP_BITXOR_I(x, y) +# else +# define BOOST_PP_BITXOR(x, y) BOOST_PP_BITXOR_OO((x, y)) +# define BOOST_PP_BITXOR_OO(par) BOOST_PP_BITXOR_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_BITXOR_I(x, y) BOOST_PP_BITXOR_ ## x ## y +# else +# define BOOST_PP_BITXOR_I(x, y) BOOST_PP_BITXOR_ID(BOOST_PP_BITXOR_ ## x ## y) +# define BOOST_PP_BITXOR_ID(id) id +# endif +# +# define BOOST_PP_BITXOR_00 0 +# define BOOST_PP_BITXOR_01 1 +# define BOOST_PP_BITXOR_10 1 +# define BOOST_PP_BITXOR_11 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bool.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bool.hpp new file mode 100644 index 0000000..5c60ad7 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/bool.hpp @@ -0,0 +1,288 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP +# define BOOST_PREPROCESSOR_LOGICAL_BOOL_HPP +# +# include +# +# /* BOOST_PP_BOOL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_I(x) +# else +# define BOOST_PP_BOOL(x) BOOST_PP_BOOL_OO((x)) +# define BOOST_PP_BOOL_OO(par) BOOST_PP_BOOL_I ## par +# endif +# +# define BOOST_PP_BOOL_I(x) BOOST_PP_BOOL_ ## x +# +# define BOOST_PP_BOOL_0 0 +# define BOOST_PP_BOOL_1 1 +# define BOOST_PP_BOOL_2 1 +# define BOOST_PP_BOOL_3 1 +# define BOOST_PP_BOOL_4 1 +# define BOOST_PP_BOOL_5 1 +# define BOOST_PP_BOOL_6 1 +# define BOOST_PP_BOOL_7 1 +# define BOOST_PP_BOOL_8 1 +# define BOOST_PP_BOOL_9 1 +# define BOOST_PP_BOOL_10 1 +# define BOOST_PP_BOOL_11 1 +# define BOOST_PP_BOOL_12 1 +# define BOOST_PP_BOOL_13 1 +# define BOOST_PP_BOOL_14 1 +# define BOOST_PP_BOOL_15 1 +# define BOOST_PP_BOOL_16 1 +# define BOOST_PP_BOOL_17 1 +# define BOOST_PP_BOOL_18 1 +# define BOOST_PP_BOOL_19 1 +# define BOOST_PP_BOOL_20 1 +# define BOOST_PP_BOOL_21 1 +# define BOOST_PP_BOOL_22 1 +# define BOOST_PP_BOOL_23 1 +# define BOOST_PP_BOOL_24 1 +# define BOOST_PP_BOOL_25 1 +# define BOOST_PP_BOOL_26 1 +# define BOOST_PP_BOOL_27 1 +# define BOOST_PP_BOOL_28 1 +# define BOOST_PP_BOOL_29 1 +# define BOOST_PP_BOOL_30 1 +# define BOOST_PP_BOOL_31 1 +# define BOOST_PP_BOOL_32 1 +# define BOOST_PP_BOOL_33 1 +# define BOOST_PP_BOOL_34 1 +# define BOOST_PP_BOOL_35 1 +# define BOOST_PP_BOOL_36 1 +# define BOOST_PP_BOOL_37 1 +# define BOOST_PP_BOOL_38 1 +# define BOOST_PP_BOOL_39 1 +# define BOOST_PP_BOOL_40 1 +# define BOOST_PP_BOOL_41 1 +# define BOOST_PP_BOOL_42 1 +# define BOOST_PP_BOOL_43 1 +# define BOOST_PP_BOOL_44 1 +# define BOOST_PP_BOOL_45 1 +# define BOOST_PP_BOOL_46 1 +# define BOOST_PP_BOOL_47 1 +# define BOOST_PP_BOOL_48 1 +# define BOOST_PP_BOOL_49 1 +# define BOOST_PP_BOOL_50 1 +# define BOOST_PP_BOOL_51 1 +# define BOOST_PP_BOOL_52 1 +# define BOOST_PP_BOOL_53 1 +# define BOOST_PP_BOOL_54 1 +# define BOOST_PP_BOOL_55 1 +# define BOOST_PP_BOOL_56 1 +# define BOOST_PP_BOOL_57 1 +# define BOOST_PP_BOOL_58 1 +# define BOOST_PP_BOOL_59 1 +# define BOOST_PP_BOOL_60 1 +# define BOOST_PP_BOOL_61 1 +# define BOOST_PP_BOOL_62 1 +# define BOOST_PP_BOOL_63 1 +# define BOOST_PP_BOOL_64 1 +# define BOOST_PP_BOOL_65 1 +# define BOOST_PP_BOOL_66 1 +# define BOOST_PP_BOOL_67 1 +# define BOOST_PP_BOOL_68 1 +# define BOOST_PP_BOOL_69 1 +# define BOOST_PP_BOOL_70 1 +# define BOOST_PP_BOOL_71 1 +# define BOOST_PP_BOOL_72 1 +# define BOOST_PP_BOOL_73 1 +# define BOOST_PP_BOOL_74 1 +# define BOOST_PP_BOOL_75 1 +# define BOOST_PP_BOOL_76 1 +# define BOOST_PP_BOOL_77 1 +# define BOOST_PP_BOOL_78 1 +# define BOOST_PP_BOOL_79 1 +# define BOOST_PP_BOOL_80 1 +# define BOOST_PP_BOOL_81 1 +# define BOOST_PP_BOOL_82 1 +# define BOOST_PP_BOOL_83 1 +# define BOOST_PP_BOOL_84 1 +# define BOOST_PP_BOOL_85 1 +# define BOOST_PP_BOOL_86 1 +# define BOOST_PP_BOOL_87 1 +# define BOOST_PP_BOOL_88 1 +# define BOOST_PP_BOOL_89 1 +# define BOOST_PP_BOOL_90 1 +# define BOOST_PP_BOOL_91 1 +# define BOOST_PP_BOOL_92 1 +# define BOOST_PP_BOOL_93 1 +# define BOOST_PP_BOOL_94 1 +# define BOOST_PP_BOOL_95 1 +# define BOOST_PP_BOOL_96 1 +# define BOOST_PP_BOOL_97 1 +# define BOOST_PP_BOOL_98 1 +# define BOOST_PP_BOOL_99 1 +# define BOOST_PP_BOOL_100 1 +# define BOOST_PP_BOOL_101 1 +# define BOOST_PP_BOOL_102 1 +# define BOOST_PP_BOOL_103 1 +# define BOOST_PP_BOOL_104 1 +# define BOOST_PP_BOOL_105 1 +# define BOOST_PP_BOOL_106 1 +# define BOOST_PP_BOOL_107 1 +# define BOOST_PP_BOOL_108 1 +# define BOOST_PP_BOOL_109 1 +# define BOOST_PP_BOOL_110 1 +# define BOOST_PP_BOOL_111 1 +# define BOOST_PP_BOOL_112 1 +# define BOOST_PP_BOOL_113 1 +# define BOOST_PP_BOOL_114 1 +# define BOOST_PP_BOOL_115 1 +# define BOOST_PP_BOOL_116 1 +# define BOOST_PP_BOOL_117 1 +# define BOOST_PP_BOOL_118 1 +# define BOOST_PP_BOOL_119 1 +# define BOOST_PP_BOOL_120 1 +# define BOOST_PP_BOOL_121 1 +# define BOOST_PP_BOOL_122 1 +# define BOOST_PP_BOOL_123 1 +# define BOOST_PP_BOOL_124 1 +# define BOOST_PP_BOOL_125 1 +# define BOOST_PP_BOOL_126 1 +# define BOOST_PP_BOOL_127 1 +# define BOOST_PP_BOOL_128 1 +# define BOOST_PP_BOOL_129 1 +# define BOOST_PP_BOOL_130 1 +# define BOOST_PP_BOOL_131 1 +# define BOOST_PP_BOOL_132 1 +# define BOOST_PP_BOOL_133 1 +# define BOOST_PP_BOOL_134 1 +# define BOOST_PP_BOOL_135 1 +# define BOOST_PP_BOOL_136 1 +# define BOOST_PP_BOOL_137 1 +# define BOOST_PP_BOOL_138 1 +# define BOOST_PP_BOOL_139 1 +# define BOOST_PP_BOOL_140 1 +# define BOOST_PP_BOOL_141 1 +# define BOOST_PP_BOOL_142 1 +# define BOOST_PP_BOOL_143 1 +# define BOOST_PP_BOOL_144 1 +# define BOOST_PP_BOOL_145 1 +# define BOOST_PP_BOOL_146 1 +# define BOOST_PP_BOOL_147 1 +# define BOOST_PP_BOOL_148 1 +# define BOOST_PP_BOOL_149 1 +# define BOOST_PP_BOOL_150 1 +# define BOOST_PP_BOOL_151 1 +# define BOOST_PP_BOOL_152 1 +# define BOOST_PP_BOOL_153 1 +# define BOOST_PP_BOOL_154 1 +# define BOOST_PP_BOOL_155 1 +# define BOOST_PP_BOOL_156 1 +# define BOOST_PP_BOOL_157 1 +# define BOOST_PP_BOOL_158 1 +# define BOOST_PP_BOOL_159 1 +# define BOOST_PP_BOOL_160 1 +# define BOOST_PP_BOOL_161 1 +# define BOOST_PP_BOOL_162 1 +# define BOOST_PP_BOOL_163 1 +# define BOOST_PP_BOOL_164 1 +# define BOOST_PP_BOOL_165 1 +# define BOOST_PP_BOOL_166 1 +# define BOOST_PP_BOOL_167 1 +# define BOOST_PP_BOOL_168 1 +# define BOOST_PP_BOOL_169 1 +# define BOOST_PP_BOOL_170 1 +# define BOOST_PP_BOOL_171 1 +# define BOOST_PP_BOOL_172 1 +# define BOOST_PP_BOOL_173 1 +# define BOOST_PP_BOOL_174 1 +# define BOOST_PP_BOOL_175 1 +# define BOOST_PP_BOOL_176 1 +# define BOOST_PP_BOOL_177 1 +# define BOOST_PP_BOOL_178 1 +# define BOOST_PP_BOOL_179 1 +# define BOOST_PP_BOOL_180 1 +# define BOOST_PP_BOOL_181 1 +# define BOOST_PP_BOOL_182 1 +# define BOOST_PP_BOOL_183 1 +# define BOOST_PP_BOOL_184 1 +# define BOOST_PP_BOOL_185 1 +# define BOOST_PP_BOOL_186 1 +# define BOOST_PP_BOOL_187 1 +# define BOOST_PP_BOOL_188 1 +# define BOOST_PP_BOOL_189 1 +# define BOOST_PP_BOOL_190 1 +# define BOOST_PP_BOOL_191 1 +# define BOOST_PP_BOOL_192 1 +# define BOOST_PP_BOOL_193 1 +# define BOOST_PP_BOOL_194 1 +# define BOOST_PP_BOOL_195 1 +# define BOOST_PP_BOOL_196 1 +# define BOOST_PP_BOOL_197 1 +# define BOOST_PP_BOOL_198 1 +# define BOOST_PP_BOOL_199 1 +# define BOOST_PP_BOOL_200 1 +# define BOOST_PP_BOOL_201 1 +# define BOOST_PP_BOOL_202 1 +# define BOOST_PP_BOOL_203 1 +# define BOOST_PP_BOOL_204 1 +# define BOOST_PP_BOOL_205 1 +# define BOOST_PP_BOOL_206 1 +# define BOOST_PP_BOOL_207 1 +# define BOOST_PP_BOOL_208 1 +# define BOOST_PP_BOOL_209 1 +# define BOOST_PP_BOOL_210 1 +# define BOOST_PP_BOOL_211 1 +# define BOOST_PP_BOOL_212 1 +# define BOOST_PP_BOOL_213 1 +# define BOOST_PP_BOOL_214 1 +# define BOOST_PP_BOOL_215 1 +# define BOOST_PP_BOOL_216 1 +# define BOOST_PP_BOOL_217 1 +# define BOOST_PP_BOOL_218 1 +# define BOOST_PP_BOOL_219 1 +# define BOOST_PP_BOOL_220 1 +# define BOOST_PP_BOOL_221 1 +# define BOOST_PP_BOOL_222 1 +# define BOOST_PP_BOOL_223 1 +# define BOOST_PP_BOOL_224 1 +# define BOOST_PP_BOOL_225 1 +# define BOOST_PP_BOOL_226 1 +# define BOOST_PP_BOOL_227 1 +# define BOOST_PP_BOOL_228 1 +# define BOOST_PP_BOOL_229 1 +# define BOOST_PP_BOOL_230 1 +# define BOOST_PP_BOOL_231 1 +# define BOOST_PP_BOOL_232 1 +# define BOOST_PP_BOOL_233 1 +# define BOOST_PP_BOOL_234 1 +# define BOOST_PP_BOOL_235 1 +# define BOOST_PP_BOOL_236 1 +# define BOOST_PP_BOOL_237 1 +# define BOOST_PP_BOOL_238 1 +# define BOOST_PP_BOOL_239 1 +# define BOOST_PP_BOOL_240 1 +# define BOOST_PP_BOOL_241 1 +# define BOOST_PP_BOOL_242 1 +# define BOOST_PP_BOOL_243 1 +# define BOOST_PP_BOOL_244 1 +# define BOOST_PP_BOOL_245 1 +# define BOOST_PP_BOOL_246 1 +# define BOOST_PP_BOOL_247 1 +# define BOOST_PP_BOOL_248 1 +# define BOOST_PP_BOOL_249 1 +# define BOOST_PP_BOOL_250 1 +# define BOOST_PP_BOOL_251 1 +# define BOOST_PP_BOOL_252 1 +# define BOOST_PP_BOOL_253 1 +# define BOOST_PP_BOOL_254 1 +# define BOOST_PP_BOOL_255 1 +# define BOOST_PP_BOOL_256 1 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/compl.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/compl.hpp new file mode 100644 index 0000000..751068b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/compl.hpp @@ -0,0 +1,36 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP +# define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP +# +# include +# +# /* BOOST_PP_COMPL */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x) +# else +# define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x)) +# define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x +# else +# define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x) +# define BOOST_PP_COMPL_ID(id) id +# endif +# +# define BOOST_PP_COMPL_0 1 +# define BOOST_PP_COMPL_1 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/nor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/nor.hpp new file mode 100644 index 0000000..9d950c3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/nor.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_NOR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_NOR_HPP +# +# include +# include +# include +# +# /* BOOST_PP_NOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_NOR(p, q) BOOST_PP_BITNOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# else +# define BOOST_PP_NOR(p, q) BOOST_PP_NOR_I(p, q) +# define BOOST_PP_NOR_I(p, q) BOOST_PP_BITNOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/not.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/not.hpp new file mode 100644 index 0000000..67feb66 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/not.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_NOT_HPP +# define BOOST_PREPROCESSOR_LOGICAL_NOT_HPP +# +# include +# include +# include +# +# /* BOOST_PP_NOT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_NOT(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x)) +# else +# define BOOST_PP_NOT(x) BOOST_PP_NOT_I(x) +# define BOOST_PP_NOT_I(x) BOOST_PP_COMPL(BOOST_PP_BOOL(x)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/or.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/or.hpp new file mode 100644 index 0000000..9b47c57 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/or.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_OR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_OR_HPP +# +# include +# include +# include +# +# /* BOOST_PP_OR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_OR(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# else +# define BOOST_PP_OR(p, q) BOOST_PP_OR_I(p, q) +# define BOOST_PP_OR_I(p, q) BOOST_PP_BITOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/xor.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/xor.hpp new file mode 100644 index 0000000..d234f77 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/logical/xor.hpp @@ -0,0 +1,30 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_LOGICAL_XOR_HPP +# define BOOST_PREPROCESSOR_LOGICAL_XOR_HPP +# +# include +# include +# include +# +# /* BOOST_PP_XOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_XOR(p, q) BOOST_PP_BITXOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# else +# define BOOST_PP_XOR(p, q) BOOST_PP_XOR_I(p, q) +# define BOOST_PP_XOR_I(p, q) BOOST_PP_BITXOR(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/max.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/max.hpp new file mode 100644 index 0000000..0ffbab8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/max.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_MAX_HPP +# define BOOST_PREPROCESSOR_MAX_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/min.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/min.hpp new file mode 100644 index 0000000..6b98f5d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/min.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_MIN_HPP +# define BOOST_PREPROCESSOR_MIN_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation.hpp new file mode 100644 index 0000000..f48db7f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation.hpp @@ -0,0 +1,20 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_HPP +# +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma.hpp new file mode 100644 index 0000000..405effd --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma.hpp @@ -0,0 +1,21 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP +# +# /* BOOST_PP_COMMA */ +# +# define BOOST_PP_COMMA() , +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma_if.hpp new file mode 100644 index 0000000..04cc079 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/comma_if.hpp @@ -0,0 +1,31 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_COMMA_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() +# else +# define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond) +# define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)() +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren.hpp new file mode 100644 index 0000000..66b25d8 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren.hpp @@ -0,0 +1,23 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_HPP +# +# /* BOOST_PP_LPAREN */ +# +# define BOOST_PP_LPAREN() ( +# +# /* BOOST_PP_RPAREN */ +# +# define BOOST_PP_RPAREN() ) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren_if.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren_if.hpp new file mode 100644 index 0000000..665b8be --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/punctuation/paren_if.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_PUNCTUATION_PAREN_IF_HPP +# define BOOST_PREPROCESSOR_PUNCTUATION_PAREN_IF_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_LPAREN_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_LPAREN_IF(cond) BOOST_PP_IF(cond, BOOST_PP_LPAREN, BOOST_PP_EMPTY)() +# else +# define BOOST_PP_LPAREN_IF(cond) BOOST_PP_LPAREN_IF_I(cond) +# define BOOST_PP_LPAREN_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_LPAREN, BOOST_PP_EMPTY)() +# endif +# +# /* BOOST_PP_RPAREN_IF */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_RPAREN_IF(cond) BOOST_PP_IF(cond, BOOST_PP_RPAREN, BOOST_PP_EMPTY)() +# else +# define BOOST_PP_RPAREN_IF(cond) BOOST_PP_RPAREN_IF_I(cond) +# define BOOST_PP_RPAREN_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_RPAREN, BOOST_PP_EMPTY)() +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat.hpp new file mode 100644 index 0000000..0893c13 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_HPP +# define BOOST_PREPROCESSOR_REPEAT_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_2nd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_2nd.hpp new file mode 100644 index 0000000..5f2b678 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_2nd.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_2ND_HPP +# define BOOST_PREPROCESSOR_REPEAT_2ND_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_3rd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_3rd.hpp new file mode 100644 index 0000000..b22c454 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_3rd.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_3RD_HPP +# define BOOST_PREPROCESSOR_REPEAT_3RD_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to.hpp new file mode 100644 index 0000000..f8d7cef --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP +# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_2nd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_2nd.hpp new file mode 100644 index 0000000..e29ce2e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_2nd.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP +# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_2ND_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_3rd.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_3rd.hpp new file mode 100644 index 0000000..5baad73 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repeat_from_to_3rd.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP +# define BOOST_PREPROCESSOR_REPEAT_FROM_TO_3RD_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition.hpp new file mode 100644 index 0000000..33f74ee --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition.hpp @@ -0,0 +1,32 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_HPP +# define BOOST_PREPROCESSOR_REPETITION_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_r.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_r.hpp new file mode 100644 index 0000000..b90cb00 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_r.hpp @@ -0,0 +1,22 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DEDUCE_R_HPP +# define BOOST_PREPROCESSOR_REPETITION_DEDUCE_R_HPP +# +# include +# include +# +# /* BOOST_PP_DEDUCE_R */ +# +# define BOOST_PP_DEDUCE_R() BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_z.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_z.hpp new file mode 100644 index 0000000..a1215d0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/deduce_z.hpp @@ -0,0 +1,22 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DEDUCE_Z_HPP +# define BOOST_PREPROCESSOR_REPETITION_DEDUCE_Z_HPP +# +# include +# include +# +# /* BOOST_PP_DEDUCE_Z */ +# +# define BOOST_PP_DEDUCE_Z() BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/dmc/for.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/dmc/for.hpp new file mode 100644 index 0000000..70e506e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/dmc/for.hpp @@ -0,0 +1,536 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p##(2, s)), s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p##(3, s)), s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p##(4, s)), s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p##(5, s)), s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p##(6, s)), s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p##(7, s)), s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p##(8, s)), s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p##(9, s)), s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p##(10, s)), s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p##(11, s)), s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p##(12, s)), s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p##(13, s)), s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p##(14, s)), s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p##(15, s)), s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p##(16, s)), s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p##(17, s)), s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p##(18, s)), s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p##(19, s)), s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p##(20, s)), s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p##(21, s)), s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p##(22, s)), s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p##(23, s)), s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p##(24, s)), s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p##(25, s)), s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p##(26, s)), s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p##(27, s)), s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p##(28, s)), s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p##(29, s)), s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p##(30, s)), s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p##(31, s)), s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p##(32, s)), s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p##(33, s)), s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p##(34, s)), s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p##(35, s)), s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p##(36, s)), s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p##(37, s)), s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p##(38, s)), s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p##(39, s)), s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p##(40, s)), s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p##(41, s)), s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p##(42, s)), s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p##(43, s)), s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p##(44, s)), s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p##(45, s)), s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p##(46, s)), s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p##(47, s)), s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p##(48, s)), s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p##(49, s)), s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p##(50, s)), s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p##(51, s)), s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p##(52, s)), s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p##(53, s)), s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p##(54, s)), s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p##(55, s)), s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p##(56, s)), s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p##(57, s)), s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p##(58, s)), s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p##(59, s)), s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p##(60, s)), s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p##(61, s)), s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p##(62, s)), s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p##(63, s)), s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p##(64, s)), s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p##(65, s)), s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p##(66, s)), s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p##(67, s)), s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p##(68, s)), s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p##(69, s)), s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p##(70, s)), s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p##(71, s)), s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p##(72, s)), s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p##(73, s)), s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p##(74, s)), s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p##(75, s)), s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p##(76, s)), s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p##(77, s)), s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p##(78, s)), s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p##(79, s)), s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p##(80, s)), s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p##(81, s)), s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p##(82, s)), s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p##(83, s)), s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p##(84, s)), s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p##(85, s)), s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p##(86, s)), s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p##(87, s)), s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p##(88, s)), s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p##(89, s)), s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p##(90, s)), s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p##(91, s)), s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p##(92, s)), s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p##(93, s)), s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p##(94, s)), s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p##(95, s)), s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p##(96, s)), s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p##(97, s)), s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p##(98, s)), s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p##(99, s)), s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p##(100, s)), s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p##(101, s)), s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p##(102, s)), s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p##(103, s)), s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p##(104, s)), s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p##(105, s)), s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p##(106, s)), s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p##(107, s)), s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p##(108, s)), s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p##(109, s)), s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p##(110, s)), s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p##(111, s)), s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p##(112, s)), s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p##(113, s)), s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p##(114, s)), s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p##(115, s)), s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p##(116, s)), s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p##(117, s)), s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p##(118, s)), s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p##(119, s)), s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p##(120, s)), s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p##(121, s)), s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p##(122, s)), s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p##(123, s)), s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p##(124, s)), s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p##(125, s)), s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p##(126, s)), s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p##(127, s)), s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p##(128, s)), s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p##(129, s)), s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p##(130, s)), s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p##(131, s)), s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p##(132, s)), s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p##(133, s)), s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p##(134, s)), s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p##(135, s)), s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p##(136, s)), s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p##(137, s)), s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p##(138, s)), s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p##(139, s)), s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p##(140, s)), s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p##(141, s)), s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p##(142, s)), s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p##(143, s)), s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p##(144, s)), s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p##(145, s)), s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p##(146, s)), s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p##(147, s)), s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p##(148, s)), s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p##(149, s)), s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p##(150, s)), s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p##(151, s)), s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p##(152, s)), s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p##(153, s)), s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p##(154, s)), s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p##(155, s)), s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p##(156, s)), s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p##(157, s)), s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p##(158, s)), s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p##(159, s)), s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p##(160, s)), s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p##(161, s)), s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p##(162, s)), s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p##(163, s)), s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p##(164, s)), s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p##(165, s)), s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p##(166, s)), s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p##(167, s)), s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p##(168, s)), s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p##(169, s)), s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p##(170, s)), s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p##(171, s)), s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p##(172, s)), s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p##(173, s)), s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p##(174, s)), s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p##(175, s)), s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p##(176, s)), s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p##(177, s)), s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p##(178, s)), s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p##(179, s)), s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p##(180, s)), s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p##(181, s)), s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p##(182, s)), s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p##(183, s)), s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p##(184, s)), s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p##(185, s)), s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p##(186, s)), s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p##(187, s)), s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p##(188, s)), s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p##(189, s)), s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p##(190, s)), s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p##(191, s)), s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p##(192, s)), s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p##(193, s)), s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p##(194, s)), s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p##(195, s)), s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p##(196, s)), s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p##(197, s)), s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p##(198, s)), s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p##(199, s)), s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p##(200, s)), s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p##(201, s)), s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p##(202, s)), s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p##(203, s)), s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p##(204, s)), s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p##(205, s)), s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p##(206, s)), s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p##(207, s)), s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p##(208, s)), s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p##(209, s)), s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p##(210, s)), s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p##(211, s)), s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p##(212, s)), s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p##(213, s)), s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p##(214, s)), s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p##(215, s)), s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p##(216, s)), s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p##(217, s)), s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p##(218, s)), s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p##(219, s)), s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p##(220, s)), s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p##(221, s)), s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p##(222, s)), s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p##(223, s)), s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p##(224, s)), s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p##(225, s)), s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p##(226, s)), s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p##(227, s)), s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p##(228, s)), s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p##(229, s)), s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p##(230, s)), s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p##(231, s)), s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p##(232, s)), s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p##(233, s)), s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p##(234, s)), s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p##(235, s)), s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p##(236, s)), s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p##(237, s)), s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p##(238, s)), s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p##(239, s)), s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p##(240, s)), s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p##(241, s)), s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p##(242, s)), s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p##(243, s)), s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p##(244, s)), s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p##(245, s)), s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p##(246, s)), s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p##(247, s)), s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p##(248, s)), s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p##(249, s)), s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p##(250, s)), s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p##(251, s)), s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p##(252, s)), s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p##(253, s)), s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p##(254, s)), s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p##(255, s)), s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p##(256, s)), s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p##(257, s)), s, p, o, m) +# +# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) +# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) +# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) +# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) +# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) +# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) +# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) +# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) +# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) +# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) +# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) +# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) +# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) +# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) +# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) +# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) +# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) +# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) +# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) +# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) +# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) +# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) +# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) +# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) +# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) +# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) +# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) +# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) +# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) +# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) +# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) +# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) +# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) +# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) +# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) +# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) +# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) +# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) +# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) +# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) +# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) +# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) +# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) +# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) +# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) +# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) +# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) +# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) +# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) +# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) +# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) +# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) +# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) +# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) +# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) +# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) +# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) +# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) +# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) +# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) +# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) +# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) +# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) +# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) +# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) +# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) +# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) +# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) +# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) +# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) +# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) +# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) +# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) +# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) +# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) +# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) +# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) +# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) +# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) +# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) +# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) +# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) +# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) +# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) +# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) +# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) +# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) +# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) +# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) +# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) +# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) +# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) +# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) +# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) +# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) +# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) +# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) +# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) +# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) +# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) +# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) +# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) +# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) +# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) +# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) +# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) +# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) +# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) +# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) +# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) +# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) +# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) +# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) +# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) +# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) +# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) +# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) +# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) +# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) +# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) +# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) +# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) +# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) +# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) +# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) +# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) +# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) +# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) +# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) +# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) +# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) +# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) +# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) +# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) +# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) +# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) +# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) +# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) +# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) +# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) +# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) +# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) +# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) +# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) +# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) +# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) +# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) +# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) +# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) +# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) +# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) +# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) +# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) +# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) +# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) +# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) +# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) +# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) +# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) +# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) +# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) +# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) +# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) +# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) +# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) +# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) +# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) +# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) +# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) +# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) +# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) +# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) +# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) +# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) +# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) +# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) +# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) +# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) +# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) +# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) +# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) +# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) +# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) +# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) +# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) +# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) +# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) +# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) +# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) +# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) +# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) +# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) +# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) +# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) +# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) +# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) +# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) +# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) +# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) +# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) +# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) +# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) +# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) +# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) +# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) +# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) +# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) +# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) +# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) +# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) +# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) +# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) +# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) +# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) +# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) +# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) +# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) +# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) +# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) +# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) +# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) +# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) +# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) +# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) +# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) +# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) +# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) +# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) +# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) +# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) +# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) +# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) +# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) +# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) +# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) +# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) +# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) +# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) +# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) +# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) +# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) +# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) +# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) +# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) +# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) +# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) +# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) +# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) +# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) +# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) +# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) +# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) +# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) +# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) +# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) +# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/edg/for.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/edg/for.hpp new file mode 100644 index 0000000..ed7364c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/edg/for.hpp @@ -0,0 +1,534 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_EDG_FOR_HPP +# +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_I(s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_I(s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_I(s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_I(s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_I(s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_I(s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_I(s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_I(s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_I(s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_I(s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_I(s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_I(s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_I(s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_I(s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_I(s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_I(s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_I(s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_I(s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_I(s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_I(s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_I(s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_I(s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_I(s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_I(s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_I(s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_I(s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_I(s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_I(s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_I(s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_I(s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_I(s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_I(s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_I(s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_I(s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_I(s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_I(s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_I(s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_I(s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_I(s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_I(s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_I(s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_I(s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_I(s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_I(s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_I(s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_I(s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_I(s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_I(s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_I(s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_I(s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_I(s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_I(s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_I(s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_I(s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_I(s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_I(s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_I(s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_I(s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_I(s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_I(s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_I(s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_I(s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_I(s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_I(s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_I(s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_I(s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_I(s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_I(s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_I(s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_I(s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_I(s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_I(s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_I(s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_I(s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_I(s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_I(s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_I(s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_I(s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_I(s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_I(s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_I(s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_I(s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_I(s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_I(s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_I(s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_I(s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_I(s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_I(s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_I(s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_I(s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_I(s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_I(s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_I(s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_I(s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_I(s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_I(s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_I(s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_I(s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_I(s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_I(s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_I(s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_I(s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_I(s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_I(s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_I(s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_I(s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_I(s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_I(s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_I(s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_I(s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_I(s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_I(s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_I(s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_I(s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_I(s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_I(s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_I(s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_I(s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_I(s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_I(s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_I(s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_I(s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_I(s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_I(s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_I(s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_I(s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_I(s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_I(s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_I(s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_I(s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_I(s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_I(s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_I(s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_I(s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_I(s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_I(s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_I(s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_I(s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_I(s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_I(s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_I(s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_I(s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_I(s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_I(s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_I(s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_I(s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_I(s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_I(s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_I(s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_I(s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_I(s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_I(s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_I(s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_I(s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_I(s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_I(s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_I(s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_I(s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_I(s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_I(s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_I(s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_I(s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_I(s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_I(s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_I(s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_I(s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_I(s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_I(s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_I(s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_I(s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_I(s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_I(s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_I(s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_I(s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_I(s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_I(s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_I(s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_I(s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_I(s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_I(s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_I(s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_I(s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_I(s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_I(s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_I(s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_I(s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_I(s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_I(s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_I(s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_I(s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_I(s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_I(s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_I(s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_I(s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_I(s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_I(s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_I(s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_I(s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_I(s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_I(s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_I(s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_I(s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_I(s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_I(s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_I(s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_I(s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_I(s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_I(s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_I(s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_I(s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_I(s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_I(s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_I(s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_I(s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_I(s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_I(s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_I(s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_I(s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_I(s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_I(s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_I(s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_I(s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_I(s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_I(s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_I(s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_I(s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_I(s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_I(s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_I(s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_I(s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_I(s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_I(s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_I(s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_I(s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_I(s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_I(s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_I(s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_I(s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_I(s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_I(s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_I(s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_I(s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_I(s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_I(s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_I(s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_I(s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_I(s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_I(s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_I(s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_I(s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_I(s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_I(s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_I(s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_I(s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_I(s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_I(s, p, o, m) +# +# define BOOST_PP_FOR_1_I(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) +# define BOOST_PP_FOR_2_I(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) +# define BOOST_PP_FOR_3_I(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) +# define BOOST_PP_FOR_4_I(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) +# define BOOST_PP_FOR_5_I(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) +# define BOOST_PP_FOR_6_I(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) +# define BOOST_PP_FOR_7_I(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) +# define BOOST_PP_FOR_8_I(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) +# define BOOST_PP_FOR_9_I(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) +# define BOOST_PP_FOR_10_I(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) +# define BOOST_PP_FOR_11_I(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) +# define BOOST_PP_FOR_12_I(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) +# define BOOST_PP_FOR_13_I(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) +# define BOOST_PP_FOR_14_I(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) +# define BOOST_PP_FOR_15_I(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) +# define BOOST_PP_FOR_16_I(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) +# define BOOST_PP_FOR_17_I(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) +# define BOOST_PP_FOR_18_I(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) +# define BOOST_PP_FOR_19_I(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) +# define BOOST_PP_FOR_20_I(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) +# define BOOST_PP_FOR_21_I(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) +# define BOOST_PP_FOR_22_I(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) +# define BOOST_PP_FOR_23_I(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) +# define BOOST_PP_FOR_24_I(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) +# define BOOST_PP_FOR_25_I(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) +# define BOOST_PP_FOR_26_I(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) +# define BOOST_PP_FOR_27_I(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) +# define BOOST_PP_FOR_28_I(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) +# define BOOST_PP_FOR_29_I(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) +# define BOOST_PP_FOR_30_I(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) +# define BOOST_PP_FOR_31_I(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) +# define BOOST_PP_FOR_32_I(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) +# define BOOST_PP_FOR_33_I(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) +# define BOOST_PP_FOR_34_I(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) +# define BOOST_PP_FOR_35_I(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) +# define BOOST_PP_FOR_36_I(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) +# define BOOST_PP_FOR_37_I(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) +# define BOOST_PP_FOR_38_I(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) +# define BOOST_PP_FOR_39_I(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) +# define BOOST_PP_FOR_40_I(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) +# define BOOST_PP_FOR_41_I(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) +# define BOOST_PP_FOR_42_I(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) +# define BOOST_PP_FOR_43_I(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) +# define BOOST_PP_FOR_44_I(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) +# define BOOST_PP_FOR_45_I(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) +# define BOOST_PP_FOR_46_I(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) +# define BOOST_PP_FOR_47_I(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) +# define BOOST_PP_FOR_48_I(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) +# define BOOST_PP_FOR_49_I(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) +# define BOOST_PP_FOR_50_I(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) +# define BOOST_PP_FOR_51_I(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) +# define BOOST_PP_FOR_52_I(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) +# define BOOST_PP_FOR_53_I(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) +# define BOOST_PP_FOR_54_I(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) +# define BOOST_PP_FOR_55_I(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) +# define BOOST_PP_FOR_56_I(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) +# define BOOST_PP_FOR_57_I(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) +# define BOOST_PP_FOR_58_I(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) +# define BOOST_PP_FOR_59_I(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) +# define BOOST_PP_FOR_60_I(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) +# define BOOST_PP_FOR_61_I(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) +# define BOOST_PP_FOR_62_I(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) +# define BOOST_PP_FOR_63_I(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) +# define BOOST_PP_FOR_64_I(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) +# define BOOST_PP_FOR_65_I(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) +# define BOOST_PP_FOR_66_I(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) +# define BOOST_PP_FOR_67_I(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) +# define BOOST_PP_FOR_68_I(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) +# define BOOST_PP_FOR_69_I(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) +# define BOOST_PP_FOR_70_I(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) +# define BOOST_PP_FOR_71_I(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) +# define BOOST_PP_FOR_72_I(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) +# define BOOST_PP_FOR_73_I(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) +# define BOOST_PP_FOR_74_I(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) +# define BOOST_PP_FOR_75_I(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) +# define BOOST_PP_FOR_76_I(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) +# define BOOST_PP_FOR_77_I(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) +# define BOOST_PP_FOR_78_I(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) +# define BOOST_PP_FOR_79_I(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) +# define BOOST_PP_FOR_80_I(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) +# define BOOST_PP_FOR_81_I(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) +# define BOOST_PP_FOR_82_I(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) +# define BOOST_PP_FOR_83_I(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) +# define BOOST_PP_FOR_84_I(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) +# define BOOST_PP_FOR_85_I(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) +# define BOOST_PP_FOR_86_I(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) +# define BOOST_PP_FOR_87_I(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) +# define BOOST_PP_FOR_88_I(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) +# define BOOST_PP_FOR_89_I(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) +# define BOOST_PP_FOR_90_I(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) +# define BOOST_PP_FOR_91_I(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) +# define BOOST_PP_FOR_92_I(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) +# define BOOST_PP_FOR_93_I(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) +# define BOOST_PP_FOR_94_I(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) +# define BOOST_PP_FOR_95_I(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) +# define BOOST_PP_FOR_96_I(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) +# define BOOST_PP_FOR_97_I(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) +# define BOOST_PP_FOR_98_I(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) +# define BOOST_PP_FOR_99_I(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) +# define BOOST_PP_FOR_100_I(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) +# define BOOST_PP_FOR_101_I(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) +# define BOOST_PP_FOR_102_I(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) +# define BOOST_PP_FOR_103_I(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) +# define BOOST_PP_FOR_104_I(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) +# define BOOST_PP_FOR_105_I(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) +# define BOOST_PP_FOR_106_I(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) +# define BOOST_PP_FOR_107_I(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) +# define BOOST_PP_FOR_108_I(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) +# define BOOST_PP_FOR_109_I(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) +# define BOOST_PP_FOR_110_I(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) +# define BOOST_PP_FOR_111_I(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) +# define BOOST_PP_FOR_112_I(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) +# define BOOST_PP_FOR_113_I(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) +# define BOOST_PP_FOR_114_I(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) +# define BOOST_PP_FOR_115_I(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) +# define BOOST_PP_FOR_116_I(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) +# define BOOST_PP_FOR_117_I(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) +# define BOOST_PP_FOR_118_I(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) +# define BOOST_PP_FOR_119_I(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) +# define BOOST_PP_FOR_120_I(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) +# define BOOST_PP_FOR_121_I(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) +# define BOOST_PP_FOR_122_I(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) +# define BOOST_PP_FOR_123_I(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) +# define BOOST_PP_FOR_124_I(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) +# define BOOST_PP_FOR_125_I(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) +# define BOOST_PP_FOR_126_I(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) +# define BOOST_PP_FOR_127_I(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) +# define BOOST_PP_FOR_128_I(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) +# define BOOST_PP_FOR_129_I(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) +# define BOOST_PP_FOR_130_I(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) +# define BOOST_PP_FOR_131_I(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) +# define BOOST_PP_FOR_132_I(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) +# define BOOST_PP_FOR_133_I(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) +# define BOOST_PP_FOR_134_I(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) +# define BOOST_PP_FOR_135_I(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) +# define BOOST_PP_FOR_136_I(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) +# define BOOST_PP_FOR_137_I(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) +# define BOOST_PP_FOR_138_I(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) +# define BOOST_PP_FOR_139_I(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) +# define BOOST_PP_FOR_140_I(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) +# define BOOST_PP_FOR_141_I(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) +# define BOOST_PP_FOR_142_I(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) +# define BOOST_PP_FOR_143_I(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) +# define BOOST_PP_FOR_144_I(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) +# define BOOST_PP_FOR_145_I(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) +# define BOOST_PP_FOR_146_I(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) +# define BOOST_PP_FOR_147_I(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) +# define BOOST_PP_FOR_148_I(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) +# define BOOST_PP_FOR_149_I(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) +# define BOOST_PP_FOR_150_I(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) +# define BOOST_PP_FOR_151_I(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) +# define BOOST_PP_FOR_152_I(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) +# define BOOST_PP_FOR_153_I(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) +# define BOOST_PP_FOR_154_I(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) +# define BOOST_PP_FOR_155_I(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) +# define BOOST_PP_FOR_156_I(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) +# define BOOST_PP_FOR_157_I(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) +# define BOOST_PP_FOR_158_I(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) +# define BOOST_PP_FOR_159_I(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) +# define BOOST_PP_FOR_160_I(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) +# define BOOST_PP_FOR_161_I(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) +# define BOOST_PP_FOR_162_I(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) +# define BOOST_PP_FOR_163_I(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) +# define BOOST_PP_FOR_164_I(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) +# define BOOST_PP_FOR_165_I(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) +# define BOOST_PP_FOR_166_I(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) +# define BOOST_PP_FOR_167_I(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) +# define BOOST_PP_FOR_168_I(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) +# define BOOST_PP_FOR_169_I(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) +# define BOOST_PP_FOR_170_I(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) +# define BOOST_PP_FOR_171_I(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) +# define BOOST_PP_FOR_172_I(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) +# define BOOST_PP_FOR_173_I(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) +# define BOOST_PP_FOR_174_I(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) +# define BOOST_PP_FOR_175_I(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) +# define BOOST_PP_FOR_176_I(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) +# define BOOST_PP_FOR_177_I(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) +# define BOOST_PP_FOR_178_I(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) +# define BOOST_PP_FOR_179_I(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) +# define BOOST_PP_FOR_180_I(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) +# define BOOST_PP_FOR_181_I(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) +# define BOOST_PP_FOR_182_I(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) +# define BOOST_PP_FOR_183_I(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) +# define BOOST_PP_FOR_184_I(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) +# define BOOST_PP_FOR_185_I(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) +# define BOOST_PP_FOR_186_I(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) +# define BOOST_PP_FOR_187_I(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) +# define BOOST_PP_FOR_188_I(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) +# define BOOST_PP_FOR_189_I(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) +# define BOOST_PP_FOR_190_I(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) +# define BOOST_PP_FOR_191_I(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) +# define BOOST_PP_FOR_192_I(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) +# define BOOST_PP_FOR_193_I(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) +# define BOOST_PP_FOR_194_I(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) +# define BOOST_PP_FOR_195_I(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) +# define BOOST_PP_FOR_196_I(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) +# define BOOST_PP_FOR_197_I(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) +# define BOOST_PP_FOR_198_I(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) +# define BOOST_PP_FOR_199_I(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) +# define BOOST_PP_FOR_200_I(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) +# define BOOST_PP_FOR_201_I(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) +# define BOOST_PP_FOR_202_I(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) +# define BOOST_PP_FOR_203_I(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) +# define BOOST_PP_FOR_204_I(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) +# define BOOST_PP_FOR_205_I(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) +# define BOOST_PP_FOR_206_I(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) +# define BOOST_PP_FOR_207_I(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) +# define BOOST_PP_FOR_208_I(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) +# define BOOST_PP_FOR_209_I(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) +# define BOOST_PP_FOR_210_I(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) +# define BOOST_PP_FOR_211_I(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) +# define BOOST_PP_FOR_212_I(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) +# define BOOST_PP_FOR_213_I(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) +# define BOOST_PP_FOR_214_I(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) +# define BOOST_PP_FOR_215_I(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) +# define BOOST_PP_FOR_216_I(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) +# define BOOST_PP_FOR_217_I(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) +# define BOOST_PP_FOR_218_I(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) +# define BOOST_PP_FOR_219_I(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) +# define BOOST_PP_FOR_220_I(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) +# define BOOST_PP_FOR_221_I(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) +# define BOOST_PP_FOR_222_I(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) +# define BOOST_PP_FOR_223_I(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) +# define BOOST_PP_FOR_224_I(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) +# define BOOST_PP_FOR_225_I(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) +# define BOOST_PP_FOR_226_I(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) +# define BOOST_PP_FOR_227_I(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) +# define BOOST_PP_FOR_228_I(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) +# define BOOST_PP_FOR_229_I(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) +# define BOOST_PP_FOR_230_I(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) +# define BOOST_PP_FOR_231_I(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) +# define BOOST_PP_FOR_232_I(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) +# define BOOST_PP_FOR_233_I(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) +# define BOOST_PP_FOR_234_I(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) +# define BOOST_PP_FOR_235_I(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) +# define BOOST_PP_FOR_236_I(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) +# define BOOST_PP_FOR_237_I(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) +# define BOOST_PP_FOR_238_I(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) +# define BOOST_PP_FOR_239_I(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) +# define BOOST_PP_FOR_240_I(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) +# define BOOST_PP_FOR_241_I(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) +# define BOOST_PP_FOR_242_I(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) +# define BOOST_PP_FOR_243_I(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) +# define BOOST_PP_FOR_244_I(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) +# define BOOST_PP_FOR_245_I(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) +# define BOOST_PP_FOR_246_I(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) +# define BOOST_PP_FOR_247_I(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) +# define BOOST_PP_FOR_248_I(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) +# define BOOST_PP_FOR_249_I(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) +# define BOOST_PP_FOR_250_I(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) +# define BOOST_PP_FOR_251_I(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) +# define BOOST_PP_FOR_252_I(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) +# define BOOST_PP_FOR_253_I(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) +# define BOOST_PP_FOR_254_I(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) +# define BOOST_PP_FOR_255_I(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) +# define BOOST_PP_FOR_256_I(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/for.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/for.hpp new file mode 100644 index 0000000..0fd0d58 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/for.hpp @@ -0,0 +1,536 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_FOR_HPP +# +# include +# include +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_FOR_1_C(BOOST_PP_BOOL(p(2, s)), s, p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_FOR_2_C(BOOST_PP_BOOL(p(3, s)), s, p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_FOR_3_C(BOOST_PP_BOOL(p(4, s)), s, p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_FOR_4_C(BOOST_PP_BOOL(p(5, s)), s, p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_FOR_5_C(BOOST_PP_BOOL(p(6, s)), s, p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_FOR_6_C(BOOST_PP_BOOL(p(7, s)), s, p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_FOR_7_C(BOOST_PP_BOOL(p(8, s)), s, p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_FOR_8_C(BOOST_PP_BOOL(p(9, s)), s, p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_FOR_9_C(BOOST_PP_BOOL(p(10, s)), s, p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_FOR_10_C(BOOST_PP_BOOL(p(11, s)), s, p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_FOR_11_C(BOOST_PP_BOOL(p(12, s)), s, p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_FOR_12_C(BOOST_PP_BOOL(p(13, s)), s, p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_FOR_13_C(BOOST_PP_BOOL(p(14, s)), s, p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_FOR_14_C(BOOST_PP_BOOL(p(15, s)), s, p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_FOR_15_C(BOOST_PP_BOOL(p(16, s)), s, p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_FOR_16_C(BOOST_PP_BOOL(p(17, s)), s, p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_FOR_17_C(BOOST_PP_BOOL(p(18, s)), s, p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_FOR_18_C(BOOST_PP_BOOL(p(19, s)), s, p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_FOR_19_C(BOOST_PP_BOOL(p(20, s)), s, p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_FOR_20_C(BOOST_PP_BOOL(p(21, s)), s, p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_FOR_21_C(BOOST_PP_BOOL(p(22, s)), s, p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_FOR_22_C(BOOST_PP_BOOL(p(23, s)), s, p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_FOR_23_C(BOOST_PP_BOOL(p(24, s)), s, p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_FOR_24_C(BOOST_PP_BOOL(p(25, s)), s, p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_FOR_25_C(BOOST_PP_BOOL(p(26, s)), s, p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_FOR_26_C(BOOST_PP_BOOL(p(27, s)), s, p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_FOR_27_C(BOOST_PP_BOOL(p(28, s)), s, p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_FOR_28_C(BOOST_PP_BOOL(p(29, s)), s, p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_FOR_29_C(BOOST_PP_BOOL(p(30, s)), s, p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_FOR_30_C(BOOST_PP_BOOL(p(31, s)), s, p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_FOR_31_C(BOOST_PP_BOOL(p(32, s)), s, p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_FOR_32_C(BOOST_PP_BOOL(p(33, s)), s, p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_FOR_33_C(BOOST_PP_BOOL(p(34, s)), s, p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_FOR_34_C(BOOST_PP_BOOL(p(35, s)), s, p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_FOR_35_C(BOOST_PP_BOOL(p(36, s)), s, p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_FOR_36_C(BOOST_PP_BOOL(p(37, s)), s, p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_FOR_37_C(BOOST_PP_BOOL(p(38, s)), s, p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_FOR_38_C(BOOST_PP_BOOL(p(39, s)), s, p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_FOR_39_C(BOOST_PP_BOOL(p(40, s)), s, p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_FOR_40_C(BOOST_PP_BOOL(p(41, s)), s, p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_FOR_41_C(BOOST_PP_BOOL(p(42, s)), s, p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_FOR_42_C(BOOST_PP_BOOL(p(43, s)), s, p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_FOR_43_C(BOOST_PP_BOOL(p(44, s)), s, p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_FOR_44_C(BOOST_PP_BOOL(p(45, s)), s, p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_FOR_45_C(BOOST_PP_BOOL(p(46, s)), s, p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_FOR_46_C(BOOST_PP_BOOL(p(47, s)), s, p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_FOR_47_C(BOOST_PP_BOOL(p(48, s)), s, p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_FOR_48_C(BOOST_PP_BOOL(p(49, s)), s, p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_FOR_49_C(BOOST_PP_BOOL(p(50, s)), s, p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_FOR_50_C(BOOST_PP_BOOL(p(51, s)), s, p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_FOR_51_C(BOOST_PP_BOOL(p(52, s)), s, p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_FOR_52_C(BOOST_PP_BOOL(p(53, s)), s, p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_FOR_53_C(BOOST_PP_BOOL(p(54, s)), s, p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_FOR_54_C(BOOST_PP_BOOL(p(55, s)), s, p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_FOR_55_C(BOOST_PP_BOOL(p(56, s)), s, p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_FOR_56_C(BOOST_PP_BOOL(p(57, s)), s, p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_FOR_57_C(BOOST_PP_BOOL(p(58, s)), s, p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_FOR_58_C(BOOST_PP_BOOL(p(59, s)), s, p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_FOR_59_C(BOOST_PP_BOOL(p(60, s)), s, p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_FOR_60_C(BOOST_PP_BOOL(p(61, s)), s, p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_FOR_61_C(BOOST_PP_BOOL(p(62, s)), s, p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_FOR_62_C(BOOST_PP_BOOL(p(63, s)), s, p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_FOR_63_C(BOOST_PP_BOOL(p(64, s)), s, p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_FOR_64_C(BOOST_PP_BOOL(p(65, s)), s, p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_FOR_65_C(BOOST_PP_BOOL(p(66, s)), s, p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_FOR_66_C(BOOST_PP_BOOL(p(67, s)), s, p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_FOR_67_C(BOOST_PP_BOOL(p(68, s)), s, p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_FOR_68_C(BOOST_PP_BOOL(p(69, s)), s, p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_FOR_69_C(BOOST_PP_BOOL(p(70, s)), s, p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_FOR_70_C(BOOST_PP_BOOL(p(71, s)), s, p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_FOR_71_C(BOOST_PP_BOOL(p(72, s)), s, p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_FOR_72_C(BOOST_PP_BOOL(p(73, s)), s, p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_FOR_73_C(BOOST_PP_BOOL(p(74, s)), s, p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_FOR_74_C(BOOST_PP_BOOL(p(75, s)), s, p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_FOR_75_C(BOOST_PP_BOOL(p(76, s)), s, p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_FOR_76_C(BOOST_PP_BOOL(p(77, s)), s, p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_FOR_77_C(BOOST_PP_BOOL(p(78, s)), s, p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_FOR_78_C(BOOST_PP_BOOL(p(79, s)), s, p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_FOR_79_C(BOOST_PP_BOOL(p(80, s)), s, p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_FOR_80_C(BOOST_PP_BOOL(p(81, s)), s, p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_FOR_81_C(BOOST_PP_BOOL(p(82, s)), s, p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_FOR_82_C(BOOST_PP_BOOL(p(83, s)), s, p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_FOR_83_C(BOOST_PP_BOOL(p(84, s)), s, p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_FOR_84_C(BOOST_PP_BOOL(p(85, s)), s, p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_FOR_85_C(BOOST_PP_BOOL(p(86, s)), s, p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_FOR_86_C(BOOST_PP_BOOL(p(87, s)), s, p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_FOR_87_C(BOOST_PP_BOOL(p(88, s)), s, p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_FOR_88_C(BOOST_PP_BOOL(p(89, s)), s, p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_FOR_89_C(BOOST_PP_BOOL(p(90, s)), s, p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_FOR_90_C(BOOST_PP_BOOL(p(91, s)), s, p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_FOR_91_C(BOOST_PP_BOOL(p(92, s)), s, p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_FOR_92_C(BOOST_PP_BOOL(p(93, s)), s, p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_FOR_93_C(BOOST_PP_BOOL(p(94, s)), s, p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_FOR_94_C(BOOST_PP_BOOL(p(95, s)), s, p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_FOR_95_C(BOOST_PP_BOOL(p(96, s)), s, p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_FOR_96_C(BOOST_PP_BOOL(p(97, s)), s, p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_FOR_97_C(BOOST_PP_BOOL(p(98, s)), s, p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_FOR_98_C(BOOST_PP_BOOL(p(99, s)), s, p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_FOR_99_C(BOOST_PP_BOOL(p(100, s)), s, p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_FOR_100_C(BOOST_PP_BOOL(p(101, s)), s, p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_FOR_101_C(BOOST_PP_BOOL(p(102, s)), s, p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_FOR_102_C(BOOST_PP_BOOL(p(103, s)), s, p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_FOR_103_C(BOOST_PP_BOOL(p(104, s)), s, p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_FOR_104_C(BOOST_PP_BOOL(p(105, s)), s, p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_FOR_105_C(BOOST_PP_BOOL(p(106, s)), s, p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_FOR_106_C(BOOST_PP_BOOL(p(107, s)), s, p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_FOR_107_C(BOOST_PP_BOOL(p(108, s)), s, p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_FOR_108_C(BOOST_PP_BOOL(p(109, s)), s, p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_FOR_109_C(BOOST_PP_BOOL(p(110, s)), s, p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_FOR_110_C(BOOST_PP_BOOL(p(111, s)), s, p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_FOR_111_C(BOOST_PP_BOOL(p(112, s)), s, p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_FOR_112_C(BOOST_PP_BOOL(p(113, s)), s, p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_FOR_113_C(BOOST_PP_BOOL(p(114, s)), s, p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_FOR_114_C(BOOST_PP_BOOL(p(115, s)), s, p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_FOR_115_C(BOOST_PP_BOOL(p(116, s)), s, p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_FOR_116_C(BOOST_PP_BOOL(p(117, s)), s, p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_FOR_117_C(BOOST_PP_BOOL(p(118, s)), s, p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_FOR_118_C(BOOST_PP_BOOL(p(119, s)), s, p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_FOR_119_C(BOOST_PP_BOOL(p(120, s)), s, p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_FOR_120_C(BOOST_PP_BOOL(p(121, s)), s, p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_FOR_121_C(BOOST_PP_BOOL(p(122, s)), s, p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_FOR_122_C(BOOST_PP_BOOL(p(123, s)), s, p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_FOR_123_C(BOOST_PP_BOOL(p(124, s)), s, p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_FOR_124_C(BOOST_PP_BOOL(p(125, s)), s, p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_FOR_125_C(BOOST_PP_BOOL(p(126, s)), s, p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_FOR_126_C(BOOST_PP_BOOL(p(127, s)), s, p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_FOR_127_C(BOOST_PP_BOOL(p(128, s)), s, p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_FOR_128_C(BOOST_PP_BOOL(p(129, s)), s, p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_FOR_129_C(BOOST_PP_BOOL(p(130, s)), s, p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_FOR_130_C(BOOST_PP_BOOL(p(131, s)), s, p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_FOR_131_C(BOOST_PP_BOOL(p(132, s)), s, p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_FOR_132_C(BOOST_PP_BOOL(p(133, s)), s, p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_FOR_133_C(BOOST_PP_BOOL(p(134, s)), s, p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_FOR_134_C(BOOST_PP_BOOL(p(135, s)), s, p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_FOR_135_C(BOOST_PP_BOOL(p(136, s)), s, p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_FOR_136_C(BOOST_PP_BOOL(p(137, s)), s, p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_FOR_137_C(BOOST_PP_BOOL(p(138, s)), s, p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_FOR_138_C(BOOST_PP_BOOL(p(139, s)), s, p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_FOR_139_C(BOOST_PP_BOOL(p(140, s)), s, p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_FOR_140_C(BOOST_PP_BOOL(p(141, s)), s, p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_FOR_141_C(BOOST_PP_BOOL(p(142, s)), s, p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_FOR_142_C(BOOST_PP_BOOL(p(143, s)), s, p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_FOR_143_C(BOOST_PP_BOOL(p(144, s)), s, p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_FOR_144_C(BOOST_PP_BOOL(p(145, s)), s, p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_FOR_145_C(BOOST_PP_BOOL(p(146, s)), s, p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_FOR_146_C(BOOST_PP_BOOL(p(147, s)), s, p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_FOR_147_C(BOOST_PP_BOOL(p(148, s)), s, p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_FOR_148_C(BOOST_PP_BOOL(p(149, s)), s, p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_FOR_149_C(BOOST_PP_BOOL(p(150, s)), s, p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_FOR_150_C(BOOST_PP_BOOL(p(151, s)), s, p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_FOR_151_C(BOOST_PP_BOOL(p(152, s)), s, p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_FOR_152_C(BOOST_PP_BOOL(p(153, s)), s, p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_FOR_153_C(BOOST_PP_BOOL(p(154, s)), s, p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_FOR_154_C(BOOST_PP_BOOL(p(155, s)), s, p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_FOR_155_C(BOOST_PP_BOOL(p(156, s)), s, p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_FOR_156_C(BOOST_PP_BOOL(p(157, s)), s, p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_FOR_157_C(BOOST_PP_BOOL(p(158, s)), s, p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_FOR_158_C(BOOST_PP_BOOL(p(159, s)), s, p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_FOR_159_C(BOOST_PP_BOOL(p(160, s)), s, p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_FOR_160_C(BOOST_PP_BOOL(p(161, s)), s, p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_FOR_161_C(BOOST_PP_BOOL(p(162, s)), s, p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_FOR_162_C(BOOST_PP_BOOL(p(163, s)), s, p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_FOR_163_C(BOOST_PP_BOOL(p(164, s)), s, p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_FOR_164_C(BOOST_PP_BOOL(p(165, s)), s, p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_FOR_165_C(BOOST_PP_BOOL(p(166, s)), s, p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_FOR_166_C(BOOST_PP_BOOL(p(167, s)), s, p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_FOR_167_C(BOOST_PP_BOOL(p(168, s)), s, p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_FOR_168_C(BOOST_PP_BOOL(p(169, s)), s, p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_FOR_169_C(BOOST_PP_BOOL(p(170, s)), s, p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_FOR_170_C(BOOST_PP_BOOL(p(171, s)), s, p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_FOR_171_C(BOOST_PP_BOOL(p(172, s)), s, p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_FOR_172_C(BOOST_PP_BOOL(p(173, s)), s, p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_FOR_173_C(BOOST_PP_BOOL(p(174, s)), s, p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_FOR_174_C(BOOST_PP_BOOL(p(175, s)), s, p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_FOR_175_C(BOOST_PP_BOOL(p(176, s)), s, p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_FOR_176_C(BOOST_PP_BOOL(p(177, s)), s, p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_FOR_177_C(BOOST_PP_BOOL(p(178, s)), s, p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_FOR_178_C(BOOST_PP_BOOL(p(179, s)), s, p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_FOR_179_C(BOOST_PP_BOOL(p(180, s)), s, p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_FOR_180_C(BOOST_PP_BOOL(p(181, s)), s, p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_FOR_181_C(BOOST_PP_BOOL(p(182, s)), s, p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_FOR_182_C(BOOST_PP_BOOL(p(183, s)), s, p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_FOR_183_C(BOOST_PP_BOOL(p(184, s)), s, p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_FOR_184_C(BOOST_PP_BOOL(p(185, s)), s, p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_FOR_185_C(BOOST_PP_BOOL(p(186, s)), s, p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_FOR_186_C(BOOST_PP_BOOL(p(187, s)), s, p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_FOR_187_C(BOOST_PP_BOOL(p(188, s)), s, p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_FOR_188_C(BOOST_PP_BOOL(p(189, s)), s, p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_FOR_189_C(BOOST_PP_BOOL(p(190, s)), s, p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_FOR_190_C(BOOST_PP_BOOL(p(191, s)), s, p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_FOR_191_C(BOOST_PP_BOOL(p(192, s)), s, p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_FOR_192_C(BOOST_PP_BOOL(p(193, s)), s, p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_FOR_193_C(BOOST_PP_BOOL(p(194, s)), s, p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_FOR_194_C(BOOST_PP_BOOL(p(195, s)), s, p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_FOR_195_C(BOOST_PP_BOOL(p(196, s)), s, p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_FOR_196_C(BOOST_PP_BOOL(p(197, s)), s, p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_FOR_197_C(BOOST_PP_BOOL(p(198, s)), s, p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_FOR_198_C(BOOST_PP_BOOL(p(199, s)), s, p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_FOR_199_C(BOOST_PP_BOOL(p(200, s)), s, p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_FOR_200_C(BOOST_PP_BOOL(p(201, s)), s, p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_FOR_201_C(BOOST_PP_BOOL(p(202, s)), s, p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_FOR_202_C(BOOST_PP_BOOL(p(203, s)), s, p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_FOR_203_C(BOOST_PP_BOOL(p(204, s)), s, p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_FOR_204_C(BOOST_PP_BOOL(p(205, s)), s, p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_FOR_205_C(BOOST_PP_BOOL(p(206, s)), s, p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_FOR_206_C(BOOST_PP_BOOL(p(207, s)), s, p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_FOR_207_C(BOOST_PP_BOOL(p(208, s)), s, p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_FOR_208_C(BOOST_PP_BOOL(p(209, s)), s, p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_FOR_209_C(BOOST_PP_BOOL(p(210, s)), s, p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_FOR_210_C(BOOST_PP_BOOL(p(211, s)), s, p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_FOR_211_C(BOOST_PP_BOOL(p(212, s)), s, p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_FOR_212_C(BOOST_PP_BOOL(p(213, s)), s, p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_FOR_213_C(BOOST_PP_BOOL(p(214, s)), s, p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_FOR_214_C(BOOST_PP_BOOL(p(215, s)), s, p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_FOR_215_C(BOOST_PP_BOOL(p(216, s)), s, p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_FOR_216_C(BOOST_PP_BOOL(p(217, s)), s, p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_FOR_217_C(BOOST_PP_BOOL(p(218, s)), s, p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_FOR_218_C(BOOST_PP_BOOL(p(219, s)), s, p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_FOR_219_C(BOOST_PP_BOOL(p(220, s)), s, p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_FOR_220_C(BOOST_PP_BOOL(p(221, s)), s, p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_FOR_221_C(BOOST_PP_BOOL(p(222, s)), s, p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_FOR_222_C(BOOST_PP_BOOL(p(223, s)), s, p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_FOR_223_C(BOOST_PP_BOOL(p(224, s)), s, p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_FOR_224_C(BOOST_PP_BOOL(p(225, s)), s, p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_FOR_225_C(BOOST_PP_BOOL(p(226, s)), s, p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_FOR_226_C(BOOST_PP_BOOL(p(227, s)), s, p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_FOR_227_C(BOOST_PP_BOOL(p(228, s)), s, p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_FOR_228_C(BOOST_PP_BOOL(p(229, s)), s, p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_FOR_229_C(BOOST_PP_BOOL(p(230, s)), s, p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_FOR_230_C(BOOST_PP_BOOL(p(231, s)), s, p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_FOR_231_C(BOOST_PP_BOOL(p(232, s)), s, p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_FOR_232_C(BOOST_PP_BOOL(p(233, s)), s, p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_FOR_233_C(BOOST_PP_BOOL(p(234, s)), s, p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_FOR_234_C(BOOST_PP_BOOL(p(235, s)), s, p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_FOR_235_C(BOOST_PP_BOOL(p(236, s)), s, p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_FOR_236_C(BOOST_PP_BOOL(p(237, s)), s, p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_FOR_237_C(BOOST_PP_BOOL(p(238, s)), s, p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_FOR_238_C(BOOST_PP_BOOL(p(239, s)), s, p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_FOR_239_C(BOOST_PP_BOOL(p(240, s)), s, p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_FOR_240_C(BOOST_PP_BOOL(p(241, s)), s, p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_FOR_241_C(BOOST_PP_BOOL(p(242, s)), s, p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_FOR_242_C(BOOST_PP_BOOL(p(243, s)), s, p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_FOR_243_C(BOOST_PP_BOOL(p(244, s)), s, p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_FOR_244_C(BOOST_PP_BOOL(p(245, s)), s, p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_FOR_245_C(BOOST_PP_BOOL(p(246, s)), s, p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_FOR_246_C(BOOST_PP_BOOL(p(247, s)), s, p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_FOR_247_C(BOOST_PP_BOOL(p(248, s)), s, p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_FOR_248_C(BOOST_PP_BOOL(p(249, s)), s, p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_FOR_249_C(BOOST_PP_BOOL(p(250, s)), s, p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_FOR_250_C(BOOST_PP_BOOL(p(251, s)), s, p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_FOR_251_C(BOOST_PP_BOOL(p(252, s)), s, p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_FOR_252_C(BOOST_PP_BOOL(p(253, s)), s, p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_FOR_253_C(BOOST_PP_BOOL(p(254, s)), s, p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_FOR_254_C(BOOST_PP_BOOL(p(255, s)), s, p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_FOR_255_C(BOOST_PP_BOOL(p(256, s)), s, p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_FOR_256_C(BOOST_PP_BOOL(p(257, s)), s, p, o, m) +# +# define BOOST_PP_FOR_1_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IIF(c, BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(2, s), p, o, m) +# define BOOST_PP_FOR_2_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IIF(c, BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(3, s), p, o, m) +# define BOOST_PP_FOR_3_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IIF(c, BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(4, s), p, o, m) +# define BOOST_PP_FOR_4_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IIF(c, BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(5, s), p, o, m) +# define BOOST_PP_FOR_5_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IIF(c, BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(6, s), p, o, m) +# define BOOST_PP_FOR_6_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IIF(c, BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(7, s), p, o, m) +# define BOOST_PP_FOR_7_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IIF(c, BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(8, s), p, o, m) +# define BOOST_PP_FOR_8_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IIF(c, BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(9, s), p, o, m) +# define BOOST_PP_FOR_9_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IIF(c, BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(10, s), p, o, m) +# define BOOST_PP_FOR_10_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IIF(c, BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(11, s), p, o, m) +# define BOOST_PP_FOR_11_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IIF(c, BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(12, s), p, o, m) +# define BOOST_PP_FOR_12_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IIF(c, BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(13, s), p, o, m) +# define BOOST_PP_FOR_13_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IIF(c, BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(14, s), p, o, m) +# define BOOST_PP_FOR_14_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IIF(c, BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(15, s), p, o, m) +# define BOOST_PP_FOR_15_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IIF(c, BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(16, s), p, o, m) +# define BOOST_PP_FOR_16_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IIF(c, BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(17, s), p, o, m) +# define BOOST_PP_FOR_17_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IIF(c, BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(18, s), p, o, m) +# define BOOST_PP_FOR_18_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IIF(c, BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(19, s), p, o, m) +# define BOOST_PP_FOR_19_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IIF(c, BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(20, s), p, o, m) +# define BOOST_PP_FOR_20_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IIF(c, BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(21, s), p, o, m) +# define BOOST_PP_FOR_21_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IIF(c, BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(22, s), p, o, m) +# define BOOST_PP_FOR_22_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IIF(c, BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(23, s), p, o, m) +# define BOOST_PP_FOR_23_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IIF(c, BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(24, s), p, o, m) +# define BOOST_PP_FOR_24_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IIF(c, BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(25, s), p, o, m) +# define BOOST_PP_FOR_25_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IIF(c, BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(26, s), p, o, m) +# define BOOST_PP_FOR_26_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IIF(c, BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(27, s), p, o, m) +# define BOOST_PP_FOR_27_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IIF(c, BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(28, s), p, o, m) +# define BOOST_PP_FOR_28_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IIF(c, BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(29, s), p, o, m) +# define BOOST_PP_FOR_29_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IIF(c, BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(30, s), p, o, m) +# define BOOST_PP_FOR_30_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IIF(c, BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(31, s), p, o, m) +# define BOOST_PP_FOR_31_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IIF(c, BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(32, s), p, o, m) +# define BOOST_PP_FOR_32_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IIF(c, BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(33, s), p, o, m) +# define BOOST_PP_FOR_33_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IIF(c, BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(34, s), p, o, m) +# define BOOST_PP_FOR_34_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IIF(c, BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(35, s), p, o, m) +# define BOOST_PP_FOR_35_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IIF(c, BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(36, s), p, o, m) +# define BOOST_PP_FOR_36_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IIF(c, BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(37, s), p, o, m) +# define BOOST_PP_FOR_37_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IIF(c, BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(38, s), p, o, m) +# define BOOST_PP_FOR_38_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IIF(c, BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(39, s), p, o, m) +# define BOOST_PP_FOR_39_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IIF(c, BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(40, s), p, o, m) +# define BOOST_PP_FOR_40_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IIF(c, BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(41, s), p, o, m) +# define BOOST_PP_FOR_41_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IIF(c, BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(42, s), p, o, m) +# define BOOST_PP_FOR_42_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IIF(c, BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(43, s), p, o, m) +# define BOOST_PP_FOR_43_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IIF(c, BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(44, s), p, o, m) +# define BOOST_PP_FOR_44_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IIF(c, BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(45, s), p, o, m) +# define BOOST_PP_FOR_45_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IIF(c, BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(46, s), p, o, m) +# define BOOST_PP_FOR_46_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IIF(c, BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(47, s), p, o, m) +# define BOOST_PP_FOR_47_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IIF(c, BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(48, s), p, o, m) +# define BOOST_PP_FOR_48_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IIF(c, BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(49, s), p, o, m) +# define BOOST_PP_FOR_49_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IIF(c, BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(50, s), p, o, m) +# define BOOST_PP_FOR_50_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IIF(c, BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(51, s), p, o, m) +# define BOOST_PP_FOR_51_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IIF(c, BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(52, s), p, o, m) +# define BOOST_PP_FOR_52_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IIF(c, BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(53, s), p, o, m) +# define BOOST_PP_FOR_53_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IIF(c, BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(54, s), p, o, m) +# define BOOST_PP_FOR_54_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IIF(c, BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(55, s), p, o, m) +# define BOOST_PP_FOR_55_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IIF(c, BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(56, s), p, o, m) +# define BOOST_PP_FOR_56_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IIF(c, BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(57, s), p, o, m) +# define BOOST_PP_FOR_57_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IIF(c, BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(58, s), p, o, m) +# define BOOST_PP_FOR_58_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IIF(c, BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(59, s), p, o, m) +# define BOOST_PP_FOR_59_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IIF(c, BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(60, s), p, o, m) +# define BOOST_PP_FOR_60_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IIF(c, BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(61, s), p, o, m) +# define BOOST_PP_FOR_61_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IIF(c, BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(62, s), p, o, m) +# define BOOST_PP_FOR_62_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IIF(c, BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(63, s), p, o, m) +# define BOOST_PP_FOR_63_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IIF(c, BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(64, s), p, o, m) +# define BOOST_PP_FOR_64_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IIF(c, BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(65, s), p, o, m) +# define BOOST_PP_FOR_65_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IIF(c, BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(66, s), p, o, m) +# define BOOST_PP_FOR_66_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IIF(c, BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(67, s), p, o, m) +# define BOOST_PP_FOR_67_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IIF(c, BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(68, s), p, o, m) +# define BOOST_PP_FOR_68_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IIF(c, BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(69, s), p, o, m) +# define BOOST_PP_FOR_69_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IIF(c, BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(70, s), p, o, m) +# define BOOST_PP_FOR_70_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IIF(c, BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(71, s), p, o, m) +# define BOOST_PP_FOR_71_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IIF(c, BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(72, s), p, o, m) +# define BOOST_PP_FOR_72_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IIF(c, BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(73, s), p, o, m) +# define BOOST_PP_FOR_73_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IIF(c, BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(74, s), p, o, m) +# define BOOST_PP_FOR_74_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IIF(c, BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(75, s), p, o, m) +# define BOOST_PP_FOR_75_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IIF(c, BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(76, s), p, o, m) +# define BOOST_PP_FOR_76_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IIF(c, BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(77, s), p, o, m) +# define BOOST_PP_FOR_77_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IIF(c, BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(78, s), p, o, m) +# define BOOST_PP_FOR_78_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IIF(c, BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(79, s), p, o, m) +# define BOOST_PP_FOR_79_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IIF(c, BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(80, s), p, o, m) +# define BOOST_PP_FOR_80_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IIF(c, BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(81, s), p, o, m) +# define BOOST_PP_FOR_81_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IIF(c, BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(82, s), p, o, m) +# define BOOST_PP_FOR_82_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IIF(c, BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(83, s), p, o, m) +# define BOOST_PP_FOR_83_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IIF(c, BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(84, s), p, o, m) +# define BOOST_PP_FOR_84_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IIF(c, BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(85, s), p, o, m) +# define BOOST_PP_FOR_85_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IIF(c, BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(86, s), p, o, m) +# define BOOST_PP_FOR_86_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IIF(c, BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(87, s), p, o, m) +# define BOOST_PP_FOR_87_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IIF(c, BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(88, s), p, o, m) +# define BOOST_PP_FOR_88_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IIF(c, BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(89, s), p, o, m) +# define BOOST_PP_FOR_89_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IIF(c, BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(90, s), p, o, m) +# define BOOST_PP_FOR_90_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IIF(c, BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(91, s), p, o, m) +# define BOOST_PP_FOR_91_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IIF(c, BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(92, s), p, o, m) +# define BOOST_PP_FOR_92_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IIF(c, BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(93, s), p, o, m) +# define BOOST_PP_FOR_93_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IIF(c, BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(94, s), p, o, m) +# define BOOST_PP_FOR_94_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IIF(c, BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(95, s), p, o, m) +# define BOOST_PP_FOR_95_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IIF(c, BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(96, s), p, o, m) +# define BOOST_PP_FOR_96_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IIF(c, BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(97, s), p, o, m) +# define BOOST_PP_FOR_97_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IIF(c, BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(98, s), p, o, m) +# define BOOST_PP_FOR_98_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IIF(c, BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(99, s), p, o, m) +# define BOOST_PP_FOR_99_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IIF(c, BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(100, s), p, o, m) +# define BOOST_PP_FOR_100_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IIF(c, BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(101, s), p, o, m) +# define BOOST_PP_FOR_101_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IIF(c, BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(102, s), p, o, m) +# define BOOST_PP_FOR_102_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IIF(c, BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(103, s), p, o, m) +# define BOOST_PP_FOR_103_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IIF(c, BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(104, s), p, o, m) +# define BOOST_PP_FOR_104_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IIF(c, BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(105, s), p, o, m) +# define BOOST_PP_FOR_105_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IIF(c, BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(106, s), p, o, m) +# define BOOST_PP_FOR_106_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IIF(c, BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(107, s), p, o, m) +# define BOOST_PP_FOR_107_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IIF(c, BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(108, s), p, o, m) +# define BOOST_PP_FOR_108_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IIF(c, BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(109, s), p, o, m) +# define BOOST_PP_FOR_109_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IIF(c, BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(110, s), p, o, m) +# define BOOST_PP_FOR_110_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IIF(c, BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(111, s), p, o, m) +# define BOOST_PP_FOR_111_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IIF(c, BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(112, s), p, o, m) +# define BOOST_PP_FOR_112_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IIF(c, BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(113, s), p, o, m) +# define BOOST_PP_FOR_113_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IIF(c, BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(114, s), p, o, m) +# define BOOST_PP_FOR_114_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IIF(c, BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(115, s), p, o, m) +# define BOOST_PP_FOR_115_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IIF(c, BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(116, s), p, o, m) +# define BOOST_PP_FOR_116_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IIF(c, BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(117, s), p, o, m) +# define BOOST_PP_FOR_117_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IIF(c, BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(118, s), p, o, m) +# define BOOST_PP_FOR_118_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IIF(c, BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(119, s), p, o, m) +# define BOOST_PP_FOR_119_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IIF(c, BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(120, s), p, o, m) +# define BOOST_PP_FOR_120_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IIF(c, BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(121, s), p, o, m) +# define BOOST_PP_FOR_121_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IIF(c, BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(122, s), p, o, m) +# define BOOST_PP_FOR_122_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IIF(c, BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(123, s), p, o, m) +# define BOOST_PP_FOR_123_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IIF(c, BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(124, s), p, o, m) +# define BOOST_PP_FOR_124_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IIF(c, BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(125, s), p, o, m) +# define BOOST_PP_FOR_125_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IIF(c, BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(126, s), p, o, m) +# define BOOST_PP_FOR_126_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IIF(c, BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(127, s), p, o, m) +# define BOOST_PP_FOR_127_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IIF(c, BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(128, s), p, o, m) +# define BOOST_PP_FOR_128_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IIF(c, BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(129, s), p, o, m) +# define BOOST_PP_FOR_129_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IIF(c, BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(130, s), p, o, m) +# define BOOST_PP_FOR_130_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IIF(c, BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(131, s), p, o, m) +# define BOOST_PP_FOR_131_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IIF(c, BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(132, s), p, o, m) +# define BOOST_PP_FOR_132_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IIF(c, BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(133, s), p, o, m) +# define BOOST_PP_FOR_133_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IIF(c, BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(134, s), p, o, m) +# define BOOST_PP_FOR_134_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IIF(c, BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(135, s), p, o, m) +# define BOOST_PP_FOR_135_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IIF(c, BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(136, s), p, o, m) +# define BOOST_PP_FOR_136_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IIF(c, BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(137, s), p, o, m) +# define BOOST_PP_FOR_137_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IIF(c, BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(138, s), p, o, m) +# define BOOST_PP_FOR_138_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IIF(c, BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(139, s), p, o, m) +# define BOOST_PP_FOR_139_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IIF(c, BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(140, s), p, o, m) +# define BOOST_PP_FOR_140_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IIF(c, BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(141, s), p, o, m) +# define BOOST_PP_FOR_141_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IIF(c, BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(142, s), p, o, m) +# define BOOST_PP_FOR_142_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IIF(c, BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(143, s), p, o, m) +# define BOOST_PP_FOR_143_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IIF(c, BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(144, s), p, o, m) +# define BOOST_PP_FOR_144_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IIF(c, BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(145, s), p, o, m) +# define BOOST_PP_FOR_145_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IIF(c, BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(146, s), p, o, m) +# define BOOST_PP_FOR_146_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IIF(c, BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(147, s), p, o, m) +# define BOOST_PP_FOR_147_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IIF(c, BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(148, s), p, o, m) +# define BOOST_PP_FOR_148_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IIF(c, BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(149, s), p, o, m) +# define BOOST_PP_FOR_149_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IIF(c, BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(150, s), p, o, m) +# define BOOST_PP_FOR_150_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IIF(c, BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(151, s), p, o, m) +# define BOOST_PP_FOR_151_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IIF(c, BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(152, s), p, o, m) +# define BOOST_PP_FOR_152_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IIF(c, BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(153, s), p, o, m) +# define BOOST_PP_FOR_153_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IIF(c, BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(154, s), p, o, m) +# define BOOST_PP_FOR_154_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IIF(c, BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(155, s), p, o, m) +# define BOOST_PP_FOR_155_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IIF(c, BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(156, s), p, o, m) +# define BOOST_PP_FOR_156_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IIF(c, BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(157, s), p, o, m) +# define BOOST_PP_FOR_157_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IIF(c, BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(158, s), p, o, m) +# define BOOST_PP_FOR_158_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IIF(c, BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(159, s), p, o, m) +# define BOOST_PP_FOR_159_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IIF(c, BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(160, s), p, o, m) +# define BOOST_PP_FOR_160_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IIF(c, BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(161, s), p, o, m) +# define BOOST_PP_FOR_161_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IIF(c, BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(162, s), p, o, m) +# define BOOST_PP_FOR_162_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IIF(c, BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(163, s), p, o, m) +# define BOOST_PP_FOR_163_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IIF(c, BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(164, s), p, o, m) +# define BOOST_PP_FOR_164_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IIF(c, BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(165, s), p, o, m) +# define BOOST_PP_FOR_165_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IIF(c, BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(166, s), p, o, m) +# define BOOST_PP_FOR_166_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IIF(c, BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(167, s), p, o, m) +# define BOOST_PP_FOR_167_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IIF(c, BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(168, s), p, o, m) +# define BOOST_PP_FOR_168_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IIF(c, BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(169, s), p, o, m) +# define BOOST_PP_FOR_169_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IIF(c, BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(170, s), p, o, m) +# define BOOST_PP_FOR_170_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IIF(c, BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(171, s), p, o, m) +# define BOOST_PP_FOR_171_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IIF(c, BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(172, s), p, o, m) +# define BOOST_PP_FOR_172_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IIF(c, BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(173, s), p, o, m) +# define BOOST_PP_FOR_173_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IIF(c, BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(174, s), p, o, m) +# define BOOST_PP_FOR_174_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IIF(c, BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(175, s), p, o, m) +# define BOOST_PP_FOR_175_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IIF(c, BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(176, s), p, o, m) +# define BOOST_PP_FOR_176_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IIF(c, BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(177, s), p, o, m) +# define BOOST_PP_FOR_177_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IIF(c, BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(178, s), p, o, m) +# define BOOST_PP_FOR_178_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IIF(c, BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(179, s), p, o, m) +# define BOOST_PP_FOR_179_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IIF(c, BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(180, s), p, o, m) +# define BOOST_PP_FOR_180_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IIF(c, BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(181, s), p, o, m) +# define BOOST_PP_FOR_181_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IIF(c, BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(182, s), p, o, m) +# define BOOST_PP_FOR_182_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IIF(c, BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(183, s), p, o, m) +# define BOOST_PP_FOR_183_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IIF(c, BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(184, s), p, o, m) +# define BOOST_PP_FOR_184_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IIF(c, BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(185, s), p, o, m) +# define BOOST_PP_FOR_185_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IIF(c, BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(186, s), p, o, m) +# define BOOST_PP_FOR_186_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IIF(c, BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(187, s), p, o, m) +# define BOOST_PP_FOR_187_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IIF(c, BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(188, s), p, o, m) +# define BOOST_PP_FOR_188_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IIF(c, BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(189, s), p, o, m) +# define BOOST_PP_FOR_189_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IIF(c, BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(190, s), p, o, m) +# define BOOST_PP_FOR_190_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IIF(c, BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(191, s), p, o, m) +# define BOOST_PP_FOR_191_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IIF(c, BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(192, s), p, o, m) +# define BOOST_PP_FOR_192_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IIF(c, BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(193, s), p, o, m) +# define BOOST_PP_FOR_193_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IIF(c, BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(194, s), p, o, m) +# define BOOST_PP_FOR_194_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IIF(c, BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(195, s), p, o, m) +# define BOOST_PP_FOR_195_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IIF(c, BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(196, s), p, o, m) +# define BOOST_PP_FOR_196_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IIF(c, BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(197, s), p, o, m) +# define BOOST_PP_FOR_197_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IIF(c, BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(198, s), p, o, m) +# define BOOST_PP_FOR_198_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IIF(c, BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(199, s), p, o, m) +# define BOOST_PP_FOR_199_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IIF(c, BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(200, s), p, o, m) +# define BOOST_PP_FOR_200_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IIF(c, BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(201, s), p, o, m) +# define BOOST_PP_FOR_201_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IIF(c, BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(202, s), p, o, m) +# define BOOST_PP_FOR_202_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IIF(c, BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(203, s), p, o, m) +# define BOOST_PP_FOR_203_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IIF(c, BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(204, s), p, o, m) +# define BOOST_PP_FOR_204_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IIF(c, BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(205, s), p, o, m) +# define BOOST_PP_FOR_205_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IIF(c, BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(206, s), p, o, m) +# define BOOST_PP_FOR_206_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IIF(c, BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(207, s), p, o, m) +# define BOOST_PP_FOR_207_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IIF(c, BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(208, s), p, o, m) +# define BOOST_PP_FOR_208_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IIF(c, BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(209, s), p, o, m) +# define BOOST_PP_FOR_209_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IIF(c, BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(210, s), p, o, m) +# define BOOST_PP_FOR_210_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IIF(c, BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(211, s), p, o, m) +# define BOOST_PP_FOR_211_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IIF(c, BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(212, s), p, o, m) +# define BOOST_PP_FOR_212_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IIF(c, BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(213, s), p, o, m) +# define BOOST_PP_FOR_213_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IIF(c, BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(214, s), p, o, m) +# define BOOST_PP_FOR_214_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IIF(c, BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(215, s), p, o, m) +# define BOOST_PP_FOR_215_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IIF(c, BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(216, s), p, o, m) +# define BOOST_PP_FOR_216_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IIF(c, BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(217, s), p, o, m) +# define BOOST_PP_FOR_217_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IIF(c, BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(218, s), p, o, m) +# define BOOST_PP_FOR_218_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IIF(c, BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(219, s), p, o, m) +# define BOOST_PP_FOR_219_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IIF(c, BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(220, s), p, o, m) +# define BOOST_PP_FOR_220_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IIF(c, BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(221, s), p, o, m) +# define BOOST_PP_FOR_221_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IIF(c, BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(222, s), p, o, m) +# define BOOST_PP_FOR_222_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IIF(c, BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(223, s), p, o, m) +# define BOOST_PP_FOR_223_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IIF(c, BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(224, s), p, o, m) +# define BOOST_PP_FOR_224_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IIF(c, BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(225, s), p, o, m) +# define BOOST_PP_FOR_225_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IIF(c, BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(226, s), p, o, m) +# define BOOST_PP_FOR_226_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IIF(c, BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(227, s), p, o, m) +# define BOOST_PP_FOR_227_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IIF(c, BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(228, s), p, o, m) +# define BOOST_PP_FOR_228_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IIF(c, BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(229, s), p, o, m) +# define BOOST_PP_FOR_229_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IIF(c, BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(230, s), p, o, m) +# define BOOST_PP_FOR_230_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IIF(c, BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(231, s), p, o, m) +# define BOOST_PP_FOR_231_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IIF(c, BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(232, s), p, o, m) +# define BOOST_PP_FOR_232_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IIF(c, BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(233, s), p, o, m) +# define BOOST_PP_FOR_233_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IIF(c, BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(234, s), p, o, m) +# define BOOST_PP_FOR_234_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IIF(c, BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(235, s), p, o, m) +# define BOOST_PP_FOR_235_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IIF(c, BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(236, s), p, o, m) +# define BOOST_PP_FOR_236_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IIF(c, BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(237, s), p, o, m) +# define BOOST_PP_FOR_237_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IIF(c, BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(238, s), p, o, m) +# define BOOST_PP_FOR_238_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IIF(c, BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(239, s), p, o, m) +# define BOOST_PP_FOR_239_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IIF(c, BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(240, s), p, o, m) +# define BOOST_PP_FOR_240_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IIF(c, BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(241, s), p, o, m) +# define BOOST_PP_FOR_241_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IIF(c, BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(242, s), p, o, m) +# define BOOST_PP_FOR_242_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IIF(c, BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(243, s), p, o, m) +# define BOOST_PP_FOR_243_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IIF(c, BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(244, s), p, o, m) +# define BOOST_PP_FOR_244_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IIF(c, BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(245, s), p, o, m) +# define BOOST_PP_FOR_245_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IIF(c, BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(246, s), p, o, m) +# define BOOST_PP_FOR_246_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IIF(c, BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(247, s), p, o, m) +# define BOOST_PP_FOR_247_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IIF(c, BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(248, s), p, o, m) +# define BOOST_PP_FOR_248_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IIF(c, BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(249, s), p, o, m) +# define BOOST_PP_FOR_249_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IIF(c, BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(250, s), p, o, m) +# define BOOST_PP_FOR_250_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IIF(c, BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(251, s), p, o, m) +# define BOOST_PP_FOR_251_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IIF(c, BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(252, s), p, o, m) +# define BOOST_PP_FOR_252_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IIF(c, BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(253, s), p, o, m) +# define BOOST_PP_FOR_253_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IIF(c, BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(254, s), p, o, m) +# define BOOST_PP_FOR_254_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IIF(c, BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(255, s), p, o, m) +# define BOOST_PP_FOR_255_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IIF(c, BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(256, s), p, o, m) +# define BOOST_PP_FOR_256_C(c, s, p, o, m) BOOST_PP_IIF(c, m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IIF(c, BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(BOOST_PP_EXPR_IIF(c, o)(257, s), p, o, m) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/msvc/for.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/msvc/for.hpp new file mode 100644 index 0000000..5bb179f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/detail/msvc/for.hpp @@ -0,0 +1,277 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_DETAIL_MSVC_FOR_HPP +# +# include +# include +# +# define BOOST_PP_FOR_1(s, p, o, m) BOOST_PP_IF(p(2, s), m, BOOST_PP_TUPLE_EAT_2)(2, s) BOOST_PP_IF(p(2, s), BOOST_PP_FOR_2, BOOST_PP_TUPLE_EAT_4)(o(2, s), p, o, m) +# define BOOST_PP_FOR_2(s, p, o, m) BOOST_PP_IF(p(3, s), m, BOOST_PP_TUPLE_EAT_2)(3, s) BOOST_PP_IF(p(3, s), BOOST_PP_FOR_3, BOOST_PP_TUPLE_EAT_4)(o(3, s), p, o, m) +# define BOOST_PP_FOR_3(s, p, o, m) BOOST_PP_IF(p(4, s), m, BOOST_PP_TUPLE_EAT_2)(4, s) BOOST_PP_IF(p(4, s), BOOST_PP_FOR_4, BOOST_PP_TUPLE_EAT_4)(o(4, s), p, o, m) +# define BOOST_PP_FOR_4(s, p, o, m) BOOST_PP_IF(p(5, s), m, BOOST_PP_TUPLE_EAT_2)(5, s) BOOST_PP_IF(p(5, s), BOOST_PP_FOR_5, BOOST_PP_TUPLE_EAT_4)(o(5, s), p, o, m) +# define BOOST_PP_FOR_5(s, p, o, m) BOOST_PP_IF(p(6, s), m, BOOST_PP_TUPLE_EAT_2)(6, s) BOOST_PP_IF(p(6, s), BOOST_PP_FOR_6, BOOST_PP_TUPLE_EAT_4)(o(6, s), p, o, m) +# define BOOST_PP_FOR_6(s, p, o, m) BOOST_PP_IF(p(7, s), m, BOOST_PP_TUPLE_EAT_2)(7, s) BOOST_PP_IF(p(7, s), BOOST_PP_FOR_7, BOOST_PP_TUPLE_EAT_4)(o(7, s), p, o, m) +# define BOOST_PP_FOR_7(s, p, o, m) BOOST_PP_IF(p(8, s), m, BOOST_PP_TUPLE_EAT_2)(8, s) BOOST_PP_IF(p(8, s), BOOST_PP_FOR_8, BOOST_PP_TUPLE_EAT_4)(o(8, s), p, o, m) +# define BOOST_PP_FOR_8(s, p, o, m) BOOST_PP_IF(p(9, s), m, BOOST_PP_TUPLE_EAT_2)(9, s) BOOST_PP_IF(p(9, s), BOOST_PP_FOR_9, BOOST_PP_TUPLE_EAT_4)(o(9, s), p, o, m) +# define BOOST_PP_FOR_9(s, p, o, m) BOOST_PP_IF(p(10, s), m, BOOST_PP_TUPLE_EAT_2)(10, s) BOOST_PP_IF(p(10, s), BOOST_PP_FOR_10, BOOST_PP_TUPLE_EAT_4)(o(10, s), p, o, m) +# define BOOST_PP_FOR_10(s, p, o, m) BOOST_PP_IF(p(11, s), m, BOOST_PP_TUPLE_EAT_2)(11, s) BOOST_PP_IF(p(11, s), BOOST_PP_FOR_11, BOOST_PP_TUPLE_EAT_4)(o(11, s), p, o, m) +# define BOOST_PP_FOR_11(s, p, o, m) BOOST_PP_IF(p(12, s), m, BOOST_PP_TUPLE_EAT_2)(12, s) BOOST_PP_IF(p(12, s), BOOST_PP_FOR_12, BOOST_PP_TUPLE_EAT_4)(o(12, s), p, o, m) +# define BOOST_PP_FOR_12(s, p, o, m) BOOST_PP_IF(p(13, s), m, BOOST_PP_TUPLE_EAT_2)(13, s) BOOST_PP_IF(p(13, s), BOOST_PP_FOR_13, BOOST_PP_TUPLE_EAT_4)(o(13, s), p, o, m) +# define BOOST_PP_FOR_13(s, p, o, m) BOOST_PP_IF(p(14, s), m, BOOST_PP_TUPLE_EAT_2)(14, s) BOOST_PP_IF(p(14, s), BOOST_PP_FOR_14, BOOST_PP_TUPLE_EAT_4)(o(14, s), p, o, m) +# define BOOST_PP_FOR_14(s, p, o, m) BOOST_PP_IF(p(15, s), m, BOOST_PP_TUPLE_EAT_2)(15, s) BOOST_PP_IF(p(15, s), BOOST_PP_FOR_15, BOOST_PP_TUPLE_EAT_4)(o(15, s), p, o, m) +# define BOOST_PP_FOR_15(s, p, o, m) BOOST_PP_IF(p(16, s), m, BOOST_PP_TUPLE_EAT_2)(16, s) BOOST_PP_IF(p(16, s), BOOST_PP_FOR_16, BOOST_PP_TUPLE_EAT_4)(o(16, s), p, o, m) +# define BOOST_PP_FOR_16(s, p, o, m) BOOST_PP_IF(p(17, s), m, BOOST_PP_TUPLE_EAT_2)(17, s) BOOST_PP_IF(p(17, s), BOOST_PP_FOR_17, BOOST_PP_TUPLE_EAT_4)(o(17, s), p, o, m) +# define BOOST_PP_FOR_17(s, p, o, m) BOOST_PP_IF(p(18, s), m, BOOST_PP_TUPLE_EAT_2)(18, s) BOOST_PP_IF(p(18, s), BOOST_PP_FOR_18, BOOST_PP_TUPLE_EAT_4)(o(18, s), p, o, m) +# define BOOST_PP_FOR_18(s, p, o, m) BOOST_PP_IF(p(19, s), m, BOOST_PP_TUPLE_EAT_2)(19, s) BOOST_PP_IF(p(19, s), BOOST_PP_FOR_19, BOOST_PP_TUPLE_EAT_4)(o(19, s), p, o, m) +# define BOOST_PP_FOR_19(s, p, o, m) BOOST_PP_IF(p(20, s), m, BOOST_PP_TUPLE_EAT_2)(20, s) BOOST_PP_IF(p(20, s), BOOST_PP_FOR_20, BOOST_PP_TUPLE_EAT_4)(o(20, s), p, o, m) +# define BOOST_PP_FOR_20(s, p, o, m) BOOST_PP_IF(p(21, s), m, BOOST_PP_TUPLE_EAT_2)(21, s) BOOST_PP_IF(p(21, s), BOOST_PP_FOR_21, BOOST_PP_TUPLE_EAT_4)(o(21, s), p, o, m) +# define BOOST_PP_FOR_21(s, p, o, m) BOOST_PP_IF(p(22, s), m, BOOST_PP_TUPLE_EAT_2)(22, s) BOOST_PP_IF(p(22, s), BOOST_PP_FOR_22, BOOST_PP_TUPLE_EAT_4)(o(22, s), p, o, m) +# define BOOST_PP_FOR_22(s, p, o, m) BOOST_PP_IF(p(23, s), m, BOOST_PP_TUPLE_EAT_2)(23, s) BOOST_PP_IF(p(23, s), BOOST_PP_FOR_23, BOOST_PP_TUPLE_EAT_4)(o(23, s), p, o, m) +# define BOOST_PP_FOR_23(s, p, o, m) BOOST_PP_IF(p(24, s), m, BOOST_PP_TUPLE_EAT_2)(24, s) BOOST_PP_IF(p(24, s), BOOST_PP_FOR_24, BOOST_PP_TUPLE_EAT_4)(o(24, s), p, o, m) +# define BOOST_PP_FOR_24(s, p, o, m) BOOST_PP_IF(p(25, s), m, BOOST_PP_TUPLE_EAT_2)(25, s) BOOST_PP_IF(p(25, s), BOOST_PP_FOR_25, BOOST_PP_TUPLE_EAT_4)(o(25, s), p, o, m) +# define BOOST_PP_FOR_25(s, p, o, m) BOOST_PP_IF(p(26, s), m, BOOST_PP_TUPLE_EAT_2)(26, s) BOOST_PP_IF(p(26, s), BOOST_PP_FOR_26, BOOST_PP_TUPLE_EAT_4)(o(26, s), p, o, m) +# define BOOST_PP_FOR_26(s, p, o, m) BOOST_PP_IF(p(27, s), m, BOOST_PP_TUPLE_EAT_2)(27, s) BOOST_PP_IF(p(27, s), BOOST_PP_FOR_27, BOOST_PP_TUPLE_EAT_4)(o(27, s), p, o, m) +# define BOOST_PP_FOR_27(s, p, o, m) BOOST_PP_IF(p(28, s), m, BOOST_PP_TUPLE_EAT_2)(28, s) BOOST_PP_IF(p(28, s), BOOST_PP_FOR_28, BOOST_PP_TUPLE_EAT_4)(o(28, s), p, o, m) +# define BOOST_PP_FOR_28(s, p, o, m) BOOST_PP_IF(p(29, s), m, BOOST_PP_TUPLE_EAT_2)(29, s) BOOST_PP_IF(p(29, s), BOOST_PP_FOR_29, BOOST_PP_TUPLE_EAT_4)(o(29, s), p, o, m) +# define BOOST_PP_FOR_29(s, p, o, m) BOOST_PP_IF(p(30, s), m, BOOST_PP_TUPLE_EAT_2)(30, s) BOOST_PP_IF(p(30, s), BOOST_PP_FOR_30, BOOST_PP_TUPLE_EAT_4)(o(30, s), p, o, m) +# define BOOST_PP_FOR_30(s, p, o, m) BOOST_PP_IF(p(31, s), m, BOOST_PP_TUPLE_EAT_2)(31, s) BOOST_PP_IF(p(31, s), BOOST_PP_FOR_31, BOOST_PP_TUPLE_EAT_4)(o(31, s), p, o, m) +# define BOOST_PP_FOR_31(s, p, o, m) BOOST_PP_IF(p(32, s), m, BOOST_PP_TUPLE_EAT_2)(32, s) BOOST_PP_IF(p(32, s), BOOST_PP_FOR_32, BOOST_PP_TUPLE_EAT_4)(o(32, s), p, o, m) +# define BOOST_PP_FOR_32(s, p, o, m) BOOST_PP_IF(p(33, s), m, BOOST_PP_TUPLE_EAT_2)(33, s) BOOST_PP_IF(p(33, s), BOOST_PP_FOR_33, BOOST_PP_TUPLE_EAT_4)(o(33, s), p, o, m) +# define BOOST_PP_FOR_33(s, p, o, m) BOOST_PP_IF(p(34, s), m, BOOST_PP_TUPLE_EAT_2)(34, s) BOOST_PP_IF(p(34, s), BOOST_PP_FOR_34, BOOST_PP_TUPLE_EAT_4)(o(34, s), p, o, m) +# define BOOST_PP_FOR_34(s, p, o, m) BOOST_PP_IF(p(35, s), m, BOOST_PP_TUPLE_EAT_2)(35, s) BOOST_PP_IF(p(35, s), BOOST_PP_FOR_35, BOOST_PP_TUPLE_EAT_4)(o(35, s), p, o, m) +# define BOOST_PP_FOR_35(s, p, o, m) BOOST_PP_IF(p(36, s), m, BOOST_PP_TUPLE_EAT_2)(36, s) BOOST_PP_IF(p(36, s), BOOST_PP_FOR_36, BOOST_PP_TUPLE_EAT_4)(o(36, s), p, o, m) +# define BOOST_PP_FOR_36(s, p, o, m) BOOST_PP_IF(p(37, s), m, BOOST_PP_TUPLE_EAT_2)(37, s) BOOST_PP_IF(p(37, s), BOOST_PP_FOR_37, BOOST_PP_TUPLE_EAT_4)(o(37, s), p, o, m) +# define BOOST_PP_FOR_37(s, p, o, m) BOOST_PP_IF(p(38, s), m, BOOST_PP_TUPLE_EAT_2)(38, s) BOOST_PP_IF(p(38, s), BOOST_PP_FOR_38, BOOST_PP_TUPLE_EAT_4)(o(38, s), p, o, m) +# define BOOST_PP_FOR_38(s, p, o, m) BOOST_PP_IF(p(39, s), m, BOOST_PP_TUPLE_EAT_2)(39, s) BOOST_PP_IF(p(39, s), BOOST_PP_FOR_39, BOOST_PP_TUPLE_EAT_4)(o(39, s), p, o, m) +# define BOOST_PP_FOR_39(s, p, o, m) BOOST_PP_IF(p(40, s), m, BOOST_PP_TUPLE_EAT_2)(40, s) BOOST_PP_IF(p(40, s), BOOST_PP_FOR_40, BOOST_PP_TUPLE_EAT_4)(o(40, s), p, o, m) +# define BOOST_PP_FOR_40(s, p, o, m) BOOST_PP_IF(p(41, s), m, BOOST_PP_TUPLE_EAT_2)(41, s) BOOST_PP_IF(p(41, s), BOOST_PP_FOR_41, BOOST_PP_TUPLE_EAT_4)(o(41, s), p, o, m) +# define BOOST_PP_FOR_41(s, p, o, m) BOOST_PP_IF(p(42, s), m, BOOST_PP_TUPLE_EAT_2)(42, s) BOOST_PP_IF(p(42, s), BOOST_PP_FOR_42, BOOST_PP_TUPLE_EAT_4)(o(42, s), p, o, m) +# define BOOST_PP_FOR_42(s, p, o, m) BOOST_PP_IF(p(43, s), m, BOOST_PP_TUPLE_EAT_2)(43, s) BOOST_PP_IF(p(43, s), BOOST_PP_FOR_43, BOOST_PP_TUPLE_EAT_4)(o(43, s), p, o, m) +# define BOOST_PP_FOR_43(s, p, o, m) BOOST_PP_IF(p(44, s), m, BOOST_PP_TUPLE_EAT_2)(44, s) BOOST_PP_IF(p(44, s), BOOST_PP_FOR_44, BOOST_PP_TUPLE_EAT_4)(o(44, s), p, o, m) +# define BOOST_PP_FOR_44(s, p, o, m) BOOST_PP_IF(p(45, s), m, BOOST_PP_TUPLE_EAT_2)(45, s) BOOST_PP_IF(p(45, s), BOOST_PP_FOR_45, BOOST_PP_TUPLE_EAT_4)(o(45, s), p, o, m) +# define BOOST_PP_FOR_45(s, p, o, m) BOOST_PP_IF(p(46, s), m, BOOST_PP_TUPLE_EAT_2)(46, s) BOOST_PP_IF(p(46, s), BOOST_PP_FOR_46, BOOST_PP_TUPLE_EAT_4)(o(46, s), p, o, m) +# define BOOST_PP_FOR_46(s, p, o, m) BOOST_PP_IF(p(47, s), m, BOOST_PP_TUPLE_EAT_2)(47, s) BOOST_PP_IF(p(47, s), BOOST_PP_FOR_47, BOOST_PP_TUPLE_EAT_4)(o(47, s), p, o, m) +# define BOOST_PP_FOR_47(s, p, o, m) BOOST_PP_IF(p(48, s), m, BOOST_PP_TUPLE_EAT_2)(48, s) BOOST_PP_IF(p(48, s), BOOST_PP_FOR_48, BOOST_PP_TUPLE_EAT_4)(o(48, s), p, o, m) +# define BOOST_PP_FOR_48(s, p, o, m) BOOST_PP_IF(p(49, s), m, BOOST_PP_TUPLE_EAT_2)(49, s) BOOST_PP_IF(p(49, s), BOOST_PP_FOR_49, BOOST_PP_TUPLE_EAT_4)(o(49, s), p, o, m) +# define BOOST_PP_FOR_49(s, p, o, m) BOOST_PP_IF(p(50, s), m, BOOST_PP_TUPLE_EAT_2)(50, s) BOOST_PP_IF(p(50, s), BOOST_PP_FOR_50, BOOST_PP_TUPLE_EAT_4)(o(50, s), p, o, m) +# define BOOST_PP_FOR_50(s, p, o, m) BOOST_PP_IF(p(51, s), m, BOOST_PP_TUPLE_EAT_2)(51, s) BOOST_PP_IF(p(51, s), BOOST_PP_FOR_51, BOOST_PP_TUPLE_EAT_4)(o(51, s), p, o, m) +# define BOOST_PP_FOR_51(s, p, o, m) BOOST_PP_IF(p(52, s), m, BOOST_PP_TUPLE_EAT_2)(52, s) BOOST_PP_IF(p(52, s), BOOST_PP_FOR_52, BOOST_PP_TUPLE_EAT_4)(o(52, s), p, o, m) +# define BOOST_PP_FOR_52(s, p, o, m) BOOST_PP_IF(p(53, s), m, BOOST_PP_TUPLE_EAT_2)(53, s) BOOST_PP_IF(p(53, s), BOOST_PP_FOR_53, BOOST_PP_TUPLE_EAT_4)(o(53, s), p, o, m) +# define BOOST_PP_FOR_53(s, p, o, m) BOOST_PP_IF(p(54, s), m, BOOST_PP_TUPLE_EAT_2)(54, s) BOOST_PP_IF(p(54, s), BOOST_PP_FOR_54, BOOST_PP_TUPLE_EAT_4)(o(54, s), p, o, m) +# define BOOST_PP_FOR_54(s, p, o, m) BOOST_PP_IF(p(55, s), m, BOOST_PP_TUPLE_EAT_2)(55, s) BOOST_PP_IF(p(55, s), BOOST_PP_FOR_55, BOOST_PP_TUPLE_EAT_4)(o(55, s), p, o, m) +# define BOOST_PP_FOR_55(s, p, o, m) BOOST_PP_IF(p(56, s), m, BOOST_PP_TUPLE_EAT_2)(56, s) BOOST_PP_IF(p(56, s), BOOST_PP_FOR_56, BOOST_PP_TUPLE_EAT_4)(o(56, s), p, o, m) +# define BOOST_PP_FOR_56(s, p, o, m) BOOST_PP_IF(p(57, s), m, BOOST_PP_TUPLE_EAT_2)(57, s) BOOST_PP_IF(p(57, s), BOOST_PP_FOR_57, BOOST_PP_TUPLE_EAT_4)(o(57, s), p, o, m) +# define BOOST_PP_FOR_57(s, p, o, m) BOOST_PP_IF(p(58, s), m, BOOST_PP_TUPLE_EAT_2)(58, s) BOOST_PP_IF(p(58, s), BOOST_PP_FOR_58, BOOST_PP_TUPLE_EAT_4)(o(58, s), p, o, m) +# define BOOST_PP_FOR_58(s, p, o, m) BOOST_PP_IF(p(59, s), m, BOOST_PP_TUPLE_EAT_2)(59, s) BOOST_PP_IF(p(59, s), BOOST_PP_FOR_59, BOOST_PP_TUPLE_EAT_4)(o(59, s), p, o, m) +# define BOOST_PP_FOR_59(s, p, o, m) BOOST_PP_IF(p(60, s), m, BOOST_PP_TUPLE_EAT_2)(60, s) BOOST_PP_IF(p(60, s), BOOST_PP_FOR_60, BOOST_PP_TUPLE_EAT_4)(o(60, s), p, o, m) +# define BOOST_PP_FOR_60(s, p, o, m) BOOST_PP_IF(p(61, s), m, BOOST_PP_TUPLE_EAT_2)(61, s) BOOST_PP_IF(p(61, s), BOOST_PP_FOR_61, BOOST_PP_TUPLE_EAT_4)(o(61, s), p, o, m) +# define BOOST_PP_FOR_61(s, p, o, m) BOOST_PP_IF(p(62, s), m, BOOST_PP_TUPLE_EAT_2)(62, s) BOOST_PP_IF(p(62, s), BOOST_PP_FOR_62, BOOST_PP_TUPLE_EAT_4)(o(62, s), p, o, m) +# define BOOST_PP_FOR_62(s, p, o, m) BOOST_PP_IF(p(63, s), m, BOOST_PP_TUPLE_EAT_2)(63, s) BOOST_PP_IF(p(63, s), BOOST_PP_FOR_63, BOOST_PP_TUPLE_EAT_4)(o(63, s), p, o, m) +# define BOOST_PP_FOR_63(s, p, o, m) BOOST_PP_IF(p(64, s), m, BOOST_PP_TUPLE_EAT_2)(64, s) BOOST_PP_IF(p(64, s), BOOST_PP_FOR_64, BOOST_PP_TUPLE_EAT_4)(o(64, s), p, o, m) +# define BOOST_PP_FOR_64(s, p, o, m) BOOST_PP_IF(p(65, s), m, BOOST_PP_TUPLE_EAT_2)(65, s) BOOST_PP_IF(p(65, s), BOOST_PP_FOR_65, BOOST_PP_TUPLE_EAT_4)(o(65, s), p, o, m) +# define BOOST_PP_FOR_65(s, p, o, m) BOOST_PP_IF(p(66, s), m, BOOST_PP_TUPLE_EAT_2)(66, s) BOOST_PP_IF(p(66, s), BOOST_PP_FOR_66, BOOST_PP_TUPLE_EAT_4)(o(66, s), p, o, m) +# define BOOST_PP_FOR_66(s, p, o, m) BOOST_PP_IF(p(67, s), m, BOOST_PP_TUPLE_EAT_2)(67, s) BOOST_PP_IF(p(67, s), BOOST_PP_FOR_67, BOOST_PP_TUPLE_EAT_4)(o(67, s), p, o, m) +# define BOOST_PP_FOR_67(s, p, o, m) BOOST_PP_IF(p(68, s), m, BOOST_PP_TUPLE_EAT_2)(68, s) BOOST_PP_IF(p(68, s), BOOST_PP_FOR_68, BOOST_PP_TUPLE_EAT_4)(o(68, s), p, o, m) +# define BOOST_PP_FOR_68(s, p, o, m) BOOST_PP_IF(p(69, s), m, BOOST_PP_TUPLE_EAT_2)(69, s) BOOST_PP_IF(p(69, s), BOOST_PP_FOR_69, BOOST_PP_TUPLE_EAT_4)(o(69, s), p, o, m) +# define BOOST_PP_FOR_69(s, p, o, m) BOOST_PP_IF(p(70, s), m, BOOST_PP_TUPLE_EAT_2)(70, s) BOOST_PP_IF(p(70, s), BOOST_PP_FOR_70, BOOST_PP_TUPLE_EAT_4)(o(70, s), p, o, m) +# define BOOST_PP_FOR_70(s, p, o, m) BOOST_PP_IF(p(71, s), m, BOOST_PP_TUPLE_EAT_2)(71, s) BOOST_PP_IF(p(71, s), BOOST_PP_FOR_71, BOOST_PP_TUPLE_EAT_4)(o(71, s), p, o, m) +# define BOOST_PP_FOR_71(s, p, o, m) BOOST_PP_IF(p(72, s), m, BOOST_PP_TUPLE_EAT_2)(72, s) BOOST_PP_IF(p(72, s), BOOST_PP_FOR_72, BOOST_PP_TUPLE_EAT_4)(o(72, s), p, o, m) +# define BOOST_PP_FOR_72(s, p, o, m) BOOST_PP_IF(p(73, s), m, BOOST_PP_TUPLE_EAT_2)(73, s) BOOST_PP_IF(p(73, s), BOOST_PP_FOR_73, BOOST_PP_TUPLE_EAT_4)(o(73, s), p, o, m) +# define BOOST_PP_FOR_73(s, p, o, m) BOOST_PP_IF(p(74, s), m, BOOST_PP_TUPLE_EAT_2)(74, s) BOOST_PP_IF(p(74, s), BOOST_PP_FOR_74, BOOST_PP_TUPLE_EAT_4)(o(74, s), p, o, m) +# define BOOST_PP_FOR_74(s, p, o, m) BOOST_PP_IF(p(75, s), m, BOOST_PP_TUPLE_EAT_2)(75, s) BOOST_PP_IF(p(75, s), BOOST_PP_FOR_75, BOOST_PP_TUPLE_EAT_4)(o(75, s), p, o, m) +# define BOOST_PP_FOR_75(s, p, o, m) BOOST_PP_IF(p(76, s), m, BOOST_PP_TUPLE_EAT_2)(76, s) BOOST_PP_IF(p(76, s), BOOST_PP_FOR_76, BOOST_PP_TUPLE_EAT_4)(o(76, s), p, o, m) +# define BOOST_PP_FOR_76(s, p, o, m) BOOST_PP_IF(p(77, s), m, BOOST_PP_TUPLE_EAT_2)(77, s) BOOST_PP_IF(p(77, s), BOOST_PP_FOR_77, BOOST_PP_TUPLE_EAT_4)(o(77, s), p, o, m) +# define BOOST_PP_FOR_77(s, p, o, m) BOOST_PP_IF(p(78, s), m, BOOST_PP_TUPLE_EAT_2)(78, s) BOOST_PP_IF(p(78, s), BOOST_PP_FOR_78, BOOST_PP_TUPLE_EAT_4)(o(78, s), p, o, m) +# define BOOST_PP_FOR_78(s, p, o, m) BOOST_PP_IF(p(79, s), m, BOOST_PP_TUPLE_EAT_2)(79, s) BOOST_PP_IF(p(79, s), BOOST_PP_FOR_79, BOOST_PP_TUPLE_EAT_4)(o(79, s), p, o, m) +# define BOOST_PP_FOR_79(s, p, o, m) BOOST_PP_IF(p(80, s), m, BOOST_PP_TUPLE_EAT_2)(80, s) BOOST_PP_IF(p(80, s), BOOST_PP_FOR_80, BOOST_PP_TUPLE_EAT_4)(o(80, s), p, o, m) +# define BOOST_PP_FOR_80(s, p, o, m) BOOST_PP_IF(p(81, s), m, BOOST_PP_TUPLE_EAT_2)(81, s) BOOST_PP_IF(p(81, s), BOOST_PP_FOR_81, BOOST_PP_TUPLE_EAT_4)(o(81, s), p, o, m) +# define BOOST_PP_FOR_81(s, p, o, m) BOOST_PP_IF(p(82, s), m, BOOST_PP_TUPLE_EAT_2)(82, s) BOOST_PP_IF(p(82, s), BOOST_PP_FOR_82, BOOST_PP_TUPLE_EAT_4)(o(82, s), p, o, m) +# define BOOST_PP_FOR_82(s, p, o, m) BOOST_PP_IF(p(83, s), m, BOOST_PP_TUPLE_EAT_2)(83, s) BOOST_PP_IF(p(83, s), BOOST_PP_FOR_83, BOOST_PP_TUPLE_EAT_4)(o(83, s), p, o, m) +# define BOOST_PP_FOR_83(s, p, o, m) BOOST_PP_IF(p(84, s), m, BOOST_PP_TUPLE_EAT_2)(84, s) BOOST_PP_IF(p(84, s), BOOST_PP_FOR_84, BOOST_PP_TUPLE_EAT_4)(o(84, s), p, o, m) +# define BOOST_PP_FOR_84(s, p, o, m) BOOST_PP_IF(p(85, s), m, BOOST_PP_TUPLE_EAT_2)(85, s) BOOST_PP_IF(p(85, s), BOOST_PP_FOR_85, BOOST_PP_TUPLE_EAT_4)(o(85, s), p, o, m) +# define BOOST_PP_FOR_85(s, p, o, m) BOOST_PP_IF(p(86, s), m, BOOST_PP_TUPLE_EAT_2)(86, s) BOOST_PP_IF(p(86, s), BOOST_PP_FOR_86, BOOST_PP_TUPLE_EAT_4)(o(86, s), p, o, m) +# define BOOST_PP_FOR_86(s, p, o, m) BOOST_PP_IF(p(87, s), m, BOOST_PP_TUPLE_EAT_2)(87, s) BOOST_PP_IF(p(87, s), BOOST_PP_FOR_87, BOOST_PP_TUPLE_EAT_4)(o(87, s), p, o, m) +# define BOOST_PP_FOR_87(s, p, o, m) BOOST_PP_IF(p(88, s), m, BOOST_PP_TUPLE_EAT_2)(88, s) BOOST_PP_IF(p(88, s), BOOST_PP_FOR_88, BOOST_PP_TUPLE_EAT_4)(o(88, s), p, o, m) +# define BOOST_PP_FOR_88(s, p, o, m) BOOST_PP_IF(p(89, s), m, BOOST_PP_TUPLE_EAT_2)(89, s) BOOST_PP_IF(p(89, s), BOOST_PP_FOR_89, BOOST_PP_TUPLE_EAT_4)(o(89, s), p, o, m) +# define BOOST_PP_FOR_89(s, p, o, m) BOOST_PP_IF(p(90, s), m, BOOST_PP_TUPLE_EAT_2)(90, s) BOOST_PP_IF(p(90, s), BOOST_PP_FOR_90, BOOST_PP_TUPLE_EAT_4)(o(90, s), p, o, m) +# define BOOST_PP_FOR_90(s, p, o, m) BOOST_PP_IF(p(91, s), m, BOOST_PP_TUPLE_EAT_2)(91, s) BOOST_PP_IF(p(91, s), BOOST_PP_FOR_91, BOOST_PP_TUPLE_EAT_4)(o(91, s), p, o, m) +# define BOOST_PP_FOR_91(s, p, o, m) BOOST_PP_IF(p(92, s), m, BOOST_PP_TUPLE_EAT_2)(92, s) BOOST_PP_IF(p(92, s), BOOST_PP_FOR_92, BOOST_PP_TUPLE_EAT_4)(o(92, s), p, o, m) +# define BOOST_PP_FOR_92(s, p, o, m) BOOST_PP_IF(p(93, s), m, BOOST_PP_TUPLE_EAT_2)(93, s) BOOST_PP_IF(p(93, s), BOOST_PP_FOR_93, BOOST_PP_TUPLE_EAT_4)(o(93, s), p, o, m) +# define BOOST_PP_FOR_93(s, p, o, m) BOOST_PP_IF(p(94, s), m, BOOST_PP_TUPLE_EAT_2)(94, s) BOOST_PP_IF(p(94, s), BOOST_PP_FOR_94, BOOST_PP_TUPLE_EAT_4)(o(94, s), p, o, m) +# define BOOST_PP_FOR_94(s, p, o, m) BOOST_PP_IF(p(95, s), m, BOOST_PP_TUPLE_EAT_2)(95, s) BOOST_PP_IF(p(95, s), BOOST_PP_FOR_95, BOOST_PP_TUPLE_EAT_4)(o(95, s), p, o, m) +# define BOOST_PP_FOR_95(s, p, o, m) BOOST_PP_IF(p(96, s), m, BOOST_PP_TUPLE_EAT_2)(96, s) BOOST_PP_IF(p(96, s), BOOST_PP_FOR_96, BOOST_PP_TUPLE_EAT_4)(o(96, s), p, o, m) +# define BOOST_PP_FOR_96(s, p, o, m) BOOST_PP_IF(p(97, s), m, BOOST_PP_TUPLE_EAT_2)(97, s) BOOST_PP_IF(p(97, s), BOOST_PP_FOR_97, BOOST_PP_TUPLE_EAT_4)(o(97, s), p, o, m) +# define BOOST_PP_FOR_97(s, p, o, m) BOOST_PP_IF(p(98, s), m, BOOST_PP_TUPLE_EAT_2)(98, s) BOOST_PP_IF(p(98, s), BOOST_PP_FOR_98, BOOST_PP_TUPLE_EAT_4)(o(98, s), p, o, m) +# define BOOST_PP_FOR_98(s, p, o, m) BOOST_PP_IF(p(99, s), m, BOOST_PP_TUPLE_EAT_2)(99, s) BOOST_PP_IF(p(99, s), BOOST_PP_FOR_99, BOOST_PP_TUPLE_EAT_4)(o(99, s), p, o, m) +# define BOOST_PP_FOR_99(s, p, o, m) BOOST_PP_IF(p(100, s), m, BOOST_PP_TUPLE_EAT_2)(100, s) BOOST_PP_IF(p(100, s), BOOST_PP_FOR_100, BOOST_PP_TUPLE_EAT_4)(o(100, s), p, o, m) +# define BOOST_PP_FOR_100(s, p, o, m) BOOST_PP_IF(p(101, s), m, BOOST_PP_TUPLE_EAT_2)(101, s) BOOST_PP_IF(p(101, s), BOOST_PP_FOR_101, BOOST_PP_TUPLE_EAT_4)(o(101, s), p, o, m) +# define BOOST_PP_FOR_101(s, p, o, m) BOOST_PP_IF(p(102, s), m, BOOST_PP_TUPLE_EAT_2)(102, s) BOOST_PP_IF(p(102, s), BOOST_PP_FOR_102, BOOST_PP_TUPLE_EAT_4)(o(102, s), p, o, m) +# define BOOST_PP_FOR_102(s, p, o, m) BOOST_PP_IF(p(103, s), m, BOOST_PP_TUPLE_EAT_2)(103, s) BOOST_PP_IF(p(103, s), BOOST_PP_FOR_103, BOOST_PP_TUPLE_EAT_4)(o(103, s), p, o, m) +# define BOOST_PP_FOR_103(s, p, o, m) BOOST_PP_IF(p(104, s), m, BOOST_PP_TUPLE_EAT_2)(104, s) BOOST_PP_IF(p(104, s), BOOST_PP_FOR_104, BOOST_PP_TUPLE_EAT_4)(o(104, s), p, o, m) +# define BOOST_PP_FOR_104(s, p, o, m) BOOST_PP_IF(p(105, s), m, BOOST_PP_TUPLE_EAT_2)(105, s) BOOST_PP_IF(p(105, s), BOOST_PP_FOR_105, BOOST_PP_TUPLE_EAT_4)(o(105, s), p, o, m) +# define BOOST_PP_FOR_105(s, p, o, m) BOOST_PP_IF(p(106, s), m, BOOST_PP_TUPLE_EAT_2)(106, s) BOOST_PP_IF(p(106, s), BOOST_PP_FOR_106, BOOST_PP_TUPLE_EAT_4)(o(106, s), p, o, m) +# define BOOST_PP_FOR_106(s, p, o, m) BOOST_PP_IF(p(107, s), m, BOOST_PP_TUPLE_EAT_2)(107, s) BOOST_PP_IF(p(107, s), BOOST_PP_FOR_107, BOOST_PP_TUPLE_EAT_4)(o(107, s), p, o, m) +# define BOOST_PP_FOR_107(s, p, o, m) BOOST_PP_IF(p(108, s), m, BOOST_PP_TUPLE_EAT_2)(108, s) BOOST_PP_IF(p(108, s), BOOST_PP_FOR_108, BOOST_PP_TUPLE_EAT_4)(o(108, s), p, o, m) +# define BOOST_PP_FOR_108(s, p, o, m) BOOST_PP_IF(p(109, s), m, BOOST_PP_TUPLE_EAT_2)(109, s) BOOST_PP_IF(p(109, s), BOOST_PP_FOR_109, BOOST_PP_TUPLE_EAT_4)(o(109, s), p, o, m) +# define BOOST_PP_FOR_109(s, p, o, m) BOOST_PP_IF(p(110, s), m, BOOST_PP_TUPLE_EAT_2)(110, s) BOOST_PP_IF(p(110, s), BOOST_PP_FOR_110, BOOST_PP_TUPLE_EAT_4)(o(110, s), p, o, m) +# define BOOST_PP_FOR_110(s, p, o, m) BOOST_PP_IF(p(111, s), m, BOOST_PP_TUPLE_EAT_2)(111, s) BOOST_PP_IF(p(111, s), BOOST_PP_FOR_111, BOOST_PP_TUPLE_EAT_4)(o(111, s), p, o, m) +# define BOOST_PP_FOR_111(s, p, o, m) BOOST_PP_IF(p(112, s), m, BOOST_PP_TUPLE_EAT_2)(112, s) BOOST_PP_IF(p(112, s), BOOST_PP_FOR_112, BOOST_PP_TUPLE_EAT_4)(o(112, s), p, o, m) +# define BOOST_PP_FOR_112(s, p, o, m) BOOST_PP_IF(p(113, s), m, BOOST_PP_TUPLE_EAT_2)(113, s) BOOST_PP_IF(p(113, s), BOOST_PP_FOR_113, BOOST_PP_TUPLE_EAT_4)(o(113, s), p, o, m) +# define BOOST_PP_FOR_113(s, p, o, m) BOOST_PP_IF(p(114, s), m, BOOST_PP_TUPLE_EAT_2)(114, s) BOOST_PP_IF(p(114, s), BOOST_PP_FOR_114, BOOST_PP_TUPLE_EAT_4)(o(114, s), p, o, m) +# define BOOST_PP_FOR_114(s, p, o, m) BOOST_PP_IF(p(115, s), m, BOOST_PP_TUPLE_EAT_2)(115, s) BOOST_PP_IF(p(115, s), BOOST_PP_FOR_115, BOOST_PP_TUPLE_EAT_4)(o(115, s), p, o, m) +# define BOOST_PP_FOR_115(s, p, o, m) BOOST_PP_IF(p(116, s), m, BOOST_PP_TUPLE_EAT_2)(116, s) BOOST_PP_IF(p(116, s), BOOST_PP_FOR_116, BOOST_PP_TUPLE_EAT_4)(o(116, s), p, o, m) +# define BOOST_PP_FOR_116(s, p, o, m) BOOST_PP_IF(p(117, s), m, BOOST_PP_TUPLE_EAT_2)(117, s) BOOST_PP_IF(p(117, s), BOOST_PP_FOR_117, BOOST_PP_TUPLE_EAT_4)(o(117, s), p, o, m) +# define BOOST_PP_FOR_117(s, p, o, m) BOOST_PP_IF(p(118, s), m, BOOST_PP_TUPLE_EAT_2)(118, s) BOOST_PP_IF(p(118, s), BOOST_PP_FOR_118, BOOST_PP_TUPLE_EAT_4)(o(118, s), p, o, m) +# define BOOST_PP_FOR_118(s, p, o, m) BOOST_PP_IF(p(119, s), m, BOOST_PP_TUPLE_EAT_2)(119, s) BOOST_PP_IF(p(119, s), BOOST_PP_FOR_119, BOOST_PP_TUPLE_EAT_4)(o(119, s), p, o, m) +# define BOOST_PP_FOR_119(s, p, o, m) BOOST_PP_IF(p(120, s), m, BOOST_PP_TUPLE_EAT_2)(120, s) BOOST_PP_IF(p(120, s), BOOST_PP_FOR_120, BOOST_PP_TUPLE_EAT_4)(o(120, s), p, o, m) +# define BOOST_PP_FOR_120(s, p, o, m) BOOST_PP_IF(p(121, s), m, BOOST_PP_TUPLE_EAT_2)(121, s) BOOST_PP_IF(p(121, s), BOOST_PP_FOR_121, BOOST_PP_TUPLE_EAT_4)(o(121, s), p, o, m) +# define BOOST_PP_FOR_121(s, p, o, m) BOOST_PP_IF(p(122, s), m, BOOST_PP_TUPLE_EAT_2)(122, s) BOOST_PP_IF(p(122, s), BOOST_PP_FOR_122, BOOST_PP_TUPLE_EAT_4)(o(122, s), p, o, m) +# define BOOST_PP_FOR_122(s, p, o, m) BOOST_PP_IF(p(123, s), m, BOOST_PP_TUPLE_EAT_2)(123, s) BOOST_PP_IF(p(123, s), BOOST_PP_FOR_123, BOOST_PP_TUPLE_EAT_4)(o(123, s), p, o, m) +# define BOOST_PP_FOR_123(s, p, o, m) BOOST_PP_IF(p(124, s), m, BOOST_PP_TUPLE_EAT_2)(124, s) BOOST_PP_IF(p(124, s), BOOST_PP_FOR_124, BOOST_PP_TUPLE_EAT_4)(o(124, s), p, o, m) +# define BOOST_PP_FOR_124(s, p, o, m) BOOST_PP_IF(p(125, s), m, BOOST_PP_TUPLE_EAT_2)(125, s) BOOST_PP_IF(p(125, s), BOOST_PP_FOR_125, BOOST_PP_TUPLE_EAT_4)(o(125, s), p, o, m) +# define BOOST_PP_FOR_125(s, p, o, m) BOOST_PP_IF(p(126, s), m, BOOST_PP_TUPLE_EAT_2)(126, s) BOOST_PP_IF(p(126, s), BOOST_PP_FOR_126, BOOST_PP_TUPLE_EAT_4)(o(126, s), p, o, m) +# define BOOST_PP_FOR_126(s, p, o, m) BOOST_PP_IF(p(127, s), m, BOOST_PP_TUPLE_EAT_2)(127, s) BOOST_PP_IF(p(127, s), BOOST_PP_FOR_127, BOOST_PP_TUPLE_EAT_4)(o(127, s), p, o, m) +# define BOOST_PP_FOR_127(s, p, o, m) BOOST_PP_IF(p(128, s), m, BOOST_PP_TUPLE_EAT_2)(128, s) BOOST_PP_IF(p(128, s), BOOST_PP_FOR_128, BOOST_PP_TUPLE_EAT_4)(o(128, s), p, o, m) +# define BOOST_PP_FOR_128(s, p, o, m) BOOST_PP_IF(p(129, s), m, BOOST_PP_TUPLE_EAT_2)(129, s) BOOST_PP_IF(p(129, s), BOOST_PP_FOR_129, BOOST_PP_TUPLE_EAT_4)(o(129, s), p, o, m) +# define BOOST_PP_FOR_129(s, p, o, m) BOOST_PP_IF(p(130, s), m, BOOST_PP_TUPLE_EAT_2)(130, s) BOOST_PP_IF(p(130, s), BOOST_PP_FOR_130, BOOST_PP_TUPLE_EAT_4)(o(130, s), p, o, m) +# define BOOST_PP_FOR_130(s, p, o, m) BOOST_PP_IF(p(131, s), m, BOOST_PP_TUPLE_EAT_2)(131, s) BOOST_PP_IF(p(131, s), BOOST_PP_FOR_131, BOOST_PP_TUPLE_EAT_4)(o(131, s), p, o, m) +# define BOOST_PP_FOR_131(s, p, o, m) BOOST_PP_IF(p(132, s), m, BOOST_PP_TUPLE_EAT_2)(132, s) BOOST_PP_IF(p(132, s), BOOST_PP_FOR_132, BOOST_PP_TUPLE_EAT_4)(o(132, s), p, o, m) +# define BOOST_PP_FOR_132(s, p, o, m) BOOST_PP_IF(p(133, s), m, BOOST_PP_TUPLE_EAT_2)(133, s) BOOST_PP_IF(p(133, s), BOOST_PP_FOR_133, BOOST_PP_TUPLE_EAT_4)(o(133, s), p, o, m) +# define BOOST_PP_FOR_133(s, p, o, m) BOOST_PP_IF(p(134, s), m, BOOST_PP_TUPLE_EAT_2)(134, s) BOOST_PP_IF(p(134, s), BOOST_PP_FOR_134, BOOST_PP_TUPLE_EAT_4)(o(134, s), p, o, m) +# define BOOST_PP_FOR_134(s, p, o, m) BOOST_PP_IF(p(135, s), m, BOOST_PP_TUPLE_EAT_2)(135, s) BOOST_PP_IF(p(135, s), BOOST_PP_FOR_135, BOOST_PP_TUPLE_EAT_4)(o(135, s), p, o, m) +# define BOOST_PP_FOR_135(s, p, o, m) BOOST_PP_IF(p(136, s), m, BOOST_PP_TUPLE_EAT_2)(136, s) BOOST_PP_IF(p(136, s), BOOST_PP_FOR_136, BOOST_PP_TUPLE_EAT_4)(o(136, s), p, o, m) +# define BOOST_PP_FOR_136(s, p, o, m) BOOST_PP_IF(p(137, s), m, BOOST_PP_TUPLE_EAT_2)(137, s) BOOST_PP_IF(p(137, s), BOOST_PP_FOR_137, BOOST_PP_TUPLE_EAT_4)(o(137, s), p, o, m) +# define BOOST_PP_FOR_137(s, p, o, m) BOOST_PP_IF(p(138, s), m, BOOST_PP_TUPLE_EAT_2)(138, s) BOOST_PP_IF(p(138, s), BOOST_PP_FOR_138, BOOST_PP_TUPLE_EAT_4)(o(138, s), p, o, m) +# define BOOST_PP_FOR_138(s, p, o, m) BOOST_PP_IF(p(139, s), m, BOOST_PP_TUPLE_EAT_2)(139, s) BOOST_PP_IF(p(139, s), BOOST_PP_FOR_139, BOOST_PP_TUPLE_EAT_4)(o(139, s), p, o, m) +# define BOOST_PP_FOR_139(s, p, o, m) BOOST_PP_IF(p(140, s), m, BOOST_PP_TUPLE_EAT_2)(140, s) BOOST_PP_IF(p(140, s), BOOST_PP_FOR_140, BOOST_PP_TUPLE_EAT_4)(o(140, s), p, o, m) +# define BOOST_PP_FOR_140(s, p, o, m) BOOST_PP_IF(p(141, s), m, BOOST_PP_TUPLE_EAT_2)(141, s) BOOST_PP_IF(p(141, s), BOOST_PP_FOR_141, BOOST_PP_TUPLE_EAT_4)(o(141, s), p, o, m) +# define BOOST_PP_FOR_141(s, p, o, m) BOOST_PP_IF(p(142, s), m, BOOST_PP_TUPLE_EAT_2)(142, s) BOOST_PP_IF(p(142, s), BOOST_PP_FOR_142, BOOST_PP_TUPLE_EAT_4)(o(142, s), p, o, m) +# define BOOST_PP_FOR_142(s, p, o, m) BOOST_PP_IF(p(143, s), m, BOOST_PP_TUPLE_EAT_2)(143, s) BOOST_PP_IF(p(143, s), BOOST_PP_FOR_143, BOOST_PP_TUPLE_EAT_4)(o(143, s), p, o, m) +# define BOOST_PP_FOR_143(s, p, o, m) BOOST_PP_IF(p(144, s), m, BOOST_PP_TUPLE_EAT_2)(144, s) BOOST_PP_IF(p(144, s), BOOST_PP_FOR_144, BOOST_PP_TUPLE_EAT_4)(o(144, s), p, o, m) +# define BOOST_PP_FOR_144(s, p, o, m) BOOST_PP_IF(p(145, s), m, BOOST_PP_TUPLE_EAT_2)(145, s) BOOST_PP_IF(p(145, s), BOOST_PP_FOR_145, BOOST_PP_TUPLE_EAT_4)(o(145, s), p, o, m) +# define BOOST_PP_FOR_145(s, p, o, m) BOOST_PP_IF(p(146, s), m, BOOST_PP_TUPLE_EAT_2)(146, s) BOOST_PP_IF(p(146, s), BOOST_PP_FOR_146, BOOST_PP_TUPLE_EAT_4)(o(146, s), p, o, m) +# define BOOST_PP_FOR_146(s, p, o, m) BOOST_PP_IF(p(147, s), m, BOOST_PP_TUPLE_EAT_2)(147, s) BOOST_PP_IF(p(147, s), BOOST_PP_FOR_147, BOOST_PP_TUPLE_EAT_4)(o(147, s), p, o, m) +# define BOOST_PP_FOR_147(s, p, o, m) BOOST_PP_IF(p(148, s), m, BOOST_PP_TUPLE_EAT_2)(148, s) BOOST_PP_IF(p(148, s), BOOST_PP_FOR_148, BOOST_PP_TUPLE_EAT_4)(o(148, s), p, o, m) +# define BOOST_PP_FOR_148(s, p, o, m) BOOST_PP_IF(p(149, s), m, BOOST_PP_TUPLE_EAT_2)(149, s) BOOST_PP_IF(p(149, s), BOOST_PP_FOR_149, BOOST_PP_TUPLE_EAT_4)(o(149, s), p, o, m) +# define BOOST_PP_FOR_149(s, p, o, m) BOOST_PP_IF(p(150, s), m, BOOST_PP_TUPLE_EAT_2)(150, s) BOOST_PP_IF(p(150, s), BOOST_PP_FOR_150, BOOST_PP_TUPLE_EAT_4)(o(150, s), p, o, m) +# define BOOST_PP_FOR_150(s, p, o, m) BOOST_PP_IF(p(151, s), m, BOOST_PP_TUPLE_EAT_2)(151, s) BOOST_PP_IF(p(151, s), BOOST_PP_FOR_151, BOOST_PP_TUPLE_EAT_4)(o(151, s), p, o, m) +# define BOOST_PP_FOR_151(s, p, o, m) BOOST_PP_IF(p(152, s), m, BOOST_PP_TUPLE_EAT_2)(152, s) BOOST_PP_IF(p(152, s), BOOST_PP_FOR_152, BOOST_PP_TUPLE_EAT_4)(o(152, s), p, o, m) +# define BOOST_PP_FOR_152(s, p, o, m) BOOST_PP_IF(p(153, s), m, BOOST_PP_TUPLE_EAT_2)(153, s) BOOST_PP_IF(p(153, s), BOOST_PP_FOR_153, BOOST_PP_TUPLE_EAT_4)(o(153, s), p, o, m) +# define BOOST_PP_FOR_153(s, p, o, m) BOOST_PP_IF(p(154, s), m, BOOST_PP_TUPLE_EAT_2)(154, s) BOOST_PP_IF(p(154, s), BOOST_PP_FOR_154, BOOST_PP_TUPLE_EAT_4)(o(154, s), p, o, m) +# define BOOST_PP_FOR_154(s, p, o, m) BOOST_PP_IF(p(155, s), m, BOOST_PP_TUPLE_EAT_2)(155, s) BOOST_PP_IF(p(155, s), BOOST_PP_FOR_155, BOOST_PP_TUPLE_EAT_4)(o(155, s), p, o, m) +# define BOOST_PP_FOR_155(s, p, o, m) BOOST_PP_IF(p(156, s), m, BOOST_PP_TUPLE_EAT_2)(156, s) BOOST_PP_IF(p(156, s), BOOST_PP_FOR_156, BOOST_PP_TUPLE_EAT_4)(o(156, s), p, o, m) +# define BOOST_PP_FOR_156(s, p, o, m) BOOST_PP_IF(p(157, s), m, BOOST_PP_TUPLE_EAT_2)(157, s) BOOST_PP_IF(p(157, s), BOOST_PP_FOR_157, BOOST_PP_TUPLE_EAT_4)(o(157, s), p, o, m) +# define BOOST_PP_FOR_157(s, p, o, m) BOOST_PP_IF(p(158, s), m, BOOST_PP_TUPLE_EAT_2)(158, s) BOOST_PP_IF(p(158, s), BOOST_PP_FOR_158, BOOST_PP_TUPLE_EAT_4)(o(158, s), p, o, m) +# define BOOST_PP_FOR_158(s, p, o, m) BOOST_PP_IF(p(159, s), m, BOOST_PP_TUPLE_EAT_2)(159, s) BOOST_PP_IF(p(159, s), BOOST_PP_FOR_159, BOOST_PP_TUPLE_EAT_4)(o(159, s), p, o, m) +# define BOOST_PP_FOR_159(s, p, o, m) BOOST_PP_IF(p(160, s), m, BOOST_PP_TUPLE_EAT_2)(160, s) BOOST_PP_IF(p(160, s), BOOST_PP_FOR_160, BOOST_PP_TUPLE_EAT_4)(o(160, s), p, o, m) +# define BOOST_PP_FOR_160(s, p, o, m) BOOST_PP_IF(p(161, s), m, BOOST_PP_TUPLE_EAT_2)(161, s) BOOST_PP_IF(p(161, s), BOOST_PP_FOR_161, BOOST_PP_TUPLE_EAT_4)(o(161, s), p, o, m) +# define BOOST_PP_FOR_161(s, p, o, m) BOOST_PP_IF(p(162, s), m, BOOST_PP_TUPLE_EAT_2)(162, s) BOOST_PP_IF(p(162, s), BOOST_PP_FOR_162, BOOST_PP_TUPLE_EAT_4)(o(162, s), p, o, m) +# define BOOST_PP_FOR_162(s, p, o, m) BOOST_PP_IF(p(163, s), m, BOOST_PP_TUPLE_EAT_2)(163, s) BOOST_PP_IF(p(163, s), BOOST_PP_FOR_163, BOOST_PP_TUPLE_EAT_4)(o(163, s), p, o, m) +# define BOOST_PP_FOR_163(s, p, o, m) BOOST_PP_IF(p(164, s), m, BOOST_PP_TUPLE_EAT_2)(164, s) BOOST_PP_IF(p(164, s), BOOST_PP_FOR_164, BOOST_PP_TUPLE_EAT_4)(o(164, s), p, o, m) +# define BOOST_PP_FOR_164(s, p, o, m) BOOST_PP_IF(p(165, s), m, BOOST_PP_TUPLE_EAT_2)(165, s) BOOST_PP_IF(p(165, s), BOOST_PP_FOR_165, BOOST_PP_TUPLE_EAT_4)(o(165, s), p, o, m) +# define BOOST_PP_FOR_165(s, p, o, m) BOOST_PP_IF(p(166, s), m, BOOST_PP_TUPLE_EAT_2)(166, s) BOOST_PP_IF(p(166, s), BOOST_PP_FOR_166, BOOST_PP_TUPLE_EAT_4)(o(166, s), p, o, m) +# define BOOST_PP_FOR_166(s, p, o, m) BOOST_PP_IF(p(167, s), m, BOOST_PP_TUPLE_EAT_2)(167, s) BOOST_PP_IF(p(167, s), BOOST_PP_FOR_167, BOOST_PP_TUPLE_EAT_4)(o(167, s), p, o, m) +# define BOOST_PP_FOR_167(s, p, o, m) BOOST_PP_IF(p(168, s), m, BOOST_PP_TUPLE_EAT_2)(168, s) BOOST_PP_IF(p(168, s), BOOST_PP_FOR_168, BOOST_PP_TUPLE_EAT_4)(o(168, s), p, o, m) +# define BOOST_PP_FOR_168(s, p, o, m) BOOST_PP_IF(p(169, s), m, BOOST_PP_TUPLE_EAT_2)(169, s) BOOST_PP_IF(p(169, s), BOOST_PP_FOR_169, BOOST_PP_TUPLE_EAT_4)(o(169, s), p, o, m) +# define BOOST_PP_FOR_169(s, p, o, m) BOOST_PP_IF(p(170, s), m, BOOST_PP_TUPLE_EAT_2)(170, s) BOOST_PP_IF(p(170, s), BOOST_PP_FOR_170, BOOST_PP_TUPLE_EAT_4)(o(170, s), p, o, m) +# define BOOST_PP_FOR_170(s, p, o, m) BOOST_PP_IF(p(171, s), m, BOOST_PP_TUPLE_EAT_2)(171, s) BOOST_PP_IF(p(171, s), BOOST_PP_FOR_171, BOOST_PP_TUPLE_EAT_4)(o(171, s), p, o, m) +# define BOOST_PP_FOR_171(s, p, o, m) BOOST_PP_IF(p(172, s), m, BOOST_PP_TUPLE_EAT_2)(172, s) BOOST_PP_IF(p(172, s), BOOST_PP_FOR_172, BOOST_PP_TUPLE_EAT_4)(o(172, s), p, o, m) +# define BOOST_PP_FOR_172(s, p, o, m) BOOST_PP_IF(p(173, s), m, BOOST_PP_TUPLE_EAT_2)(173, s) BOOST_PP_IF(p(173, s), BOOST_PP_FOR_173, BOOST_PP_TUPLE_EAT_4)(o(173, s), p, o, m) +# define BOOST_PP_FOR_173(s, p, o, m) BOOST_PP_IF(p(174, s), m, BOOST_PP_TUPLE_EAT_2)(174, s) BOOST_PP_IF(p(174, s), BOOST_PP_FOR_174, BOOST_PP_TUPLE_EAT_4)(o(174, s), p, o, m) +# define BOOST_PP_FOR_174(s, p, o, m) BOOST_PP_IF(p(175, s), m, BOOST_PP_TUPLE_EAT_2)(175, s) BOOST_PP_IF(p(175, s), BOOST_PP_FOR_175, BOOST_PP_TUPLE_EAT_4)(o(175, s), p, o, m) +# define BOOST_PP_FOR_175(s, p, o, m) BOOST_PP_IF(p(176, s), m, BOOST_PP_TUPLE_EAT_2)(176, s) BOOST_PP_IF(p(176, s), BOOST_PP_FOR_176, BOOST_PP_TUPLE_EAT_4)(o(176, s), p, o, m) +# define BOOST_PP_FOR_176(s, p, o, m) BOOST_PP_IF(p(177, s), m, BOOST_PP_TUPLE_EAT_2)(177, s) BOOST_PP_IF(p(177, s), BOOST_PP_FOR_177, BOOST_PP_TUPLE_EAT_4)(o(177, s), p, o, m) +# define BOOST_PP_FOR_177(s, p, o, m) BOOST_PP_IF(p(178, s), m, BOOST_PP_TUPLE_EAT_2)(178, s) BOOST_PP_IF(p(178, s), BOOST_PP_FOR_178, BOOST_PP_TUPLE_EAT_4)(o(178, s), p, o, m) +# define BOOST_PP_FOR_178(s, p, o, m) BOOST_PP_IF(p(179, s), m, BOOST_PP_TUPLE_EAT_2)(179, s) BOOST_PP_IF(p(179, s), BOOST_PP_FOR_179, BOOST_PP_TUPLE_EAT_4)(o(179, s), p, o, m) +# define BOOST_PP_FOR_179(s, p, o, m) BOOST_PP_IF(p(180, s), m, BOOST_PP_TUPLE_EAT_2)(180, s) BOOST_PP_IF(p(180, s), BOOST_PP_FOR_180, BOOST_PP_TUPLE_EAT_4)(o(180, s), p, o, m) +# define BOOST_PP_FOR_180(s, p, o, m) BOOST_PP_IF(p(181, s), m, BOOST_PP_TUPLE_EAT_2)(181, s) BOOST_PP_IF(p(181, s), BOOST_PP_FOR_181, BOOST_PP_TUPLE_EAT_4)(o(181, s), p, o, m) +# define BOOST_PP_FOR_181(s, p, o, m) BOOST_PP_IF(p(182, s), m, BOOST_PP_TUPLE_EAT_2)(182, s) BOOST_PP_IF(p(182, s), BOOST_PP_FOR_182, BOOST_PP_TUPLE_EAT_4)(o(182, s), p, o, m) +# define BOOST_PP_FOR_182(s, p, o, m) BOOST_PP_IF(p(183, s), m, BOOST_PP_TUPLE_EAT_2)(183, s) BOOST_PP_IF(p(183, s), BOOST_PP_FOR_183, BOOST_PP_TUPLE_EAT_4)(o(183, s), p, o, m) +# define BOOST_PP_FOR_183(s, p, o, m) BOOST_PP_IF(p(184, s), m, BOOST_PP_TUPLE_EAT_2)(184, s) BOOST_PP_IF(p(184, s), BOOST_PP_FOR_184, BOOST_PP_TUPLE_EAT_4)(o(184, s), p, o, m) +# define BOOST_PP_FOR_184(s, p, o, m) BOOST_PP_IF(p(185, s), m, BOOST_PP_TUPLE_EAT_2)(185, s) BOOST_PP_IF(p(185, s), BOOST_PP_FOR_185, BOOST_PP_TUPLE_EAT_4)(o(185, s), p, o, m) +# define BOOST_PP_FOR_185(s, p, o, m) BOOST_PP_IF(p(186, s), m, BOOST_PP_TUPLE_EAT_2)(186, s) BOOST_PP_IF(p(186, s), BOOST_PP_FOR_186, BOOST_PP_TUPLE_EAT_4)(o(186, s), p, o, m) +# define BOOST_PP_FOR_186(s, p, o, m) BOOST_PP_IF(p(187, s), m, BOOST_PP_TUPLE_EAT_2)(187, s) BOOST_PP_IF(p(187, s), BOOST_PP_FOR_187, BOOST_PP_TUPLE_EAT_4)(o(187, s), p, o, m) +# define BOOST_PP_FOR_187(s, p, o, m) BOOST_PP_IF(p(188, s), m, BOOST_PP_TUPLE_EAT_2)(188, s) BOOST_PP_IF(p(188, s), BOOST_PP_FOR_188, BOOST_PP_TUPLE_EAT_4)(o(188, s), p, o, m) +# define BOOST_PP_FOR_188(s, p, o, m) BOOST_PP_IF(p(189, s), m, BOOST_PP_TUPLE_EAT_2)(189, s) BOOST_PP_IF(p(189, s), BOOST_PP_FOR_189, BOOST_PP_TUPLE_EAT_4)(o(189, s), p, o, m) +# define BOOST_PP_FOR_189(s, p, o, m) BOOST_PP_IF(p(190, s), m, BOOST_PP_TUPLE_EAT_2)(190, s) BOOST_PP_IF(p(190, s), BOOST_PP_FOR_190, BOOST_PP_TUPLE_EAT_4)(o(190, s), p, o, m) +# define BOOST_PP_FOR_190(s, p, o, m) BOOST_PP_IF(p(191, s), m, BOOST_PP_TUPLE_EAT_2)(191, s) BOOST_PP_IF(p(191, s), BOOST_PP_FOR_191, BOOST_PP_TUPLE_EAT_4)(o(191, s), p, o, m) +# define BOOST_PP_FOR_191(s, p, o, m) BOOST_PP_IF(p(192, s), m, BOOST_PP_TUPLE_EAT_2)(192, s) BOOST_PP_IF(p(192, s), BOOST_PP_FOR_192, BOOST_PP_TUPLE_EAT_4)(o(192, s), p, o, m) +# define BOOST_PP_FOR_192(s, p, o, m) BOOST_PP_IF(p(193, s), m, BOOST_PP_TUPLE_EAT_2)(193, s) BOOST_PP_IF(p(193, s), BOOST_PP_FOR_193, BOOST_PP_TUPLE_EAT_4)(o(193, s), p, o, m) +# define BOOST_PP_FOR_193(s, p, o, m) BOOST_PP_IF(p(194, s), m, BOOST_PP_TUPLE_EAT_2)(194, s) BOOST_PP_IF(p(194, s), BOOST_PP_FOR_194, BOOST_PP_TUPLE_EAT_4)(o(194, s), p, o, m) +# define BOOST_PP_FOR_194(s, p, o, m) BOOST_PP_IF(p(195, s), m, BOOST_PP_TUPLE_EAT_2)(195, s) BOOST_PP_IF(p(195, s), BOOST_PP_FOR_195, BOOST_PP_TUPLE_EAT_4)(o(195, s), p, o, m) +# define BOOST_PP_FOR_195(s, p, o, m) BOOST_PP_IF(p(196, s), m, BOOST_PP_TUPLE_EAT_2)(196, s) BOOST_PP_IF(p(196, s), BOOST_PP_FOR_196, BOOST_PP_TUPLE_EAT_4)(o(196, s), p, o, m) +# define BOOST_PP_FOR_196(s, p, o, m) BOOST_PP_IF(p(197, s), m, BOOST_PP_TUPLE_EAT_2)(197, s) BOOST_PP_IF(p(197, s), BOOST_PP_FOR_197, BOOST_PP_TUPLE_EAT_4)(o(197, s), p, o, m) +# define BOOST_PP_FOR_197(s, p, o, m) BOOST_PP_IF(p(198, s), m, BOOST_PP_TUPLE_EAT_2)(198, s) BOOST_PP_IF(p(198, s), BOOST_PP_FOR_198, BOOST_PP_TUPLE_EAT_4)(o(198, s), p, o, m) +# define BOOST_PP_FOR_198(s, p, o, m) BOOST_PP_IF(p(199, s), m, BOOST_PP_TUPLE_EAT_2)(199, s) BOOST_PP_IF(p(199, s), BOOST_PP_FOR_199, BOOST_PP_TUPLE_EAT_4)(o(199, s), p, o, m) +# define BOOST_PP_FOR_199(s, p, o, m) BOOST_PP_IF(p(200, s), m, BOOST_PP_TUPLE_EAT_2)(200, s) BOOST_PP_IF(p(200, s), BOOST_PP_FOR_200, BOOST_PP_TUPLE_EAT_4)(o(200, s), p, o, m) +# define BOOST_PP_FOR_200(s, p, o, m) BOOST_PP_IF(p(201, s), m, BOOST_PP_TUPLE_EAT_2)(201, s) BOOST_PP_IF(p(201, s), BOOST_PP_FOR_201, BOOST_PP_TUPLE_EAT_4)(o(201, s), p, o, m) +# define BOOST_PP_FOR_201(s, p, o, m) BOOST_PP_IF(p(202, s), m, BOOST_PP_TUPLE_EAT_2)(202, s) BOOST_PP_IF(p(202, s), BOOST_PP_FOR_202, BOOST_PP_TUPLE_EAT_4)(o(202, s), p, o, m) +# define BOOST_PP_FOR_202(s, p, o, m) BOOST_PP_IF(p(203, s), m, BOOST_PP_TUPLE_EAT_2)(203, s) BOOST_PP_IF(p(203, s), BOOST_PP_FOR_203, BOOST_PP_TUPLE_EAT_4)(o(203, s), p, o, m) +# define BOOST_PP_FOR_203(s, p, o, m) BOOST_PP_IF(p(204, s), m, BOOST_PP_TUPLE_EAT_2)(204, s) BOOST_PP_IF(p(204, s), BOOST_PP_FOR_204, BOOST_PP_TUPLE_EAT_4)(o(204, s), p, o, m) +# define BOOST_PP_FOR_204(s, p, o, m) BOOST_PP_IF(p(205, s), m, BOOST_PP_TUPLE_EAT_2)(205, s) BOOST_PP_IF(p(205, s), BOOST_PP_FOR_205, BOOST_PP_TUPLE_EAT_4)(o(205, s), p, o, m) +# define BOOST_PP_FOR_205(s, p, o, m) BOOST_PP_IF(p(206, s), m, BOOST_PP_TUPLE_EAT_2)(206, s) BOOST_PP_IF(p(206, s), BOOST_PP_FOR_206, BOOST_PP_TUPLE_EAT_4)(o(206, s), p, o, m) +# define BOOST_PP_FOR_206(s, p, o, m) BOOST_PP_IF(p(207, s), m, BOOST_PP_TUPLE_EAT_2)(207, s) BOOST_PP_IF(p(207, s), BOOST_PP_FOR_207, BOOST_PP_TUPLE_EAT_4)(o(207, s), p, o, m) +# define BOOST_PP_FOR_207(s, p, o, m) BOOST_PP_IF(p(208, s), m, BOOST_PP_TUPLE_EAT_2)(208, s) BOOST_PP_IF(p(208, s), BOOST_PP_FOR_208, BOOST_PP_TUPLE_EAT_4)(o(208, s), p, o, m) +# define BOOST_PP_FOR_208(s, p, o, m) BOOST_PP_IF(p(209, s), m, BOOST_PP_TUPLE_EAT_2)(209, s) BOOST_PP_IF(p(209, s), BOOST_PP_FOR_209, BOOST_PP_TUPLE_EAT_4)(o(209, s), p, o, m) +# define BOOST_PP_FOR_209(s, p, o, m) BOOST_PP_IF(p(210, s), m, BOOST_PP_TUPLE_EAT_2)(210, s) BOOST_PP_IF(p(210, s), BOOST_PP_FOR_210, BOOST_PP_TUPLE_EAT_4)(o(210, s), p, o, m) +# define BOOST_PP_FOR_210(s, p, o, m) BOOST_PP_IF(p(211, s), m, BOOST_PP_TUPLE_EAT_2)(211, s) BOOST_PP_IF(p(211, s), BOOST_PP_FOR_211, BOOST_PP_TUPLE_EAT_4)(o(211, s), p, o, m) +# define BOOST_PP_FOR_211(s, p, o, m) BOOST_PP_IF(p(212, s), m, BOOST_PP_TUPLE_EAT_2)(212, s) BOOST_PP_IF(p(212, s), BOOST_PP_FOR_212, BOOST_PP_TUPLE_EAT_4)(o(212, s), p, o, m) +# define BOOST_PP_FOR_212(s, p, o, m) BOOST_PP_IF(p(213, s), m, BOOST_PP_TUPLE_EAT_2)(213, s) BOOST_PP_IF(p(213, s), BOOST_PP_FOR_213, BOOST_PP_TUPLE_EAT_4)(o(213, s), p, o, m) +# define BOOST_PP_FOR_213(s, p, o, m) BOOST_PP_IF(p(214, s), m, BOOST_PP_TUPLE_EAT_2)(214, s) BOOST_PP_IF(p(214, s), BOOST_PP_FOR_214, BOOST_PP_TUPLE_EAT_4)(o(214, s), p, o, m) +# define BOOST_PP_FOR_214(s, p, o, m) BOOST_PP_IF(p(215, s), m, BOOST_PP_TUPLE_EAT_2)(215, s) BOOST_PP_IF(p(215, s), BOOST_PP_FOR_215, BOOST_PP_TUPLE_EAT_4)(o(215, s), p, o, m) +# define BOOST_PP_FOR_215(s, p, o, m) BOOST_PP_IF(p(216, s), m, BOOST_PP_TUPLE_EAT_2)(216, s) BOOST_PP_IF(p(216, s), BOOST_PP_FOR_216, BOOST_PP_TUPLE_EAT_4)(o(216, s), p, o, m) +# define BOOST_PP_FOR_216(s, p, o, m) BOOST_PP_IF(p(217, s), m, BOOST_PP_TUPLE_EAT_2)(217, s) BOOST_PP_IF(p(217, s), BOOST_PP_FOR_217, BOOST_PP_TUPLE_EAT_4)(o(217, s), p, o, m) +# define BOOST_PP_FOR_217(s, p, o, m) BOOST_PP_IF(p(218, s), m, BOOST_PP_TUPLE_EAT_2)(218, s) BOOST_PP_IF(p(218, s), BOOST_PP_FOR_218, BOOST_PP_TUPLE_EAT_4)(o(218, s), p, o, m) +# define BOOST_PP_FOR_218(s, p, o, m) BOOST_PP_IF(p(219, s), m, BOOST_PP_TUPLE_EAT_2)(219, s) BOOST_PP_IF(p(219, s), BOOST_PP_FOR_219, BOOST_PP_TUPLE_EAT_4)(o(219, s), p, o, m) +# define BOOST_PP_FOR_219(s, p, o, m) BOOST_PP_IF(p(220, s), m, BOOST_PP_TUPLE_EAT_2)(220, s) BOOST_PP_IF(p(220, s), BOOST_PP_FOR_220, BOOST_PP_TUPLE_EAT_4)(o(220, s), p, o, m) +# define BOOST_PP_FOR_220(s, p, o, m) BOOST_PP_IF(p(221, s), m, BOOST_PP_TUPLE_EAT_2)(221, s) BOOST_PP_IF(p(221, s), BOOST_PP_FOR_221, BOOST_PP_TUPLE_EAT_4)(o(221, s), p, o, m) +# define BOOST_PP_FOR_221(s, p, o, m) BOOST_PP_IF(p(222, s), m, BOOST_PP_TUPLE_EAT_2)(222, s) BOOST_PP_IF(p(222, s), BOOST_PP_FOR_222, BOOST_PP_TUPLE_EAT_4)(o(222, s), p, o, m) +# define BOOST_PP_FOR_222(s, p, o, m) BOOST_PP_IF(p(223, s), m, BOOST_PP_TUPLE_EAT_2)(223, s) BOOST_PP_IF(p(223, s), BOOST_PP_FOR_223, BOOST_PP_TUPLE_EAT_4)(o(223, s), p, o, m) +# define BOOST_PP_FOR_223(s, p, o, m) BOOST_PP_IF(p(224, s), m, BOOST_PP_TUPLE_EAT_2)(224, s) BOOST_PP_IF(p(224, s), BOOST_PP_FOR_224, BOOST_PP_TUPLE_EAT_4)(o(224, s), p, o, m) +# define BOOST_PP_FOR_224(s, p, o, m) BOOST_PP_IF(p(225, s), m, BOOST_PP_TUPLE_EAT_2)(225, s) BOOST_PP_IF(p(225, s), BOOST_PP_FOR_225, BOOST_PP_TUPLE_EAT_4)(o(225, s), p, o, m) +# define BOOST_PP_FOR_225(s, p, o, m) BOOST_PP_IF(p(226, s), m, BOOST_PP_TUPLE_EAT_2)(226, s) BOOST_PP_IF(p(226, s), BOOST_PP_FOR_226, BOOST_PP_TUPLE_EAT_4)(o(226, s), p, o, m) +# define BOOST_PP_FOR_226(s, p, o, m) BOOST_PP_IF(p(227, s), m, BOOST_PP_TUPLE_EAT_2)(227, s) BOOST_PP_IF(p(227, s), BOOST_PP_FOR_227, BOOST_PP_TUPLE_EAT_4)(o(227, s), p, o, m) +# define BOOST_PP_FOR_227(s, p, o, m) BOOST_PP_IF(p(228, s), m, BOOST_PP_TUPLE_EAT_2)(228, s) BOOST_PP_IF(p(228, s), BOOST_PP_FOR_228, BOOST_PP_TUPLE_EAT_4)(o(228, s), p, o, m) +# define BOOST_PP_FOR_228(s, p, o, m) BOOST_PP_IF(p(229, s), m, BOOST_PP_TUPLE_EAT_2)(229, s) BOOST_PP_IF(p(229, s), BOOST_PP_FOR_229, BOOST_PP_TUPLE_EAT_4)(o(229, s), p, o, m) +# define BOOST_PP_FOR_229(s, p, o, m) BOOST_PP_IF(p(230, s), m, BOOST_PP_TUPLE_EAT_2)(230, s) BOOST_PP_IF(p(230, s), BOOST_PP_FOR_230, BOOST_PP_TUPLE_EAT_4)(o(230, s), p, o, m) +# define BOOST_PP_FOR_230(s, p, o, m) BOOST_PP_IF(p(231, s), m, BOOST_PP_TUPLE_EAT_2)(231, s) BOOST_PP_IF(p(231, s), BOOST_PP_FOR_231, BOOST_PP_TUPLE_EAT_4)(o(231, s), p, o, m) +# define BOOST_PP_FOR_231(s, p, o, m) BOOST_PP_IF(p(232, s), m, BOOST_PP_TUPLE_EAT_2)(232, s) BOOST_PP_IF(p(232, s), BOOST_PP_FOR_232, BOOST_PP_TUPLE_EAT_4)(o(232, s), p, o, m) +# define BOOST_PP_FOR_232(s, p, o, m) BOOST_PP_IF(p(233, s), m, BOOST_PP_TUPLE_EAT_2)(233, s) BOOST_PP_IF(p(233, s), BOOST_PP_FOR_233, BOOST_PP_TUPLE_EAT_4)(o(233, s), p, o, m) +# define BOOST_PP_FOR_233(s, p, o, m) BOOST_PP_IF(p(234, s), m, BOOST_PP_TUPLE_EAT_2)(234, s) BOOST_PP_IF(p(234, s), BOOST_PP_FOR_234, BOOST_PP_TUPLE_EAT_4)(o(234, s), p, o, m) +# define BOOST_PP_FOR_234(s, p, o, m) BOOST_PP_IF(p(235, s), m, BOOST_PP_TUPLE_EAT_2)(235, s) BOOST_PP_IF(p(235, s), BOOST_PP_FOR_235, BOOST_PP_TUPLE_EAT_4)(o(235, s), p, o, m) +# define BOOST_PP_FOR_235(s, p, o, m) BOOST_PP_IF(p(236, s), m, BOOST_PP_TUPLE_EAT_2)(236, s) BOOST_PP_IF(p(236, s), BOOST_PP_FOR_236, BOOST_PP_TUPLE_EAT_4)(o(236, s), p, o, m) +# define BOOST_PP_FOR_236(s, p, o, m) BOOST_PP_IF(p(237, s), m, BOOST_PP_TUPLE_EAT_2)(237, s) BOOST_PP_IF(p(237, s), BOOST_PP_FOR_237, BOOST_PP_TUPLE_EAT_4)(o(237, s), p, o, m) +# define BOOST_PP_FOR_237(s, p, o, m) BOOST_PP_IF(p(238, s), m, BOOST_PP_TUPLE_EAT_2)(238, s) BOOST_PP_IF(p(238, s), BOOST_PP_FOR_238, BOOST_PP_TUPLE_EAT_4)(o(238, s), p, o, m) +# define BOOST_PP_FOR_238(s, p, o, m) BOOST_PP_IF(p(239, s), m, BOOST_PP_TUPLE_EAT_2)(239, s) BOOST_PP_IF(p(239, s), BOOST_PP_FOR_239, BOOST_PP_TUPLE_EAT_4)(o(239, s), p, o, m) +# define BOOST_PP_FOR_239(s, p, o, m) BOOST_PP_IF(p(240, s), m, BOOST_PP_TUPLE_EAT_2)(240, s) BOOST_PP_IF(p(240, s), BOOST_PP_FOR_240, BOOST_PP_TUPLE_EAT_4)(o(240, s), p, o, m) +# define BOOST_PP_FOR_240(s, p, o, m) BOOST_PP_IF(p(241, s), m, BOOST_PP_TUPLE_EAT_2)(241, s) BOOST_PP_IF(p(241, s), BOOST_PP_FOR_241, BOOST_PP_TUPLE_EAT_4)(o(241, s), p, o, m) +# define BOOST_PP_FOR_241(s, p, o, m) BOOST_PP_IF(p(242, s), m, BOOST_PP_TUPLE_EAT_2)(242, s) BOOST_PP_IF(p(242, s), BOOST_PP_FOR_242, BOOST_PP_TUPLE_EAT_4)(o(242, s), p, o, m) +# define BOOST_PP_FOR_242(s, p, o, m) BOOST_PP_IF(p(243, s), m, BOOST_PP_TUPLE_EAT_2)(243, s) BOOST_PP_IF(p(243, s), BOOST_PP_FOR_243, BOOST_PP_TUPLE_EAT_4)(o(243, s), p, o, m) +# define BOOST_PP_FOR_243(s, p, o, m) BOOST_PP_IF(p(244, s), m, BOOST_PP_TUPLE_EAT_2)(244, s) BOOST_PP_IF(p(244, s), BOOST_PP_FOR_244, BOOST_PP_TUPLE_EAT_4)(o(244, s), p, o, m) +# define BOOST_PP_FOR_244(s, p, o, m) BOOST_PP_IF(p(245, s), m, BOOST_PP_TUPLE_EAT_2)(245, s) BOOST_PP_IF(p(245, s), BOOST_PP_FOR_245, BOOST_PP_TUPLE_EAT_4)(o(245, s), p, o, m) +# define BOOST_PP_FOR_245(s, p, o, m) BOOST_PP_IF(p(246, s), m, BOOST_PP_TUPLE_EAT_2)(246, s) BOOST_PP_IF(p(246, s), BOOST_PP_FOR_246, BOOST_PP_TUPLE_EAT_4)(o(246, s), p, o, m) +# define BOOST_PP_FOR_246(s, p, o, m) BOOST_PP_IF(p(247, s), m, BOOST_PP_TUPLE_EAT_2)(247, s) BOOST_PP_IF(p(247, s), BOOST_PP_FOR_247, BOOST_PP_TUPLE_EAT_4)(o(247, s), p, o, m) +# define BOOST_PP_FOR_247(s, p, o, m) BOOST_PP_IF(p(248, s), m, BOOST_PP_TUPLE_EAT_2)(248, s) BOOST_PP_IF(p(248, s), BOOST_PP_FOR_248, BOOST_PP_TUPLE_EAT_4)(o(248, s), p, o, m) +# define BOOST_PP_FOR_248(s, p, o, m) BOOST_PP_IF(p(249, s), m, BOOST_PP_TUPLE_EAT_2)(249, s) BOOST_PP_IF(p(249, s), BOOST_PP_FOR_249, BOOST_PP_TUPLE_EAT_4)(o(249, s), p, o, m) +# define BOOST_PP_FOR_249(s, p, o, m) BOOST_PP_IF(p(250, s), m, BOOST_PP_TUPLE_EAT_2)(250, s) BOOST_PP_IF(p(250, s), BOOST_PP_FOR_250, BOOST_PP_TUPLE_EAT_4)(o(250, s), p, o, m) +# define BOOST_PP_FOR_250(s, p, o, m) BOOST_PP_IF(p(251, s), m, BOOST_PP_TUPLE_EAT_2)(251, s) BOOST_PP_IF(p(251, s), BOOST_PP_FOR_251, BOOST_PP_TUPLE_EAT_4)(o(251, s), p, o, m) +# define BOOST_PP_FOR_251(s, p, o, m) BOOST_PP_IF(p(252, s), m, BOOST_PP_TUPLE_EAT_2)(252, s) BOOST_PP_IF(p(252, s), BOOST_PP_FOR_252, BOOST_PP_TUPLE_EAT_4)(o(252, s), p, o, m) +# define BOOST_PP_FOR_252(s, p, o, m) BOOST_PP_IF(p(253, s), m, BOOST_PP_TUPLE_EAT_2)(253, s) BOOST_PP_IF(p(253, s), BOOST_PP_FOR_253, BOOST_PP_TUPLE_EAT_4)(o(253, s), p, o, m) +# define BOOST_PP_FOR_253(s, p, o, m) BOOST_PP_IF(p(254, s), m, BOOST_PP_TUPLE_EAT_2)(254, s) BOOST_PP_IF(p(254, s), BOOST_PP_FOR_254, BOOST_PP_TUPLE_EAT_4)(o(254, s), p, o, m) +# define BOOST_PP_FOR_254(s, p, o, m) BOOST_PP_IF(p(255, s), m, BOOST_PP_TUPLE_EAT_2)(255, s) BOOST_PP_IF(p(255, s), BOOST_PP_FOR_255, BOOST_PP_TUPLE_EAT_4)(o(255, s), p, o, m) +# define BOOST_PP_FOR_255(s, p, o, m) BOOST_PP_IF(p(256, s), m, BOOST_PP_TUPLE_EAT_2)(256, s) BOOST_PP_IF(p(256, s), BOOST_PP_FOR_256, BOOST_PP_TUPLE_EAT_4)(o(256, s), p, o, m) +# define BOOST_PP_FOR_256(s, p, o, m) BOOST_PP_IF(p(257, s), m, BOOST_PP_TUPLE_EAT_2)(257, s) BOOST_PP_IF(p(257, s), BOOST_PP_FOR_257, BOOST_PP_TUPLE_EAT_4)(o(257, s), p, o, m) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum.hpp new file mode 100644 index 0000000..8b4ab9a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum.hpp @@ -0,0 +1,66 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM */ +# +# if 0 +# define BOOST_PP_ENUM(count, macro, data) +# endif +# +# define BOOST_PP_ENUM BOOST_PP_CAT(BOOST_PP_ENUM_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d)) +# define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d)) +# define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d)) +# else +# define BOOST_PP_ENUM_1(c, m, d) BOOST_PP_ENUM_1_I(c, m, d) +# define BOOST_PP_ENUM_2(c, m, d) BOOST_PP_ENUM_2_I(c, m, d) +# define BOOST_PP_ENUM_3(c, m, d) BOOST_PP_ENUM_3_I(c, m, d) +# define BOOST_PP_ENUM_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_M_1, (m, d)) +# define BOOST_PP_ENUM_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_M_2, (m, d)) +# define BOOST_PP_ENUM_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_M_3, (m, d)) +# endif +# +# define BOOST_PP_ENUM_4(c, m, d) BOOST_PP_ERROR(0x0003) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_M_1_IM(z, n, im) BOOST_PP_ENUM_M_1_I(z, n, im) +# define BOOST_PP_ENUM_M_2_IM(z, n, im) BOOST_PP_ENUM_M_2_I(z, n, im) +# define BOOST_PP_ENUM_M_3_IM(z, n, im) BOOST_PP_ENUM_M_3_I(z, n, im) +# else +# define BOOST_PP_ENUM_M_1(z, n, md) BOOST_PP_ENUM_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# define BOOST_PP_ENUM_M_2(z, n, md) BOOST_PP_ENUM_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# define BOOST_PP_ENUM_M_3(z, n, md) BOOST_PP_ENUM_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# endif +# +# define BOOST_PP_ENUM_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d) +# define BOOST_PP_ENUM_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d) +# define BOOST_PP_ENUM_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, n, d) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_binary_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_binary_params.hpp new file mode 100644 index 0000000..eb6a494 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_binary_params.hpp @@ -0,0 +1,54 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_BINARY_PARAMS_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM_BINARY_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2)) +# else +# define BOOST_PP_ENUM_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) +# define BOOST_PP_ENUM_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2)) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp) +# define BOOST_PP_ENUM_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, im) +# else +# define BOOST_PP_ENUM_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) +# define BOOST_PP_ENUM_BINARY_PARAMS_M_II(z, n, p1, p2) BOOST_PP_COMMA_IF(n) p1 ## n p2 ## n +# else +# define BOOST_PP_ENUM_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n) +# endif +# +# /* BOOST_PP_ENUM_BINARY_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2)) +# else +# define BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2) +# define BOOST_PP_ENUM_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_BINARY_PARAMS_M, (p1, p2)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params.hpp new file mode 100644 index 0000000..8bfa036 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params.hpp @@ -0,0 +1,41 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_HPP +# +# include +# include +# include +# +# /* BOOST_PP_ENUM_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_PARAMS(count, param) BOOST_PP_ENUM_PARAMS_I(count, param) +# define BOOST_PP_ENUM_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_PARAMS_M, param) +# endif +# +# define BOOST_PP_ENUM_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) param ## n +# +# /* BOOST_PP_ENUM_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_PARAMS_Z(z, count, param) BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) +# define BOOST_PP_ENUM_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_PARAMS_M, param) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp new file mode 100644 index 0000000..2281c5c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_a_default.hpp @@ -0,0 +1,25 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_A_DEFAULT_HPP +# +# include +# include +# include +# +# /* BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT */ +# +# define BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def BOOST_PP_INTERCEPT) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp new file mode 100644 index 0000000..146352f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_params_with_defaults.hpp @@ -0,0 +1,24 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_DEFAULTS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_PARAMS_WITH_DEFAULTS_HPP +# +# include +# include +# +# /* BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS */ +# +# define BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(count, param, def) BOOST_PP_ENUM_BINARY_PARAMS(count, param, = def) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted.hpp new file mode 100644 index 0000000..f2750b2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted.hpp @@ -0,0 +1,68 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM_SHIFTED */ +# +# if 0 +# define BOOST_PP_ENUM_SHIFTED(count, macro, data) +# endif +# +# define BOOST_PP_ENUM_SHIFTED BOOST_PP_CAT(BOOST_PP_ENUM_SHIFTED_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_REPEAT_1(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_1, (m, d)) +# define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_REPEAT_2(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_2, (m, d)) +# define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_REPEAT_3(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_3, (m, d)) +# else +# define BOOST_PP_ENUM_SHIFTED_1(c, m, d) BOOST_PP_ENUM_SHIFTED_1_I(c, m, d) +# define BOOST_PP_ENUM_SHIFTED_2(c, m, d) BOOST_PP_ENUM_SHIFTED_1_2(c, m, d) +# define BOOST_PP_ENUM_SHIFTED_3(c, m, d) BOOST_PP_ENUM_SHIFTED_1_3(c, m, d) +# define BOOST_PP_ENUM_SHIFTED_1_I(c, m, d) BOOST_PP_REPEAT_1(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_1, (m, d)) +# define BOOST_PP_ENUM_SHIFTED_2_I(c, m, d) BOOST_PP_REPEAT_2(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_2, (m, d)) +# define BOOST_PP_ENUM_SHIFTED_3_I(c, m, d) BOOST_PP_REPEAT_3(BOOST_PP_DEC(c), BOOST_PP_ENUM_SHIFTED_M_3, (m, d)) +# endif +# +# define BOOST_PP_ENUM_SHIFTED_4(c, m, d) BOOST_PP_ERROR(0x0003) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ENUM_SHIFTED_M_1(z, n, md) BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_SHIFTED_M_2(z, n, md) BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_SHIFTED_M_3(z, n, md) BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_SHIFTED_M_1_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, im) +# define BOOST_PP_ENUM_SHIFTED_M_2_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, im) +# define BOOST_PP_ENUM_SHIFTED_M_3_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, im) +# else +# define BOOST_PP_ENUM_SHIFTED_M_1(z, n, md) BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# define BOOST_PP_ENUM_SHIFTED_M_2(z, n, md) BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# define BOOST_PP_ENUM_SHIFTED_M_3(z, n, md) BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# endif +# +# define BOOST_PP_ENUM_SHIFTED_M_1_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d) +# define BOOST_PP_ENUM_SHIFTED_M_2_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d) +# define BOOST_PP_ENUM_SHIFTED_M_3_I(z, n, m, d) BOOST_PP_COMMA_IF(n) m(z, BOOST_PP_INC(n), d) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp new file mode 100644 index 0000000..d1bd957 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_binary_params.hpp @@ -0,0 +1,51 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2005. * +# * Distributed under the Boost Software License, Version 1.0. (See * +# * accompanying file LICENSE_1_0.txt or copy at * +# * http://www.boost.org/LICENSE_1_0.txt) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_BINARY_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_BINARY_PARAMS_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2)) +# else +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_I(count, p1, p2) +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2)) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp) +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, im) +# else +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp)) +# endif +# +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(p1, BOOST_PP_INC(n)) BOOST_PP_CAT(p2, BOOST_PP_INC(n)) +# +# /* BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2)) +# else +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z_I(z, count, p1, p2) +# define BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_M, (p1, p2)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_params.hpp new file mode 100644 index 0000000..447a114 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_shifted_params.hpp @@ -0,0 +1,44 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_SHIFTED_PARAMS_HPP +# +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM_SHIFTED_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_SHIFTED_PARAMS(count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) +# define BOOST_PP_ENUM_SHIFTED_PARAMS_I(count, param) BOOST_PP_REPEAT(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param) +# endif +# +# define BOOST_PP_ENUM_SHIFTED_PARAMS_M(z, n, param) BOOST_PP_COMMA_IF(n) BOOST_PP_CAT(param, BOOST_PP_INC(n)) +# +# /* BOOST_PP_ENUM_SHIFTED_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_SHIFTED_PARAMS_Z(z, count, param) BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param) +# define BOOST_PP_ENUM_SHIFTED_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(BOOST_PP_DEC(count), BOOST_PP_ENUM_SHIFTED_PARAMS_M, param) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing.hpp new file mode 100644 index 0000000..b8d197e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing.hpp @@ -0,0 +1,63 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM_TRAILING */ +# +# if 0 +# define BOOST_PP_ENUM_TRAILING(count, macro, data) +# endif +# +# define BOOST_PP_ENUM_TRAILING BOOST_PP_CAT(BOOST_PP_ENUM_TRAILING_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d)) +# define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d)) +# define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d)) +# else +# define BOOST_PP_ENUM_TRAILING_1(c, m, d) BOOST_PP_ENUM_TRAILING_1_I(c, m, d) +# define BOOST_PP_ENUM_TRAILING_2(c, m, d) BOOST_PP_ENUM_TRAILING_2_I(c, m, d) +# define BOOST_PP_ENUM_TRAILING_3(c, m, d) BOOST_PP_ENUM_TRAILING_3_I(c, m, d) +# define BOOST_PP_ENUM_TRAILING_1_I(c, m, d) BOOST_PP_REPEAT_1(c, BOOST_PP_ENUM_TRAILING_M_1, (m, d)) +# define BOOST_PP_ENUM_TRAILING_2_I(c, m, d) BOOST_PP_REPEAT_2(c, BOOST_PP_ENUM_TRAILING_M_2, (m, d)) +# define BOOST_PP_ENUM_TRAILING_3_I(c, m, d) BOOST_PP_REPEAT_3(c, BOOST_PP_ENUM_TRAILING_M_3, (m, d)) +# endif +# +# define BOOST_PP_ENUM_TRAILING_4(c, m, d) BOOST_PP_ERROR(0x0003) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, BOOST_PP_TUPLE_REM_2 md) +# define BOOST_PP_ENUM_TRAILING_M_1_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, im) +# define BOOST_PP_ENUM_TRAILING_M_2_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, im) +# define BOOST_PP_ENUM_TRAILING_M_3_IM(z, n, im) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, im) +# else +# define BOOST_PP_ENUM_TRAILING_M_1(z, n, md) BOOST_PP_ENUM_TRAILING_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# define BOOST_PP_ENUM_TRAILING_M_2(z, n, md) BOOST_PP_ENUM_TRAILING_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# define BOOST_PP_ENUM_TRAILING_M_3(z, n, md) BOOST_PP_ENUM_TRAILING_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, md), BOOST_PP_TUPLE_ELEM(2, 1, md)) +# endif +# +# define BOOST_PP_ENUM_TRAILING_M_1_I(z, n, m, d) , m(z, n, d) +# define BOOST_PP_ENUM_TRAILING_M_2_I(z, n, m, d) , m(z, n, d) +# define BOOST_PP_ENUM_TRAILING_M_3_I(z, n, m, d) , m(z, n, d) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp new file mode 100644 index 0000000..449bdb5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_binary_params.hpp @@ -0,0 +1,53 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_BINARY_PARAMS_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_ENUM_TRAILING_BINARY_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2)) +# else +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS(count, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_I(count, p1, p2) +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_I(count, p1, p2) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2)) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z, n, BOOST_PP_TUPLE_REM_2 pp) +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_IM(z, n, im) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, im) +# else +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M(z, n, pp) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, BOOST_PP_TUPLE_ELEM(2, 0, pp), BOOST_PP_TUPLE_ELEM(2, 1, pp)) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z, n, p1, p2) +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_II(z, n, p1, p2) , p1 ## n p2 ## n +# else +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M_I(z, n, p1, p2) , BOOST_PP_CAT(p1, n) BOOST_PP_CAT(p2, n) +# endif +# +# /* BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2)) +# else +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z(z, count, p1, p2) BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z_I(z, count, p1, p2) +# define BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z_I(z, count, p1, p2) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_M, (p1, p2)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_params.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_params.hpp new file mode 100644 index 0000000..33ad8ca --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/enum_trailing_params.hpp @@ -0,0 +1,38 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP +# define BOOST_PREPROCESSOR_REPETITION_ENUM_TRAILING_PARAMS_HPP +# +# include +# include +# +# /* BOOST_PP_ENUM_TRAILING_PARAMS */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_TRAILING_PARAMS(count, param) BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) +# define BOOST_PP_ENUM_TRAILING_PARAMS_I(count, param) BOOST_PP_REPEAT(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# endif +# +# define BOOST_PP_ENUM_TRAILING_PARAMS_M(z, n, param) , param ## n +# +# /* BOOST_PP_ENUM_TRAILING_PARAMS_Z */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# else +# define BOOST_PP_ENUM_TRAILING_PARAMS_Z(z, count, param) BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) +# define BOOST_PP_ENUM_TRAILING_PARAMS_Z_I(z, count, param) BOOST_PP_REPEAT_ ## z(count, BOOST_PP_ENUM_TRAILING_PARAMS_M, param) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/for.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/for.hpp new file mode 100644 index 0000000..716814f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/for.hpp @@ -0,0 +1,306 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_FOR_HPP +# define BOOST_PREPROCESSOR_REPETITION_FOR_HPP +# +# include +# include +# include +# +# /* BOOST_PP_FOR */ +# +# if 0 +# define BOOST_PP_FOR(state, pred, op, macro) +# endif +# +# define BOOST_PP_FOR BOOST_PP_CAT(BOOST_PP_FOR_, BOOST_PP_AUTO_REC(BOOST_PP_FOR_P, 256)) +# +# define BOOST_PP_FOR_P(n) BOOST_PP_CAT(BOOST_PP_FOR_CHECK_, BOOST_PP_FOR_ ## n(1, BOOST_PP_FOR_SR_P, BOOST_PP_FOR_SR_O, BOOST_PP_FOR_SR_M)) +# +# define BOOST_PP_FOR_SR_P(r, s) s +# define BOOST_PP_FOR_SR_O(r, s) 0 +# define BOOST_PP_FOR_SR_M(r, s) BOOST_PP_NIL +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# include +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# include +# else +# include +# endif +# +# define BOOST_PP_FOR_257(s, p, o, m) BOOST_PP_ERROR(0x0002) +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_1(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_2(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_3(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_4(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_5(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_6(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_7(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_8(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_9(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_10(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_11(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_12(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_13(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_14(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_15(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_16(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_17(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_18(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_19(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_20(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_21(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_22(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_23(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_24(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_25(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_26(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_27(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_28(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_29(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_30(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_31(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_32(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_33(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_34(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_35(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_36(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_37(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_38(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_39(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_40(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_41(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_42(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_43(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_44(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_45(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_46(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_47(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_48(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_49(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_50(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_51(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_52(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_53(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_54(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_55(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_56(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_57(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_58(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_59(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_60(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_61(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_62(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_63(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_64(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_65(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_66(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_67(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_68(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_69(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_70(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_71(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_72(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_73(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_74(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_75(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_76(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_77(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_78(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_79(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_80(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_81(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_82(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_83(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_84(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_85(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_86(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_87(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_88(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_89(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_90(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_91(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_92(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_93(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_94(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_95(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_96(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_97(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_98(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_99(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_100(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_101(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_102(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_103(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_104(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_105(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_106(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_107(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_108(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_109(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_110(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_111(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_112(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_113(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_114(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_115(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_116(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_117(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_118(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_119(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_120(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_121(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_122(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_123(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_124(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_125(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_126(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_127(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_128(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_129(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_130(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_131(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_132(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_133(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_134(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_135(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_136(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_137(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_138(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_139(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_140(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_141(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_142(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_143(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_144(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_145(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_146(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_147(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_148(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_149(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_150(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_151(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_152(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_153(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_154(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_155(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_156(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_157(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_158(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_159(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_160(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_161(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_162(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_163(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_164(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_165(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_166(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_167(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_168(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_169(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_170(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_171(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_172(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_173(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_174(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_175(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_176(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_177(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_178(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_179(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_180(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_181(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_182(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_183(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_184(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_185(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_186(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_187(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_188(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_189(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_190(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_191(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_192(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_193(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_194(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_195(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_196(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_197(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_198(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_199(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_200(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_201(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_202(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_203(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_204(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_205(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_206(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_207(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_208(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_209(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_210(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_211(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_212(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_213(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_214(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_215(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_216(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_217(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_218(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_219(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_220(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_221(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_222(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_223(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_224(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_225(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_226(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_227(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_228(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_229(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_230(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_231(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_232(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_233(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_234(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_235(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_236(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_237(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_238(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_239(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_240(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_241(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_242(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_243(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_244(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_245(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_246(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_247(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_248(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_249(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_250(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_251(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_252(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_253(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_254(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_255(s, p, o, m) 0 +# define BOOST_PP_FOR_CHECK_BOOST_PP_FOR_256(s, p, o, m) 0 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat.hpp new file mode 100644 index 0000000..fa31de3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat.hpp @@ -0,0 +1,825 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP +# define BOOST_PREPROCESSOR_REPETITION_REPEAT_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_REPEAT */ +# +# if 0 +# define BOOST_PP_REPEAT(count, macro, data) +# endif +# +# define BOOST_PP_REPEAT BOOST_PP_CAT(BOOST_PP_REPEAT_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# define BOOST_PP_REPEAT_P(n) BOOST_PP_CAT(BOOST_PP_REPEAT_CHECK_, BOOST_PP_REPEAT_ ## n(1, BOOST_PP_NIL BOOST_PP_TUPLE_EAT_3, BOOST_PP_NIL)) +# +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_NIL 1 +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_1(c, m, d) 0 +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_2(c, m, d) 0 +# define BOOST_PP_REPEAT_CHECK_BOOST_PP_REPEAT_3(c, m, d) 0 +# +# define BOOST_PP_REPEAT_1(c, m, d) BOOST_PP_REPEAT_1_I(c, m, d) +# define BOOST_PP_REPEAT_2(c, m, d) BOOST_PP_REPEAT_2_I(c, m, d) +# define BOOST_PP_REPEAT_3(c, m, d) BOOST_PP_REPEAT_3_I(c, m, d) +# define BOOST_PP_REPEAT_4(c, m, d) BOOST_PP_ERROR(0x0003) +# +# define BOOST_PP_REPEAT_1_I(c, m, d) BOOST_PP_REPEAT_1_ ## c(m, d) +# define BOOST_PP_REPEAT_2_I(c, m, d) BOOST_PP_REPEAT_2_ ## c(m, d) +# define BOOST_PP_REPEAT_3_I(c, m, d) BOOST_PP_REPEAT_3_ ## c(m, d) +# +# define BOOST_PP_REPEAT_1ST BOOST_PP_REPEAT_1 +# define BOOST_PP_REPEAT_2ND BOOST_PP_REPEAT_2 +# define BOOST_PP_REPEAT_3RD BOOST_PP_REPEAT_3 +# +# define BOOST_PP_REPEAT_1_0(m, d) +# define BOOST_PP_REPEAT_1_1(m, d) m(2, 0, d) +# define BOOST_PP_REPEAT_1_2(m, d) BOOST_PP_REPEAT_1_1(m, d) m(2, 1, d) +# define BOOST_PP_REPEAT_1_3(m, d) BOOST_PP_REPEAT_1_2(m, d) m(2, 2, d) +# define BOOST_PP_REPEAT_1_4(m, d) BOOST_PP_REPEAT_1_3(m, d) m(2, 3, d) +# define BOOST_PP_REPEAT_1_5(m, d) BOOST_PP_REPEAT_1_4(m, d) m(2, 4, d) +# define BOOST_PP_REPEAT_1_6(m, d) BOOST_PP_REPEAT_1_5(m, d) m(2, 5, d) +# define BOOST_PP_REPEAT_1_7(m, d) BOOST_PP_REPEAT_1_6(m, d) m(2, 6, d) +# define BOOST_PP_REPEAT_1_8(m, d) BOOST_PP_REPEAT_1_7(m, d) m(2, 7, d) +# define BOOST_PP_REPEAT_1_9(m, d) BOOST_PP_REPEAT_1_8(m, d) m(2, 8, d) +# define BOOST_PP_REPEAT_1_10(m, d) BOOST_PP_REPEAT_1_9(m, d) m(2, 9, d) +# define BOOST_PP_REPEAT_1_11(m, d) BOOST_PP_REPEAT_1_10(m, d) m(2, 10, d) +# define BOOST_PP_REPEAT_1_12(m, d) BOOST_PP_REPEAT_1_11(m, d) m(2, 11, d) +# define BOOST_PP_REPEAT_1_13(m, d) BOOST_PP_REPEAT_1_12(m, d) m(2, 12, d) +# define BOOST_PP_REPEAT_1_14(m, d) BOOST_PP_REPEAT_1_13(m, d) m(2, 13, d) +# define BOOST_PP_REPEAT_1_15(m, d) BOOST_PP_REPEAT_1_14(m, d) m(2, 14, d) +# define BOOST_PP_REPEAT_1_16(m, d) BOOST_PP_REPEAT_1_15(m, d) m(2, 15, d) +# define BOOST_PP_REPEAT_1_17(m, d) BOOST_PP_REPEAT_1_16(m, d) m(2, 16, d) +# define BOOST_PP_REPEAT_1_18(m, d) BOOST_PP_REPEAT_1_17(m, d) m(2, 17, d) +# define BOOST_PP_REPEAT_1_19(m, d) BOOST_PP_REPEAT_1_18(m, d) m(2, 18, d) +# define BOOST_PP_REPEAT_1_20(m, d) BOOST_PP_REPEAT_1_19(m, d) m(2, 19, d) +# define BOOST_PP_REPEAT_1_21(m, d) BOOST_PP_REPEAT_1_20(m, d) m(2, 20, d) +# define BOOST_PP_REPEAT_1_22(m, d) BOOST_PP_REPEAT_1_21(m, d) m(2, 21, d) +# define BOOST_PP_REPEAT_1_23(m, d) BOOST_PP_REPEAT_1_22(m, d) m(2, 22, d) +# define BOOST_PP_REPEAT_1_24(m, d) BOOST_PP_REPEAT_1_23(m, d) m(2, 23, d) +# define BOOST_PP_REPEAT_1_25(m, d) BOOST_PP_REPEAT_1_24(m, d) m(2, 24, d) +# define BOOST_PP_REPEAT_1_26(m, d) BOOST_PP_REPEAT_1_25(m, d) m(2, 25, d) +# define BOOST_PP_REPEAT_1_27(m, d) BOOST_PP_REPEAT_1_26(m, d) m(2, 26, d) +# define BOOST_PP_REPEAT_1_28(m, d) BOOST_PP_REPEAT_1_27(m, d) m(2, 27, d) +# define BOOST_PP_REPEAT_1_29(m, d) BOOST_PP_REPEAT_1_28(m, d) m(2, 28, d) +# define BOOST_PP_REPEAT_1_30(m, d) BOOST_PP_REPEAT_1_29(m, d) m(2, 29, d) +# define BOOST_PP_REPEAT_1_31(m, d) BOOST_PP_REPEAT_1_30(m, d) m(2, 30, d) +# define BOOST_PP_REPEAT_1_32(m, d) BOOST_PP_REPEAT_1_31(m, d) m(2, 31, d) +# define BOOST_PP_REPEAT_1_33(m, d) BOOST_PP_REPEAT_1_32(m, d) m(2, 32, d) +# define BOOST_PP_REPEAT_1_34(m, d) BOOST_PP_REPEAT_1_33(m, d) m(2, 33, d) +# define BOOST_PP_REPEAT_1_35(m, d) BOOST_PP_REPEAT_1_34(m, d) m(2, 34, d) +# define BOOST_PP_REPEAT_1_36(m, d) BOOST_PP_REPEAT_1_35(m, d) m(2, 35, d) +# define BOOST_PP_REPEAT_1_37(m, d) BOOST_PP_REPEAT_1_36(m, d) m(2, 36, d) +# define BOOST_PP_REPEAT_1_38(m, d) BOOST_PP_REPEAT_1_37(m, d) m(2, 37, d) +# define BOOST_PP_REPEAT_1_39(m, d) BOOST_PP_REPEAT_1_38(m, d) m(2, 38, d) +# define BOOST_PP_REPEAT_1_40(m, d) BOOST_PP_REPEAT_1_39(m, d) m(2, 39, d) +# define BOOST_PP_REPEAT_1_41(m, d) BOOST_PP_REPEAT_1_40(m, d) m(2, 40, d) +# define BOOST_PP_REPEAT_1_42(m, d) BOOST_PP_REPEAT_1_41(m, d) m(2, 41, d) +# define BOOST_PP_REPEAT_1_43(m, d) BOOST_PP_REPEAT_1_42(m, d) m(2, 42, d) +# define BOOST_PP_REPEAT_1_44(m, d) BOOST_PP_REPEAT_1_43(m, d) m(2, 43, d) +# define BOOST_PP_REPEAT_1_45(m, d) BOOST_PP_REPEAT_1_44(m, d) m(2, 44, d) +# define BOOST_PP_REPEAT_1_46(m, d) BOOST_PP_REPEAT_1_45(m, d) m(2, 45, d) +# define BOOST_PP_REPEAT_1_47(m, d) BOOST_PP_REPEAT_1_46(m, d) m(2, 46, d) +# define BOOST_PP_REPEAT_1_48(m, d) BOOST_PP_REPEAT_1_47(m, d) m(2, 47, d) +# define BOOST_PP_REPEAT_1_49(m, d) BOOST_PP_REPEAT_1_48(m, d) m(2, 48, d) +# define BOOST_PP_REPEAT_1_50(m, d) BOOST_PP_REPEAT_1_49(m, d) m(2, 49, d) +# define BOOST_PP_REPEAT_1_51(m, d) BOOST_PP_REPEAT_1_50(m, d) m(2, 50, d) +# define BOOST_PP_REPEAT_1_52(m, d) BOOST_PP_REPEAT_1_51(m, d) m(2, 51, d) +# define BOOST_PP_REPEAT_1_53(m, d) BOOST_PP_REPEAT_1_52(m, d) m(2, 52, d) +# define BOOST_PP_REPEAT_1_54(m, d) BOOST_PP_REPEAT_1_53(m, d) m(2, 53, d) +# define BOOST_PP_REPEAT_1_55(m, d) BOOST_PP_REPEAT_1_54(m, d) m(2, 54, d) +# define BOOST_PP_REPEAT_1_56(m, d) BOOST_PP_REPEAT_1_55(m, d) m(2, 55, d) +# define BOOST_PP_REPEAT_1_57(m, d) BOOST_PP_REPEAT_1_56(m, d) m(2, 56, d) +# define BOOST_PP_REPEAT_1_58(m, d) BOOST_PP_REPEAT_1_57(m, d) m(2, 57, d) +# define BOOST_PP_REPEAT_1_59(m, d) BOOST_PP_REPEAT_1_58(m, d) m(2, 58, d) +# define BOOST_PP_REPEAT_1_60(m, d) BOOST_PP_REPEAT_1_59(m, d) m(2, 59, d) +# define BOOST_PP_REPEAT_1_61(m, d) BOOST_PP_REPEAT_1_60(m, d) m(2, 60, d) +# define BOOST_PP_REPEAT_1_62(m, d) BOOST_PP_REPEAT_1_61(m, d) m(2, 61, d) +# define BOOST_PP_REPEAT_1_63(m, d) BOOST_PP_REPEAT_1_62(m, d) m(2, 62, d) +# define BOOST_PP_REPEAT_1_64(m, d) BOOST_PP_REPEAT_1_63(m, d) m(2, 63, d) +# define BOOST_PP_REPEAT_1_65(m, d) BOOST_PP_REPEAT_1_64(m, d) m(2, 64, d) +# define BOOST_PP_REPEAT_1_66(m, d) BOOST_PP_REPEAT_1_65(m, d) m(2, 65, d) +# define BOOST_PP_REPEAT_1_67(m, d) BOOST_PP_REPEAT_1_66(m, d) m(2, 66, d) +# define BOOST_PP_REPEAT_1_68(m, d) BOOST_PP_REPEAT_1_67(m, d) m(2, 67, d) +# define BOOST_PP_REPEAT_1_69(m, d) BOOST_PP_REPEAT_1_68(m, d) m(2, 68, d) +# define BOOST_PP_REPEAT_1_70(m, d) BOOST_PP_REPEAT_1_69(m, d) m(2, 69, d) +# define BOOST_PP_REPEAT_1_71(m, d) BOOST_PP_REPEAT_1_70(m, d) m(2, 70, d) +# define BOOST_PP_REPEAT_1_72(m, d) BOOST_PP_REPEAT_1_71(m, d) m(2, 71, d) +# define BOOST_PP_REPEAT_1_73(m, d) BOOST_PP_REPEAT_1_72(m, d) m(2, 72, d) +# define BOOST_PP_REPEAT_1_74(m, d) BOOST_PP_REPEAT_1_73(m, d) m(2, 73, d) +# define BOOST_PP_REPEAT_1_75(m, d) BOOST_PP_REPEAT_1_74(m, d) m(2, 74, d) +# define BOOST_PP_REPEAT_1_76(m, d) BOOST_PP_REPEAT_1_75(m, d) m(2, 75, d) +# define BOOST_PP_REPEAT_1_77(m, d) BOOST_PP_REPEAT_1_76(m, d) m(2, 76, d) +# define BOOST_PP_REPEAT_1_78(m, d) BOOST_PP_REPEAT_1_77(m, d) m(2, 77, d) +# define BOOST_PP_REPEAT_1_79(m, d) BOOST_PP_REPEAT_1_78(m, d) m(2, 78, d) +# define BOOST_PP_REPEAT_1_80(m, d) BOOST_PP_REPEAT_1_79(m, d) m(2, 79, d) +# define BOOST_PP_REPEAT_1_81(m, d) BOOST_PP_REPEAT_1_80(m, d) m(2, 80, d) +# define BOOST_PP_REPEAT_1_82(m, d) BOOST_PP_REPEAT_1_81(m, d) m(2, 81, d) +# define BOOST_PP_REPEAT_1_83(m, d) BOOST_PP_REPEAT_1_82(m, d) m(2, 82, d) +# define BOOST_PP_REPEAT_1_84(m, d) BOOST_PP_REPEAT_1_83(m, d) m(2, 83, d) +# define BOOST_PP_REPEAT_1_85(m, d) BOOST_PP_REPEAT_1_84(m, d) m(2, 84, d) +# define BOOST_PP_REPEAT_1_86(m, d) BOOST_PP_REPEAT_1_85(m, d) m(2, 85, d) +# define BOOST_PP_REPEAT_1_87(m, d) BOOST_PP_REPEAT_1_86(m, d) m(2, 86, d) +# define BOOST_PP_REPEAT_1_88(m, d) BOOST_PP_REPEAT_1_87(m, d) m(2, 87, d) +# define BOOST_PP_REPEAT_1_89(m, d) BOOST_PP_REPEAT_1_88(m, d) m(2, 88, d) +# define BOOST_PP_REPEAT_1_90(m, d) BOOST_PP_REPEAT_1_89(m, d) m(2, 89, d) +# define BOOST_PP_REPEAT_1_91(m, d) BOOST_PP_REPEAT_1_90(m, d) m(2, 90, d) +# define BOOST_PP_REPEAT_1_92(m, d) BOOST_PP_REPEAT_1_91(m, d) m(2, 91, d) +# define BOOST_PP_REPEAT_1_93(m, d) BOOST_PP_REPEAT_1_92(m, d) m(2, 92, d) +# define BOOST_PP_REPEAT_1_94(m, d) BOOST_PP_REPEAT_1_93(m, d) m(2, 93, d) +# define BOOST_PP_REPEAT_1_95(m, d) BOOST_PP_REPEAT_1_94(m, d) m(2, 94, d) +# define BOOST_PP_REPEAT_1_96(m, d) BOOST_PP_REPEAT_1_95(m, d) m(2, 95, d) +# define BOOST_PP_REPEAT_1_97(m, d) BOOST_PP_REPEAT_1_96(m, d) m(2, 96, d) +# define BOOST_PP_REPEAT_1_98(m, d) BOOST_PP_REPEAT_1_97(m, d) m(2, 97, d) +# define BOOST_PP_REPEAT_1_99(m, d) BOOST_PP_REPEAT_1_98(m, d) m(2, 98, d) +# define BOOST_PP_REPEAT_1_100(m, d) BOOST_PP_REPEAT_1_99(m, d) m(2, 99, d) +# define BOOST_PP_REPEAT_1_101(m, d) BOOST_PP_REPEAT_1_100(m, d) m(2, 100, d) +# define BOOST_PP_REPEAT_1_102(m, d) BOOST_PP_REPEAT_1_101(m, d) m(2, 101, d) +# define BOOST_PP_REPEAT_1_103(m, d) BOOST_PP_REPEAT_1_102(m, d) m(2, 102, d) +# define BOOST_PP_REPEAT_1_104(m, d) BOOST_PP_REPEAT_1_103(m, d) m(2, 103, d) +# define BOOST_PP_REPEAT_1_105(m, d) BOOST_PP_REPEAT_1_104(m, d) m(2, 104, d) +# define BOOST_PP_REPEAT_1_106(m, d) BOOST_PP_REPEAT_1_105(m, d) m(2, 105, d) +# define BOOST_PP_REPEAT_1_107(m, d) BOOST_PP_REPEAT_1_106(m, d) m(2, 106, d) +# define BOOST_PP_REPEAT_1_108(m, d) BOOST_PP_REPEAT_1_107(m, d) m(2, 107, d) +# define BOOST_PP_REPEAT_1_109(m, d) BOOST_PP_REPEAT_1_108(m, d) m(2, 108, d) +# define BOOST_PP_REPEAT_1_110(m, d) BOOST_PP_REPEAT_1_109(m, d) m(2, 109, d) +# define BOOST_PP_REPEAT_1_111(m, d) BOOST_PP_REPEAT_1_110(m, d) m(2, 110, d) +# define BOOST_PP_REPEAT_1_112(m, d) BOOST_PP_REPEAT_1_111(m, d) m(2, 111, d) +# define BOOST_PP_REPEAT_1_113(m, d) BOOST_PP_REPEAT_1_112(m, d) m(2, 112, d) +# define BOOST_PP_REPEAT_1_114(m, d) BOOST_PP_REPEAT_1_113(m, d) m(2, 113, d) +# define BOOST_PP_REPEAT_1_115(m, d) BOOST_PP_REPEAT_1_114(m, d) m(2, 114, d) +# define BOOST_PP_REPEAT_1_116(m, d) BOOST_PP_REPEAT_1_115(m, d) m(2, 115, d) +# define BOOST_PP_REPEAT_1_117(m, d) BOOST_PP_REPEAT_1_116(m, d) m(2, 116, d) +# define BOOST_PP_REPEAT_1_118(m, d) BOOST_PP_REPEAT_1_117(m, d) m(2, 117, d) +# define BOOST_PP_REPEAT_1_119(m, d) BOOST_PP_REPEAT_1_118(m, d) m(2, 118, d) +# define BOOST_PP_REPEAT_1_120(m, d) BOOST_PP_REPEAT_1_119(m, d) m(2, 119, d) +# define BOOST_PP_REPEAT_1_121(m, d) BOOST_PP_REPEAT_1_120(m, d) m(2, 120, d) +# define BOOST_PP_REPEAT_1_122(m, d) BOOST_PP_REPEAT_1_121(m, d) m(2, 121, d) +# define BOOST_PP_REPEAT_1_123(m, d) BOOST_PP_REPEAT_1_122(m, d) m(2, 122, d) +# define BOOST_PP_REPEAT_1_124(m, d) BOOST_PP_REPEAT_1_123(m, d) m(2, 123, d) +# define BOOST_PP_REPEAT_1_125(m, d) BOOST_PP_REPEAT_1_124(m, d) m(2, 124, d) +# define BOOST_PP_REPEAT_1_126(m, d) BOOST_PP_REPEAT_1_125(m, d) m(2, 125, d) +# define BOOST_PP_REPEAT_1_127(m, d) BOOST_PP_REPEAT_1_126(m, d) m(2, 126, d) +# define BOOST_PP_REPEAT_1_128(m, d) BOOST_PP_REPEAT_1_127(m, d) m(2, 127, d) +# define BOOST_PP_REPEAT_1_129(m, d) BOOST_PP_REPEAT_1_128(m, d) m(2, 128, d) +# define BOOST_PP_REPEAT_1_130(m, d) BOOST_PP_REPEAT_1_129(m, d) m(2, 129, d) +# define BOOST_PP_REPEAT_1_131(m, d) BOOST_PP_REPEAT_1_130(m, d) m(2, 130, d) +# define BOOST_PP_REPEAT_1_132(m, d) BOOST_PP_REPEAT_1_131(m, d) m(2, 131, d) +# define BOOST_PP_REPEAT_1_133(m, d) BOOST_PP_REPEAT_1_132(m, d) m(2, 132, d) +# define BOOST_PP_REPEAT_1_134(m, d) BOOST_PP_REPEAT_1_133(m, d) m(2, 133, d) +# define BOOST_PP_REPEAT_1_135(m, d) BOOST_PP_REPEAT_1_134(m, d) m(2, 134, d) +# define BOOST_PP_REPEAT_1_136(m, d) BOOST_PP_REPEAT_1_135(m, d) m(2, 135, d) +# define BOOST_PP_REPEAT_1_137(m, d) BOOST_PP_REPEAT_1_136(m, d) m(2, 136, d) +# define BOOST_PP_REPEAT_1_138(m, d) BOOST_PP_REPEAT_1_137(m, d) m(2, 137, d) +# define BOOST_PP_REPEAT_1_139(m, d) BOOST_PP_REPEAT_1_138(m, d) m(2, 138, d) +# define BOOST_PP_REPEAT_1_140(m, d) BOOST_PP_REPEAT_1_139(m, d) m(2, 139, d) +# define BOOST_PP_REPEAT_1_141(m, d) BOOST_PP_REPEAT_1_140(m, d) m(2, 140, d) +# define BOOST_PP_REPEAT_1_142(m, d) BOOST_PP_REPEAT_1_141(m, d) m(2, 141, d) +# define BOOST_PP_REPEAT_1_143(m, d) BOOST_PP_REPEAT_1_142(m, d) m(2, 142, d) +# define BOOST_PP_REPEAT_1_144(m, d) BOOST_PP_REPEAT_1_143(m, d) m(2, 143, d) +# define BOOST_PP_REPEAT_1_145(m, d) BOOST_PP_REPEAT_1_144(m, d) m(2, 144, d) +# define BOOST_PP_REPEAT_1_146(m, d) BOOST_PP_REPEAT_1_145(m, d) m(2, 145, d) +# define BOOST_PP_REPEAT_1_147(m, d) BOOST_PP_REPEAT_1_146(m, d) m(2, 146, d) +# define BOOST_PP_REPEAT_1_148(m, d) BOOST_PP_REPEAT_1_147(m, d) m(2, 147, d) +# define BOOST_PP_REPEAT_1_149(m, d) BOOST_PP_REPEAT_1_148(m, d) m(2, 148, d) +# define BOOST_PP_REPEAT_1_150(m, d) BOOST_PP_REPEAT_1_149(m, d) m(2, 149, d) +# define BOOST_PP_REPEAT_1_151(m, d) BOOST_PP_REPEAT_1_150(m, d) m(2, 150, d) +# define BOOST_PP_REPEAT_1_152(m, d) BOOST_PP_REPEAT_1_151(m, d) m(2, 151, d) +# define BOOST_PP_REPEAT_1_153(m, d) BOOST_PP_REPEAT_1_152(m, d) m(2, 152, d) +# define BOOST_PP_REPEAT_1_154(m, d) BOOST_PP_REPEAT_1_153(m, d) m(2, 153, d) +# define BOOST_PP_REPEAT_1_155(m, d) BOOST_PP_REPEAT_1_154(m, d) m(2, 154, d) +# define BOOST_PP_REPEAT_1_156(m, d) BOOST_PP_REPEAT_1_155(m, d) m(2, 155, d) +# define BOOST_PP_REPEAT_1_157(m, d) BOOST_PP_REPEAT_1_156(m, d) m(2, 156, d) +# define BOOST_PP_REPEAT_1_158(m, d) BOOST_PP_REPEAT_1_157(m, d) m(2, 157, d) +# define BOOST_PP_REPEAT_1_159(m, d) BOOST_PP_REPEAT_1_158(m, d) m(2, 158, d) +# define BOOST_PP_REPEAT_1_160(m, d) BOOST_PP_REPEAT_1_159(m, d) m(2, 159, d) +# define BOOST_PP_REPEAT_1_161(m, d) BOOST_PP_REPEAT_1_160(m, d) m(2, 160, d) +# define BOOST_PP_REPEAT_1_162(m, d) BOOST_PP_REPEAT_1_161(m, d) m(2, 161, d) +# define BOOST_PP_REPEAT_1_163(m, d) BOOST_PP_REPEAT_1_162(m, d) m(2, 162, d) +# define BOOST_PP_REPEAT_1_164(m, d) BOOST_PP_REPEAT_1_163(m, d) m(2, 163, d) +# define BOOST_PP_REPEAT_1_165(m, d) BOOST_PP_REPEAT_1_164(m, d) m(2, 164, d) +# define BOOST_PP_REPEAT_1_166(m, d) BOOST_PP_REPEAT_1_165(m, d) m(2, 165, d) +# define BOOST_PP_REPEAT_1_167(m, d) BOOST_PP_REPEAT_1_166(m, d) m(2, 166, d) +# define BOOST_PP_REPEAT_1_168(m, d) BOOST_PP_REPEAT_1_167(m, d) m(2, 167, d) +# define BOOST_PP_REPEAT_1_169(m, d) BOOST_PP_REPEAT_1_168(m, d) m(2, 168, d) +# define BOOST_PP_REPEAT_1_170(m, d) BOOST_PP_REPEAT_1_169(m, d) m(2, 169, d) +# define BOOST_PP_REPEAT_1_171(m, d) BOOST_PP_REPEAT_1_170(m, d) m(2, 170, d) +# define BOOST_PP_REPEAT_1_172(m, d) BOOST_PP_REPEAT_1_171(m, d) m(2, 171, d) +# define BOOST_PP_REPEAT_1_173(m, d) BOOST_PP_REPEAT_1_172(m, d) m(2, 172, d) +# define BOOST_PP_REPEAT_1_174(m, d) BOOST_PP_REPEAT_1_173(m, d) m(2, 173, d) +# define BOOST_PP_REPEAT_1_175(m, d) BOOST_PP_REPEAT_1_174(m, d) m(2, 174, d) +# define BOOST_PP_REPEAT_1_176(m, d) BOOST_PP_REPEAT_1_175(m, d) m(2, 175, d) +# define BOOST_PP_REPEAT_1_177(m, d) BOOST_PP_REPEAT_1_176(m, d) m(2, 176, d) +# define BOOST_PP_REPEAT_1_178(m, d) BOOST_PP_REPEAT_1_177(m, d) m(2, 177, d) +# define BOOST_PP_REPEAT_1_179(m, d) BOOST_PP_REPEAT_1_178(m, d) m(2, 178, d) +# define BOOST_PP_REPEAT_1_180(m, d) BOOST_PP_REPEAT_1_179(m, d) m(2, 179, d) +# define BOOST_PP_REPEAT_1_181(m, d) BOOST_PP_REPEAT_1_180(m, d) m(2, 180, d) +# define BOOST_PP_REPEAT_1_182(m, d) BOOST_PP_REPEAT_1_181(m, d) m(2, 181, d) +# define BOOST_PP_REPEAT_1_183(m, d) BOOST_PP_REPEAT_1_182(m, d) m(2, 182, d) +# define BOOST_PP_REPEAT_1_184(m, d) BOOST_PP_REPEAT_1_183(m, d) m(2, 183, d) +# define BOOST_PP_REPEAT_1_185(m, d) BOOST_PP_REPEAT_1_184(m, d) m(2, 184, d) +# define BOOST_PP_REPEAT_1_186(m, d) BOOST_PP_REPEAT_1_185(m, d) m(2, 185, d) +# define BOOST_PP_REPEAT_1_187(m, d) BOOST_PP_REPEAT_1_186(m, d) m(2, 186, d) +# define BOOST_PP_REPEAT_1_188(m, d) BOOST_PP_REPEAT_1_187(m, d) m(2, 187, d) +# define BOOST_PP_REPEAT_1_189(m, d) BOOST_PP_REPEAT_1_188(m, d) m(2, 188, d) +# define BOOST_PP_REPEAT_1_190(m, d) BOOST_PP_REPEAT_1_189(m, d) m(2, 189, d) +# define BOOST_PP_REPEAT_1_191(m, d) BOOST_PP_REPEAT_1_190(m, d) m(2, 190, d) +# define BOOST_PP_REPEAT_1_192(m, d) BOOST_PP_REPEAT_1_191(m, d) m(2, 191, d) +# define BOOST_PP_REPEAT_1_193(m, d) BOOST_PP_REPEAT_1_192(m, d) m(2, 192, d) +# define BOOST_PP_REPEAT_1_194(m, d) BOOST_PP_REPEAT_1_193(m, d) m(2, 193, d) +# define BOOST_PP_REPEAT_1_195(m, d) BOOST_PP_REPEAT_1_194(m, d) m(2, 194, d) +# define BOOST_PP_REPEAT_1_196(m, d) BOOST_PP_REPEAT_1_195(m, d) m(2, 195, d) +# define BOOST_PP_REPEAT_1_197(m, d) BOOST_PP_REPEAT_1_196(m, d) m(2, 196, d) +# define BOOST_PP_REPEAT_1_198(m, d) BOOST_PP_REPEAT_1_197(m, d) m(2, 197, d) +# define BOOST_PP_REPEAT_1_199(m, d) BOOST_PP_REPEAT_1_198(m, d) m(2, 198, d) +# define BOOST_PP_REPEAT_1_200(m, d) BOOST_PP_REPEAT_1_199(m, d) m(2, 199, d) +# define BOOST_PP_REPEAT_1_201(m, d) BOOST_PP_REPEAT_1_200(m, d) m(2, 200, d) +# define BOOST_PP_REPEAT_1_202(m, d) BOOST_PP_REPEAT_1_201(m, d) m(2, 201, d) +# define BOOST_PP_REPEAT_1_203(m, d) BOOST_PP_REPEAT_1_202(m, d) m(2, 202, d) +# define BOOST_PP_REPEAT_1_204(m, d) BOOST_PP_REPEAT_1_203(m, d) m(2, 203, d) +# define BOOST_PP_REPEAT_1_205(m, d) BOOST_PP_REPEAT_1_204(m, d) m(2, 204, d) +# define BOOST_PP_REPEAT_1_206(m, d) BOOST_PP_REPEAT_1_205(m, d) m(2, 205, d) +# define BOOST_PP_REPEAT_1_207(m, d) BOOST_PP_REPEAT_1_206(m, d) m(2, 206, d) +# define BOOST_PP_REPEAT_1_208(m, d) BOOST_PP_REPEAT_1_207(m, d) m(2, 207, d) +# define BOOST_PP_REPEAT_1_209(m, d) BOOST_PP_REPEAT_1_208(m, d) m(2, 208, d) +# define BOOST_PP_REPEAT_1_210(m, d) BOOST_PP_REPEAT_1_209(m, d) m(2, 209, d) +# define BOOST_PP_REPEAT_1_211(m, d) BOOST_PP_REPEAT_1_210(m, d) m(2, 210, d) +# define BOOST_PP_REPEAT_1_212(m, d) BOOST_PP_REPEAT_1_211(m, d) m(2, 211, d) +# define BOOST_PP_REPEAT_1_213(m, d) BOOST_PP_REPEAT_1_212(m, d) m(2, 212, d) +# define BOOST_PP_REPEAT_1_214(m, d) BOOST_PP_REPEAT_1_213(m, d) m(2, 213, d) +# define BOOST_PP_REPEAT_1_215(m, d) BOOST_PP_REPEAT_1_214(m, d) m(2, 214, d) +# define BOOST_PP_REPEAT_1_216(m, d) BOOST_PP_REPEAT_1_215(m, d) m(2, 215, d) +# define BOOST_PP_REPEAT_1_217(m, d) BOOST_PP_REPEAT_1_216(m, d) m(2, 216, d) +# define BOOST_PP_REPEAT_1_218(m, d) BOOST_PP_REPEAT_1_217(m, d) m(2, 217, d) +# define BOOST_PP_REPEAT_1_219(m, d) BOOST_PP_REPEAT_1_218(m, d) m(2, 218, d) +# define BOOST_PP_REPEAT_1_220(m, d) BOOST_PP_REPEAT_1_219(m, d) m(2, 219, d) +# define BOOST_PP_REPEAT_1_221(m, d) BOOST_PP_REPEAT_1_220(m, d) m(2, 220, d) +# define BOOST_PP_REPEAT_1_222(m, d) BOOST_PP_REPEAT_1_221(m, d) m(2, 221, d) +# define BOOST_PP_REPEAT_1_223(m, d) BOOST_PP_REPEAT_1_222(m, d) m(2, 222, d) +# define BOOST_PP_REPEAT_1_224(m, d) BOOST_PP_REPEAT_1_223(m, d) m(2, 223, d) +# define BOOST_PP_REPEAT_1_225(m, d) BOOST_PP_REPEAT_1_224(m, d) m(2, 224, d) +# define BOOST_PP_REPEAT_1_226(m, d) BOOST_PP_REPEAT_1_225(m, d) m(2, 225, d) +# define BOOST_PP_REPEAT_1_227(m, d) BOOST_PP_REPEAT_1_226(m, d) m(2, 226, d) +# define BOOST_PP_REPEAT_1_228(m, d) BOOST_PP_REPEAT_1_227(m, d) m(2, 227, d) +# define BOOST_PP_REPEAT_1_229(m, d) BOOST_PP_REPEAT_1_228(m, d) m(2, 228, d) +# define BOOST_PP_REPEAT_1_230(m, d) BOOST_PP_REPEAT_1_229(m, d) m(2, 229, d) +# define BOOST_PP_REPEAT_1_231(m, d) BOOST_PP_REPEAT_1_230(m, d) m(2, 230, d) +# define BOOST_PP_REPEAT_1_232(m, d) BOOST_PP_REPEAT_1_231(m, d) m(2, 231, d) +# define BOOST_PP_REPEAT_1_233(m, d) BOOST_PP_REPEAT_1_232(m, d) m(2, 232, d) +# define BOOST_PP_REPEAT_1_234(m, d) BOOST_PP_REPEAT_1_233(m, d) m(2, 233, d) +# define BOOST_PP_REPEAT_1_235(m, d) BOOST_PP_REPEAT_1_234(m, d) m(2, 234, d) +# define BOOST_PP_REPEAT_1_236(m, d) BOOST_PP_REPEAT_1_235(m, d) m(2, 235, d) +# define BOOST_PP_REPEAT_1_237(m, d) BOOST_PP_REPEAT_1_236(m, d) m(2, 236, d) +# define BOOST_PP_REPEAT_1_238(m, d) BOOST_PP_REPEAT_1_237(m, d) m(2, 237, d) +# define BOOST_PP_REPEAT_1_239(m, d) BOOST_PP_REPEAT_1_238(m, d) m(2, 238, d) +# define BOOST_PP_REPEAT_1_240(m, d) BOOST_PP_REPEAT_1_239(m, d) m(2, 239, d) +# define BOOST_PP_REPEAT_1_241(m, d) BOOST_PP_REPEAT_1_240(m, d) m(2, 240, d) +# define BOOST_PP_REPEAT_1_242(m, d) BOOST_PP_REPEAT_1_241(m, d) m(2, 241, d) +# define BOOST_PP_REPEAT_1_243(m, d) BOOST_PP_REPEAT_1_242(m, d) m(2, 242, d) +# define BOOST_PP_REPEAT_1_244(m, d) BOOST_PP_REPEAT_1_243(m, d) m(2, 243, d) +# define BOOST_PP_REPEAT_1_245(m, d) BOOST_PP_REPEAT_1_244(m, d) m(2, 244, d) +# define BOOST_PP_REPEAT_1_246(m, d) BOOST_PP_REPEAT_1_245(m, d) m(2, 245, d) +# define BOOST_PP_REPEAT_1_247(m, d) BOOST_PP_REPEAT_1_246(m, d) m(2, 246, d) +# define BOOST_PP_REPEAT_1_248(m, d) BOOST_PP_REPEAT_1_247(m, d) m(2, 247, d) +# define BOOST_PP_REPEAT_1_249(m, d) BOOST_PP_REPEAT_1_248(m, d) m(2, 248, d) +# define BOOST_PP_REPEAT_1_250(m, d) BOOST_PP_REPEAT_1_249(m, d) m(2, 249, d) +# define BOOST_PP_REPEAT_1_251(m, d) BOOST_PP_REPEAT_1_250(m, d) m(2, 250, d) +# define BOOST_PP_REPEAT_1_252(m, d) BOOST_PP_REPEAT_1_251(m, d) m(2, 251, d) +# define BOOST_PP_REPEAT_1_253(m, d) BOOST_PP_REPEAT_1_252(m, d) m(2, 252, d) +# define BOOST_PP_REPEAT_1_254(m, d) BOOST_PP_REPEAT_1_253(m, d) m(2, 253, d) +# define BOOST_PP_REPEAT_1_255(m, d) BOOST_PP_REPEAT_1_254(m, d) m(2, 254, d) +# define BOOST_PP_REPEAT_1_256(m, d) BOOST_PP_REPEAT_1_255(m, d) m(2, 255, d) +# +# define BOOST_PP_REPEAT_2_0(m, d) +# define BOOST_PP_REPEAT_2_1(m, d) m(3, 0, d) +# define BOOST_PP_REPEAT_2_2(m, d) BOOST_PP_REPEAT_2_1(m, d) m(3, 1, d) +# define BOOST_PP_REPEAT_2_3(m, d) BOOST_PP_REPEAT_2_2(m, d) m(3, 2, d) +# define BOOST_PP_REPEAT_2_4(m, d) BOOST_PP_REPEAT_2_3(m, d) m(3, 3, d) +# define BOOST_PP_REPEAT_2_5(m, d) BOOST_PP_REPEAT_2_4(m, d) m(3, 4, d) +# define BOOST_PP_REPEAT_2_6(m, d) BOOST_PP_REPEAT_2_5(m, d) m(3, 5, d) +# define BOOST_PP_REPEAT_2_7(m, d) BOOST_PP_REPEAT_2_6(m, d) m(3, 6, d) +# define BOOST_PP_REPEAT_2_8(m, d) BOOST_PP_REPEAT_2_7(m, d) m(3, 7, d) +# define BOOST_PP_REPEAT_2_9(m, d) BOOST_PP_REPEAT_2_8(m, d) m(3, 8, d) +# define BOOST_PP_REPEAT_2_10(m, d) BOOST_PP_REPEAT_2_9(m, d) m(3, 9, d) +# define BOOST_PP_REPEAT_2_11(m, d) BOOST_PP_REPEAT_2_10(m, d) m(3, 10, d) +# define BOOST_PP_REPEAT_2_12(m, d) BOOST_PP_REPEAT_2_11(m, d) m(3, 11, d) +# define BOOST_PP_REPEAT_2_13(m, d) BOOST_PP_REPEAT_2_12(m, d) m(3, 12, d) +# define BOOST_PP_REPEAT_2_14(m, d) BOOST_PP_REPEAT_2_13(m, d) m(3, 13, d) +# define BOOST_PP_REPEAT_2_15(m, d) BOOST_PP_REPEAT_2_14(m, d) m(3, 14, d) +# define BOOST_PP_REPEAT_2_16(m, d) BOOST_PP_REPEAT_2_15(m, d) m(3, 15, d) +# define BOOST_PP_REPEAT_2_17(m, d) BOOST_PP_REPEAT_2_16(m, d) m(3, 16, d) +# define BOOST_PP_REPEAT_2_18(m, d) BOOST_PP_REPEAT_2_17(m, d) m(3, 17, d) +# define BOOST_PP_REPEAT_2_19(m, d) BOOST_PP_REPEAT_2_18(m, d) m(3, 18, d) +# define BOOST_PP_REPEAT_2_20(m, d) BOOST_PP_REPEAT_2_19(m, d) m(3, 19, d) +# define BOOST_PP_REPEAT_2_21(m, d) BOOST_PP_REPEAT_2_20(m, d) m(3, 20, d) +# define BOOST_PP_REPEAT_2_22(m, d) BOOST_PP_REPEAT_2_21(m, d) m(3, 21, d) +# define BOOST_PP_REPEAT_2_23(m, d) BOOST_PP_REPEAT_2_22(m, d) m(3, 22, d) +# define BOOST_PP_REPEAT_2_24(m, d) BOOST_PP_REPEAT_2_23(m, d) m(3, 23, d) +# define BOOST_PP_REPEAT_2_25(m, d) BOOST_PP_REPEAT_2_24(m, d) m(3, 24, d) +# define BOOST_PP_REPEAT_2_26(m, d) BOOST_PP_REPEAT_2_25(m, d) m(3, 25, d) +# define BOOST_PP_REPEAT_2_27(m, d) BOOST_PP_REPEAT_2_26(m, d) m(3, 26, d) +# define BOOST_PP_REPEAT_2_28(m, d) BOOST_PP_REPEAT_2_27(m, d) m(3, 27, d) +# define BOOST_PP_REPEAT_2_29(m, d) BOOST_PP_REPEAT_2_28(m, d) m(3, 28, d) +# define BOOST_PP_REPEAT_2_30(m, d) BOOST_PP_REPEAT_2_29(m, d) m(3, 29, d) +# define BOOST_PP_REPEAT_2_31(m, d) BOOST_PP_REPEAT_2_30(m, d) m(3, 30, d) +# define BOOST_PP_REPEAT_2_32(m, d) BOOST_PP_REPEAT_2_31(m, d) m(3, 31, d) +# define BOOST_PP_REPEAT_2_33(m, d) BOOST_PP_REPEAT_2_32(m, d) m(3, 32, d) +# define BOOST_PP_REPEAT_2_34(m, d) BOOST_PP_REPEAT_2_33(m, d) m(3, 33, d) +# define BOOST_PP_REPEAT_2_35(m, d) BOOST_PP_REPEAT_2_34(m, d) m(3, 34, d) +# define BOOST_PP_REPEAT_2_36(m, d) BOOST_PP_REPEAT_2_35(m, d) m(3, 35, d) +# define BOOST_PP_REPEAT_2_37(m, d) BOOST_PP_REPEAT_2_36(m, d) m(3, 36, d) +# define BOOST_PP_REPEAT_2_38(m, d) BOOST_PP_REPEAT_2_37(m, d) m(3, 37, d) +# define BOOST_PP_REPEAT_2_39(m, d) BOOST_PP_REPEAT_2_38(m, d) m(3, 38, d) +# define BOOST_PP_REPEAT_2_40(m, d) BOOST_PP_REPEAT_2_39(m, d) m(3, 39, d) +# define BOOST_PP_REPEAT_2_41(m, d) BOOST_PP_REPEAT_2_40(m, d) m(3, 40, d) +# define BOOST_PP_REPEAT_2_42(m, d) BOOST_PP_REPEAT_2_41(m, d) m(3, 41, d) +# define BOOST_PP_REPEAT_2_43(m, d) BOOST_PP_REPEAT_2_42(m, d) m(3, 42, d) +# define BOOST_PP_REPEAT_2_44(m, d) BOOST_PP_REPEAT_2_43(m, d) m(3, 43, d) +# define BOOST_PP_REPEAT_2_45(m, d) BOOST_PP_REPEAT_2_44(m, d) m(3, 44, d) +# define BOOST_PP_REPEAT_2_46(m, d) BOOST_PP_REPEAT_2_45(m, d) m(3, 45, d) +# define BOOST_PP_REPEAT_2_47(m, d) BOOST_PP_REPEAT_2_46(m, d) m(3, 46, d) +# define BOOST_PP_REPEAT_2_48(m, d) BOOST_PP_REPEAT_2_47(m, d) m(3, 47, d) +# define BOOST_PP_REPEAT_2_49(m, d) BOOST_PP_REPEAT_2_48(m, d) m(3, 48, d) +# define BOOST_PP_REPEAT_2_50(m, d) BOOST_PP_REPEAT_2_49(m, d) m(3, 49, d) +# define BOOST_PP_REPEAT_2_51(m, d) BOOST_PP_REPEAT_2_50(m, d) m(3, 50, d) +# define BOOST_PP_REPEAT_2_52(m, d) BOOST_PP_REPEAT_2_51(m, d) m(3, 51, d) +# define BOOST_PP_REPEAT_2_53(m, d) BOOST_PP_REPEAT_2_52(m, d) m(3, 52, d) +# define BOOST_PP_REPEAT_2_54(m, d) BOOST_PP_REPEAT_2_53(m, d) m(3, 53, d) +# define BOOST_PP_REPEAT_2_55(m, d) BOOST_PP_REPEAT_2_54(m, d) m(3, 54, d) +# define BOOST_PP_REPEAT_2_56(m, d) BOOST_PP_REPEAT_2_55(m, d) m(3, 55, d) +# define BOOST_PP_REPEAT_2_57(m, d) BOOST_PP_REPEAT_2_56(m, d) m(3, 56, d) +# define BOOST_PP_REPEAT_2_58(m, d) BOOST_PP_REPEAT_2_57(m, d) m(3, 57, d) +# define BOOST_PP_REPEAT_2_59(m, d) BOOST_PP_REPEAT_2_58(m, d) m(3, 58, d) +# define BOOST_PP_REPEAT_2_60(m, d) BOOST_PP_REPEAT_2_59(m, d) m(3, 59, d) +# define BOOST_PP_REPEAT_2_61(m, d) BOOST_PP_REPEAT_2_60(m, d) m(3, 60, d) +# define BOOST_PP_REPEAT_2_62(m, d) BOOST_PP_REPEAT_2_61(m, d) m(3, 61, d) +# define BOOST_PP_REPEAT_2_63(m, d) BOOST_PP_REPEAT_2_62(m, d) m(3, 62, d) +# define BOOST_PP_REPEAT_2_64(m, d) BOOST_PP_REPEAT_2_63(m, d) m(3, 63, d) +# define BOOST_PP_REPEAT_2_65(m, d) BOOST_PP_REPEAT_2_64(m, d) m(3, 64, d) +# define BOOST_PP_REPEAT_2_66(m, d) BOOST_PP_REPEAT_2_65(m, d) m(3, 65, d) +# define BOOST_PP_REPEAT_2_67(m, d) BOOST_PP_REPEAT_2_66(m, d) m(3, 66, d) +# define BOOST_PP_REPEAT_2_68(m, d) BOOST_PP_REPEAT_2_67(m, d) m(3, 67, d) +# define BOOST_PP_REPEAT_2_69(m, d) BOOST_PP_REPEAT_2_68(m, d) m(3, 68, d) +# define BOOST_PP_REPEAT_2_70(m, d) BOOST_PP_REPEAT_2_69(m, d) m(3, 69, d) +# define BOOST_PP_REPEAT_2_71(m, d) BOOST_PP_REPEAT_2_70(m, d) m(3, 70, d) +# define BOOST_PP_REPEAT_2_72(m, d) BOOST_PP_REPEAT_2_71(m, d) m(3, 71, d) +# define BOOST_PP_REPEAT_2_73(m, d) BOOST_PP_REPEAT_2_72(m, d) m(3, 72, d) +# define BOOST_PP_REPEAT_2_74(m, d) BOOST_PP_REPEAT_2_73(m, d) m(3, 73, d) +# define BOOST_PP_REPEAT_2_75(m, d) BOOST_PP_REPEAT_2_74(m, d) m(3, 74, d) +# define BOOST_PP_REPEAT_2_76(m, d) BOOST_PP_REPEAT_2_75(m, d) m(3, 75, d) +# define BOOST_PP_REPEAT_2_77(m, d) BOOST_PP_REPEAT_2_76(m, d) m(3, 76, d) +# define BOOST_PP_REPEAT_2_78(m, d) BOOST_PP_REPEAT_2_77(m, d) m(3, 77, d) +# define BOOST_PP_REPEAT_2_79(m, d) BOOST_PP_REPEAT_2_78(m, d) m(3, 78, d) +# define BOOST_PP_REPEAT_2_80(m, d) BOOST_PP_REPEAT_2_79(m, d) m(3, 79, d) +# define BOOST_PP_REPEAT_2_81(m, d) BOOST_PP_REPEAT_2_80(m, d) m(3, 80, d) +# define BOOST_PP_REPEAT_2_82(m, d) BOOST_PP_REPEAT_2_81(m, d) m(3, 81, d) +# define BOOST_PP_REPEAT_2_83(m, d) BOOST_PP_REPEAT_2_82(m, d) m(3, 82, d) +# define BOOST_PP_REPEAT_2_84(m, d) BOOST_PP_REPEAT_2_83(m, d) m(3, 83, d) +# define BOOST_PP_REPEAT_2_85(m, d) BOOST_PP_REPEAT_2_84(m, d) m(3, 84, d) +# define BOOST_PP_REPEAT_2_86(m, d) BOOST_PP_REPEAT_2_85(m, d) m(3, 85, d) +# define BOOST_PP_REPEAT_2_87(m, d) BOOST_PP_REPEAT_2_86(m, d) m(3, 86, d) +# define BOOST_PP_REPEAT_2_88(m, d) BOOST_PP_REPEAT_2_87(m, d) m(3, 87, d) +# define BOOST_PP_REPEAT_2_89(m, d) BOOST_PP_REPEAT_2_88(m, d) m(3, 88, d) +# define BOOST_PP_REPEAT_2_90(m, d) BOOST_PP_REPEAT_2_89(m, d) m(3, 89, d) +# define BOOST_PP_REPEAT_2_91(m, d) BOOST_PP_REPEAT_2_90(m, d) m(3, 90, d) +# define BOOST_PP_REPEAT_2_92(m, d) BOOST_PP_REPEAT_2_91(m, d) m(3, 91, d) +# define BOOST_PP_REPEAT_2_93(m, d) BOOST_PP_REPEAT_2_92(m, d) m(3, 92, d) +# define BOOST_PP_REPEAT_2_94(m, d) BOOST_PP_REPEAT_2_93(m, d) m(3, 93, d) +# define BOOST_PP_REPEAT_2_95(m, d) BOOST_PP_REPEAT_2_94(m, d) m(3, 94, d) +# define BOOST_PP_REPEAT_2_96(m, d) BOOST_PP_REPEAT_2_95(m, d) m(3, 95, d) +# define BOOST_PP_REPEAT_2_97(m, d) BOOST_PP_REPEAT_2_96(m, d) m(3, 96, d) +# define BOOST_PP_REPEAT_2_98(m, d) BOOST_PP_REPEAT_2_97(m, d) m(3, 97, d) +# define BOOST_PP_REPEAT_2_99(m, d) BOOST_PP_REPEAT_2_98(m, d) m(3, 98, d) +# define BOOST_PP_REPEAT_2_100(m, d) BOOST_PP_REPEAT_2_99(m, d) m(3, 99, d) +# define BOOST_PP_REPEAT_2_101(m, d) BOOST_PP_REPEAT_2_100(m, d) m(3, 100, d) +# define BOOST_PP_REPEAT_2_102(m, d) BOOST_PP_REPEAT_2_101(m, d) m(3, 101, d) +# define BOOST_PP_REPEAT_2_103(m, d) BOOST_PP_REPEAT_2_102(m, d) m(3, 102, d) +# define BOOST_PP_REPEAT_2_104(m, d) BOOST_PP_REPEAT_2_103(m, d) m(3, 103, d) +# define BOOST_PP_REPEAT_2_105(m, d) BOOST_PP_REPEAT_2_104(m, d) m(3, 104, d) +# define BOOST_PP_REPEAT_2_106(m, d) BOOST_PP_REPEAT_2_105(m, d) m(3, 105, d) +# define BOOST_PP_REPEAT_2_107(m, d) BOOST_PP_REPEAT_2_106(m, d) m(3, 106, d) +# define BOOST_PP_REPEAT_2_108(m, d) BOOST_PP_REPEAT_2_107(m, d) m(3, 107, d) +# define BOOST_PP_REPEAT_2_109(m, d) BOOST_PP_REPEAT_2_108(m, d) m(3, 108, d) +# define BOOST_PP_REPEAT_2_110(m, d) BOOST_PP_REPEAT_2_109(m, d) m(3, 109, d) +# define BOOST_PP_REPEAT_2_111(m, d) BOOST_PP_REPEAT_2_110(m, d) m(3, 110, d) +# define BOOST_PP_REPEAT_2_112(m, d) BOOST_PP_REPEAT_2_111(m, d) m(3, 111, d) +# define BOOST_PP_REPEAT_2_113(m, d) BOOST_PP_REPEAT_2_112(m, d) m(3, 112, d) +# define BOOST_PP_REPEAT_2_114(m, d) BOOST_PP_REPEAT_2_113(m, d) m(3, 113, d) +# define BOOST_PP_REPEAT_2_115(m, d) BOOST_PP_REPEAT_2_114(m, d) m(3, 114, d) +# define BOOST_PP_REPEAT_2_116(m, d) BOOST_PP_REPEAT_2_115(m, d) m(3, 115, d) +# define BOOST_PP_REPEAT_2_117(m, d) BOOST_PP_REPEAT_2_116(m, d) m(3, 116, d) +# define BOOST_PP_REPEAT_2_118(m, d) BOOST_PP_REPEAT_2_117(m, d) m(3, 117, d) +# define BOOST_PP_REPEAT_2_119(m, d) BOOST_PP_REPEAT_2_118(m, d) m(3, 118, d) +# define BOOST_PP_REPEAT_2_120(m, d) BOOST_PP_REPEAT_2_119(m, d) m(3, 119, d) +# define BOOST_PP_REPEAT_2_121(m, d) BOOST_PP_REPEAT_2_120(m, d) m(3, 120, d) +# define BOOST_PP_REPEAT_2_122(m, d) BOOST_PP_REPEAT_2_121(m, d) m(3, 121, d) +# define BOOST_PP_REPEAT_2_123(m, d) BOOST_PP_REPEAT_2_122(m, d) m(3, 122, d) +# define BOOST_PP_REPEAT_2_124(m, d) BOOST_PP_REPEAT_2_123(m, d) m(3, 123, d) +# define BOOST_PP_REPEAT_2_125(m, d) BOOST_PP_REPEAT_2_124(m, d) m(3, 124, d) +# define BOOST_PP_REPEAT_2_126(m, d) BOOST_PP_REPEAT_2_125(m, d) m(3, 125, d) +# define BOOST_PP_REPEAT_2_127(m, d) BOOST_PP_REPEAT_2_126(m, d) m(3, 126, d) +# define BOOST_PP_REPEAT_2_128(m, d) BOOST_PP_REPEAT_2_127(m, d) m(3, 127, d) +# define BOOST_PP_REPEAT_2_129(m, d) BOOST_PP_REPEAT_2_128(m, d) m(3, 128, d) +# define BOOST_PP_REPEAT_2_130(m, d) BOOST_PP_REPEAT_2_129(m, d) m(3, 129, d) +# define BOOST_PP_REPEAT_2_131(m, d) BOOST_PP_REPEAT_2_130(m, d) m(3, 130, d) +# define BOOST_PP_REPEAT_2_132(m, d) BOOST_PP_REPEAT_2_131(m, d) m(3, 131, d) +# define BOOST_PP_REPEAT_2_133(m, d) BOOST_PP_REPEAT_2_132(m, d) m(3, 132, d) +# define BOOST_PP_REPEAT_2_134(m, d) BOOST_PP_REPEAT_2_133(m, d) m(3, 133, d) +# define BOOST_PP_REPEAT_2_135(m, d) BOOST_PP_REPEAT_2_134(m, d) m(3, 134, d) +# define BOOST_PP_REPEAT_2_136(m, d) BOOST_PP_REPEAT_2_135(m, d) m(3, 135, d) +# define BOOST_PP_REPEAT_2_137(m, d) BOOST_PP_REPEAT_2_136(m, d) m(3, 136, d) +# define BOOST_PP_REPEAT_2_138(m, d) BOOST_PP_REPEAT_2_137(m, d) m(3, 137, d) +# define BOOST_PP_REPEAT_2_139(m, d) BOOST_PP_REPEAT_2_138(m, d) m(3, 138, d) +# define BOOST_PP_REPEAT_2_140(m, d) BOOST_PP_REPEAT_2_139(m, d) m(3, 139, d) +# define BOOST_PP_REPEAT_2_141(m, d) BOOST_PP_REPEAT_2_140(m, d) m(3, 140, d) +# define BOOST_PP_REPEAT_2_142(m, d) BOOST_PP_REPEAT_2_141(m, d) m(3, 141, d) +# define BOOST_PP_REPEAT_2_143(m, d) BOOST_PP_REPEAT_2_142(m, d) m(3, 142, d) +# define BOOST_PP_REPEAT_2_144(m, d) BOOST_PP_REPEAT_2_143(m, d) m(3, 143, d) +# define BOOST_PP_REPEAT_2_145(m, d) BOOST_PP_REPEAT_2_144(m, d) m(3, 144, d) +# define BOOST_PP_REPEAT_2_146(m, d) BOOST_PP_REPEAT_2_145(m, d) m(3, 145, d) +# define BOOST_PP_REPEAT_2_147(m, d) BOOST_PP_REPEAT_2_146(m, d) m(3, 146, d) +# define BOOST_PP_REPEAT_2_148(m, d) BOOST_PP_REPEAT_2_147(m, d) m(3, 147, d) +# define BOOST_PP_REPEAT_2_149(m, d) BOOST_PP_REPEAT_2_148(m, d) m(3, 148, d) +# define BOOST_PP_REPEAT_2_150(m, d) BOOST_PP_REPEAT_2_149(m, d) m(3, 149, d) +# define BOOST_PP_REPEAT_2_151(m, d) BOOST_PP_REPEAT_2_150(m, d) m(3, 150, d) +# define BOOST_PP_REPEAT_2_152(m, d) BOOST_PP_REPEAT_2_151(m, d) m(3, 151, d) +# define BOOST_PP_REPEAT_2_153(m, d) BOOST_PP_REPEAT_2_152(m, d) m(3, 152, d) +# define BOOST_PP_REPEAT_2_154(m, d) BOOST_PP_REPEAT_2_153(m, d) m(3, 153, d) +# define BOOST_PP_REPEAT_2_155(m, d) BOOST_PP_REPEAT_2_154(m, d) m(3, 154, d) +# define BOOST_PP_REPEAT_2_156(m, d) BOOST_PP_REPEAT_2_155(m, d) m(3, 155, d) +# define BOOST_PP_REPEAT_2_157(m, d) BOOST_PP_REPEAT_2_156(m, d) m(3, 156, d) +# define BOOST_PP_REPEAT_2_158(m, d) BOOST_PP_REPEAT_2_157(m, d) m(3, 157, d) +# define BOOST_PP_REPEAT_2_159(m, d) BOOST_PP_REPEAT_2_158(m, d) m(3, 158, d) +# define BOOST_PP_REPEAT_2_160(m, d) BOOST_PP_REPEAT_2_159(m, d) m(3, 159, d) +# define BOOST_PP_REPEAT_2_161(m, d) BOOST_PP_REPEAT_2_160(m, d) m(3, 160, d) +# define BOOST_PP_REPEAT_2_162(m, d) BOOST_PP_REPEAT_2_161(m, d) m(3, 161, d) +# define BOOST_PP_REPEAT_2_163(m, d) BOOST_PP_REPEAT_2_162(m, d) m(3, 162, d) +# define BOOST_PP_REPEAT_2_164(m, d) BOOST_PP_REPEAT_2_163(m, d) m(3, 163, d) +# define BOOST_PP_REPEAT_2_165(m, d) BOOST_PP_REPEAT_2_164(m, d) m(3, 164, d) +# define BOOST_PP_REPEAT_2_166(m, d) BOOST_PP_REPEAT_2_165(m, d) m(3, 165, d) +# define BOOST_PP_REPEAT_2_167(m, d) BOOST_PP_REPEAT_2_166(m, d) m(3, 166, d) +# define BOOST_PP_REPEAT_2_168(m, d) BOOST_PP_REPEAT_2_167(m, d) m(3, 167, d) +# define BOOST_PP_REPEAT_2_169(m, d) BOOST_PP_REPEAT_2_168(m, d) m(3, 168, d) +# define BOOST_PP_REPEAT_2_170(m, d) BOOST_PP_REPEAT_2_169(m, d) m(3, 169, d) +# define BOOST_PP_REPEAT_2_171(m, d) BOOST_PP_REPEAT_2_170(m, d) m(3, 170, d) +# define BOOST_PP_REPEAT_2_172(m, d) BOOST_PP_REPEAT_2_171(m, d) m(3, 171, d) +# define BOOST_PP_REPEAT_2_173(m, d) BOOST_PP_REPEAT_2_172(m, d) m(3, 172, d) +# define BOOST_PP_REPEAT_2_174(m, d) BOOST_PP_REPEAT_2_173(m, d) m(3, 173, d) +# define BOOST_PP_REPEAT_2_175(m, d) BOOST_PP_REPEAT_2_174(m, d) m(3, 174, d) +# define BOOST_PP_REPEAT_2_176(m, d) BOOST_PP_REPEAT_2_175(m, d) m(3, 175, d) +# define BOOST_PP_REPEAT_2_177(m, d) BOOST_PP_REPEAT_2_176(m, d) m(3, 176, d) +# define BOOST_PP_REPEAT_2_178(m, d) BOOST_PP_REPEAT_2_177(m, d) m(3, 177, d) +# define BOOST_PP_REPEAT_2_179(m, d) BOOST_PP_REPEAT_2_178(m, d) m(3, 178, d) +# define BOOST_PP_REPEAT_2_180(m, d) BOOST_PP_REPEAT_2_179(m, d) m(3, 179, d) +# define BOOST_PP_REPEAT_2_181(m, d) BOOST_PP_REPEAT_2_180(m, d) m(3, 180, d) +# define BOOST_PP_REPEAT_2_182(m, d) BOOST_PP_REPEAT_2_181(m, d) m(3, 181, d) +# define BOOST_PP_REPEAT_2_183(m, d) BOOST_PP_REPEAT_2_182(m, d) m(3, 182, d) +# define BOOST_PP_REPEAT_2_184(m, d) BOOST_PP_REPEAT_2_183(m, d) m(3, 183, d) +# define BOOST_PP_REPEAT_2_185(m, d) BOOST_PP_REPEAT_2_184(m, d) m(3, 184, d) +# define BOOST_PP_REPEAT_2_186(m, d) BOOST_PP_REPEAT_2_185(m, d) m(3, 185, d) +# define BOOST_PP_REPEAT_2_187(m, d) BOOST_PP_REPEAT_2_186(m, d) m(3, 186, d) +# define BOOST_PP_REPEAT_2_188(m, d) BOOST_PP_REPEAT_2_187(m, d) m(3, 187, d) +# define BOOST_PP_REPEAT_2_189(m, d) BOOST_PP_REPEAT_2_188(m, d) m(3, 188, d) +# define BOOST_PP_REPEAT_2_190(m, d) BOOST_PP_REPEAT_2_189(m, d) m(3, 189, d) +# define BOOST_PP_REPEAT_2_191(m, d) BOOST_PP_REPEAT_2_190(m, d) m(3, 190, d) +# define BOOST_PP_REPEAT_2_192(m, d) BOOST_PP_REPEAT_2_191(m, d) m(3, 191, d) +# define BOOST_PP_REPEAT_2_193(m, d) BOOST_PP_REPEAT_2_192(m, d) m(3, 192, d) +# define BOOST_PP_REPEAT_2_194(m, d) BOOST_PP_REPEAT_2_193(m, d) m(3, 193, d) +# define BOOST_PP_REPEAT_2_195(m, d) BOOST_PP_REPEAT_2_194(m, d) m(3, 194, d) +# define BOOST_PP_REPEAT_2_196(m, d) BOOST_PP_REPEAT_2_195(m, d) m(3, 195, d) +# define BOOST_PP_REPEAT_2_197(m, d) BOOST_PP_REPEAT_2_196(m, d) m(3, 196, d) +# define BOOST_PP_REPEAT_2_198(m, d) BOOST_PP_REPEAT_2_197(m, d) m(3, 197, d) +# define BOOST_PP_REPEAT_2_199(m, d) BOOST_PP_REPEAT_2_198(m, d) m(3, 198, d) +# define BOOST_PP_REPEAT_2_200(m, d) BOOST_PP_REPEAT_2_199(m, d) m(3, 199, d) +# define BOOST_PP_REPEAT_2_201(m, d) BOOST_PP_REPEAT_2_200(m, d) m(3, 200, d) +# define BOOST_PP_REPEAT_2_202(m, d) BOOST_PP_REPEAT_2_201(m, d) m(3, 201, d) +# define BOOST_PP_REPEAT_2_203(m, d) BOOST_PP_REPEAT_2_202(m, d) m(3, 202, d) +# define BOOST_PP_REPEAT_2_204(m, d) BOOST_PP_REPEAT_2_203(m, d) m(3, 203, d) +# define BOOST_PP_REPEAT_2_205(m, d) BOOST_PP_REPEAT_2_204(m, d) m(3, 204, d) +# define BOOST_PP_REPEAT_2_206(m, d) BOOST_PP_REPEAT_2_205(m, d) m(3, 205, d) +# define BOOST_PP_REPEAT_2_207(m, d) BOOST_PP_REPEAT_2_206(m, d) m(3, 206, d) +# define BOOST_PP_REPEAT_2_208(m, d) BOOST_PP_REPEAT_2_207(m, d) m(3, 207, d) +# define BOOST_PP_REPEAT_2_209(m, d) BOOST_PP_REPEAT_2_208(m, d) m(3, 208, d) +# define BOOST_PP_REPEAT_2_210(m, d) BOOST_PP_REPEAT_2_209(m, d) m(3, 209, d) +# define BOOST_PP_REPEAT_2_211(m, d) BOOST_PP_REPEAT_2_210(m, d) m(3, 210, d) +# define BOOST_PP_REPEAT_2_212(m, d) BOOST_PP_REPEAT_2_211(m, d) m(3, 211, d) +# define BOOST_PP_REPEAT_2_213(m, d) BOOST_PP_REPEAT_2_212(m, d) m(3, 212, d) +# define BOOST_PP_REPEAT_2_214(m, d) BOOST_PP_REPEAT_2_213(m, d) m(3, 213, d) +# define BOOST_PP_REPEAT_2_215(m, d) BOOST_PP_REPEAT_2_214(m, d) m(3, 214, d) +# define BOOST_PP_REPEAT_2_216(m, d) BOOST_PP_REPEAT_2_215(m, d) m(3, 215, d) +# define BOOST_PP_REPEAT_2_217(m, d) BOOST_PP_REPEAT_2_216(m, d) m(3, 216, d) +# define BOOST_PP_REPEAT_2_218(m, d) BOOST_PP_REPEAT_2_217(m, d) m(3, 217, d) +# define BOOST_PP_REPEAT_2_219(m, d) BOOST_PP_REPEAT_2_218(m, d) m(3, 218, d) +# define BOOST_PP_REPEAT_2_220(m, d) BOOST_PP_REPEAT_2_219(m, d) m(3, 219, d) +# define BOOST_PP_REPEAT_2_221(m, d) BOOST_PP_REPEAT_2_220(m, d) m(3, 220, d) +# define BOOST_PP_REPEAT_2_222(m, d) BOOST_PP_REPEAT_2_221(m, d) m(3, 221, d) +# define BOOST_PP_REPEAT_2_223(m, d) BOOST_PP_REPEAT_2_222(m, d) m(3, 222, d) +# define BOOST_PP_REPEAT_2_224(m, d) BOOST_PP_REPEAT_2_223(m, d) m(3, 223, d) +# define BOOST_PP_REPEAT_2_225(m, d) BOOST_PP_REPEAT_2_224(m, d) m(3, 224, d) +# define BOOST_PP_REPEAT_2_226(m, d) BOOST_PP_REPEAT_2_225(m, d) m(3, 225, d) +# define BOOST_PP_REPEAT_2_227(m, d) BOOST_PP_REPEAT_2_226(m, d) m(3, 226, d) +# define BOOST_PP_REPEAT_2_228(m, d) BOOST_PP_REPEAT_2_227(m, d) m(3, 227, d) +# define BOOST_PP_REPEAT_2_229(m, d) BOOST_PP_REPEAT_2_228(m, d) m(3, 228, d) +# define BOOST_PP_REPEAT_2_230(m, d) BOOST_PP_REPEAT_2_229(m, d) m(3, 229, d) +# define BOOST_PP_REPEAT_2_231(m, d) BOOST_PP_REPEAT_2_230(m, d) m(3, 230, d) +# define BOOST_PP_REPEAT_2_232(m, d) BOOST_PP_REPEAT_2_231(m, d) m(3, 231, d) +# define BOOST_PP_REPEAT_2_233(m, d) BOOST_PP_REPEAT_2_232(m, d) m(3, 232, d) +# define BOOST_PP_REPEAT_2_234(m, d) BOOST_PP_REPEAT_2_233(m, d) m(3, 233, d) +# define BOOST_PP_REPEAT_2_235(m, d) BOOST_PP_REPEAT_2_234(m, d) m(3, 234, d) +# define BOOST_PP_REPEAT_2_236(m, d) BOOST_PP_REPEAT_2_235(m, d) m(3, 235, d) +# define BOOST_PP_REPEAT_2_237(m, d) BOOST_PP_REPEAT_2_236(m, d) m(3, 236, d) +# define BOOST_PP_REPEAT_2_238(m, d) BOOST_PP_REPEAT_2_237(m, d) m(3, 237, d) +# define BOOST_PP_REPEAT_2_239(m, d) BOOST_PP_REPEAT_2_238(m, d) m(3, 238, d) +# define BOOST_PP_REPEAT_2_240(m, d) BOOST_PP_REPEAT_2_239(m, d) m(3, 239, d) +# define BOOST_PP_REPEAT_2_241(m, d) BOOST_PP_REPEAT_2_240(m, d) m(3, 240, d) +# define BOOST_PP_REPEAT_2_242(m, d) BOOST_PP_REPEAT_2_241(m, d) m(3, 241, d) +# define BOOST_PP_REPEAT_2_243(m, d) BOOST_PP_REPEAT_2_242(m, d) m(3, 242, d) +# define BOOST_PP_REPEAT_2_244(m, d) BOOST_PP_REPEAT_2_243(m, d) m(3, 243, d) +# define BOOST_PP_REPEAT_2_245(m, d) BOOST_PP_REPEAT_2_244(m, d) m(3, 244, d) +# define BOOST_PP_REPEAT_2_246(m, d) BOOST_PP_REPEAT_2_245(m, d) m(3, 245, d) +# define BOOST_PP_REPEAT_2_247(m, d) BOOST_PP_REPEAT_2_246(m, d) m(3, 246, d) +# define BOOST_PP_REPEAT_2_248(m, d) BOOST_PP_REPEAT_2_247(m, d) m(3, 247, d) +# define BOOST_PP_REPEAT_2_249(m, d) BOOST_PP_REPEAT_2_248(m, d) m(3, 248, d) +# define BOOST_PP_REPEAT_2_250(m, d) BOOST_PP_REPEAT_2_249(m, d) m(3, 249, d) +# define BOOST_PP_REPEAT_2_251(m, d) BOOST_PP_REPEAT_2_250(m, d) m(3, 250, d) +# define BOOST_PP_REPEAT_2_252(m, d) BOOST_PP_REPEAT_2_251(m, d) m(3, 251, d) +# define BOOST_PP_REPEAT_2_253(m, d) BOOST_PP_REPEAT_2_252(m, d) m(3, 252, d) +# define BOOST_PP_REPEAT_2_254(m, d) BOOST_PP_REPEAT_2_253(m, d) m(3, 253, d) +# define BOOST_PP_REPEAT_2_255(m, d) BOOST_PP_REPEAT_2_254(m, d) m(3, 254, d) +# define BOOST_PP_REPEAT_2_256(m, d) BOOST_PP_REPEAT_2_255(m, d) m(3, 255, d) +# +# define BOOST_PP_REPEAT_3_0(m, d) +# define BOOST_PP_REPEAT_3_1(m, d) m(4, 0, d) +# define BOOST_PP_REPEAT_3_2(m, d) BOOST_PP_REPEAT_3_1(m, d) m(4, 1, d) +# define BOOST_PP_REPEAT_3_3(m, d) BOOST_PP_REPEAT_3_2(m, d) m(4, 2, d) +# define BOOST_PP_REPEAT_3_4(m, d) BOOST_PP_REPEAT_3_3(m, d) m(4, 3, d) +# define BOOST_PP_REPEAT_3_5(m, d) BOOST_PP_REPEAT_3_4(m, d) m(4, 4, d) +# define BOOST_PP_REPEAT_3_6(m, d) BOOST_PP_REPEAT_3_5(m, d) m(4, 5, d) +# define BOOST_PP_REPEAT_3_7(m, d) BOOST_PP_REPEAT_3_6(m, d) m(4, 6, d) +# define BOOST_PP_REPEAT_3_8(m, d) BOOST_PP_REPEAT_3_7(m, d) m(4, 7, d) +# define BOOST_PP_REPEAT_3_9(m, d) BOOST_PP_REPEAT_3_8(m, d) m(4, 8, d) +# define BOOST_PP_REPEAT_3_10(m, d) BOOST_PP_REPEAT_3_9(m, d) m(4, 9, d) +# define BOOST_PP_REPEAT_3_11(m, d) BOOST_PP_REPEAT_3_10(m, d) m(4, 10, d) +# define BOOST_PP_REPEAT_3_12(m, d) BOOST_PP_REPEAT_3_11(m, d) m(4, 11, d) +# define BOOST_PP_REPEAT_3_13(m, d) BOOST_PP_REPEAT_3_12(m, d) m(4, 12, d) +# define BOOST_PP_REPEAT_3_14(m, d) BOOST_PP_REPEAT_3_13(m, d) m(4, 13, d) +# define BOOST_PP_REPEAT_3_15(m, d) BOOST_PP_REPEAT_3_14(m, d) m(4, 14, d) +# define BOOST_PP_REPEAT_3_16(m, d) BOOST_PP_REPEAT_3_15(m, d) m(4, 15, d) +# define BOOST_PP_REPEAT_3_17(m, d) BOOST_PP_REPEAT_3_16(m, d) m(4, 16, d) +# define BOOST_PP_REPEAT_3_18(m, d) BOOST_PP_REPEAT_3_17(m, d) m(4, 17, d) +# define BOOST_PP_REPEAT_3_19(m, d) BOOST_PP_REPEAT_3_18(m, d) m(4, 18, d) +# define BOOST_PP_REPEAT_3_20(m, d) BOOST_PP_REPEAT_3_19(m, d) m(4, 19, d) +# define BOOST_PP_REPEAT_3_21(m, d) BOOST_PP_REPEAT_3_20(m, d) m(4, 20, d) +# define BOOST_PP_REPEAT_3_22(m, d) BOOST_PP_REPEAT_3_21(m, d) m(4, 21, d) +# define BOOST_PP_REPEAT_3_23(m, d) BOOST_PP_REPEAT_3_22(m, d) m(4, 22, d) +# define BOOST_PP_REPEAT_3_24(m, d) BOOST_PP_REPEAT_3_23(m, d) m(4, 23, d) +# define BOOST_PP_REPEAT_3_25(m, d) BOOST_PP_REPEAT_3_24(m, d) m(4, 24, d) +# define BOOST_PP_REPEAT_3_26(m, d) BOOST_PP_REPEAT_3_25(m, d) m(4, 25, d) +# define BOOST_PP_REPEAT_3_27(m, d) BOOST_PP_REPEAT_3_26(m, d) m(4, 26, d) +# define BOOST_PP_REPEAT_3_28(m, d) BOOST_PP_REPEAT_3_27(m, d) m(4, 27, d) +# define BOOST_PP_REPEAT_3_29(m, d) BOOST_PP_REPEAT_3_28(m, d) m(4, 28, d) +# define BOOST_PP_REPEAT_3_30(m, d) BOOST_PP_REPEAT_3_29(m, d) m(4, 29, d) +# define BOOST_PP_REPEAT_3_31(m, d) BOOST_PP_REPEAT_3_30(m, d) m(4, 30, d) +# define BOOST_PP_REPEAT_3_32(m, d) BOOST_PP_REPEAT_3_31(m, d) m(4, 31, d) +# define BOOST_PP_REPEAT_3_33(m, d) BOOST_PP_REPEAT_3_32(m, d) m(4, 32, d) +# define BOOST_PP_REPEAT_3_34(m, d) BOOST_PP_REPEAT_3_33(m, d) m(4, 33, d) +# define BOOST_PP_REPEAT_3_35(m, d) BOOST_PP_REPEAT_3_34(m, d) m(4, 34, d) +# define BOOST_PP_REPEAT_3_36(m, d) BOOST_PP_REPEAT_3_35(m, d) m(4, 35, d) +# define BOOST_PP_REPEAT_3_37(m, d) BOOST_PP_REPEAT_3_36(m, d) m(4, 36, d) +# define BOOST_PP_REPEAT_3_38(m, d) BOOST_PP_REPEAT_3_37(m, d) m(4, 37, d) +# define BOOST_PP_REPEAT_3_39(m, d) BOOST_PP_REPEAT_3_38(m, d) m(4, 38, d) +# define BOOST_PP_REPEAT_3_40(m, d) BOOST_PP_REPEAT_3_39(m, d) m(4, 39, d) +# define BOOST_PP_REPEAT_3_41(m, d) BOOST_PP_REPEAT_3_40(m, d) m(4, 40, d) +# define BOOST_PP_REPEAT_3_42(m, d) BOOST_PP_REPEAT_3_41(m, d) m(4, 41, d) +# define BOOST_PP_REPEAT_3_43(m, d) BOOST_PP_REPEAT_3_42(m, d) m(4, 42, d) +# define BOOST_PP_REPEAT_3_44(m, d) BOOST_PP_REPEAT_3_43(m, d) m(4, 43, d) +# define BOOST_PP_REPEAT_3_45(m, d) BOOST_PP_REPEAT_3_44(m, d) m(4, 44, d) +# define BOOST_PP_REPEAT_3_46(m, d) BOOST_PP_REPEAT_3_45(m, d) m(4, 45, d) +# define BOOST_PP_REPEAT_3_47(m, d) BOOST_PP_REPEAT_3_46(m, d) m(4, 46, d) +# define BOOST_PP_REPEAT_3_48(m, d) BOOST_PP_REPEAT_3_47(m, d) m(4, 47, d) +# define BOOST_PP_REPEAT_3_49(m, d) BOOST_PP_REPEAT_3_48(m, d) m(4, 48, d) +# define BOOST_PP_REPEAT_3_50(m, d) BOOST_PP_REPEAT_3_49(m, d) m(4, 49, d) +# define BOOST_PP_REPEAT_3_51(m, d) BOOST_PP_REPEAT_3_50(m, d) m(4, 50, d) +# define BOOST_PP_REPEAT_3_52(m, d) BOOST_PP_REPEAT_3_51(m, d) m(4, 51, d) +# define BOOST_PP_REPEAT_3_53(m, d) BOOST_PP_REPEAT_3_52(m, d) m(4, 52, d) +# define BOOST_PP_REPEAT_3_54(m, d) BOOST_PP_REPEAT_3_53(m, d) m(4, 53, d) +# define BOOST_PP_REPEAT_3_55(m, d) BOOST_PP_REPEAT_3_54(m, d) m(4, 54, d) +# define BOOST_PP_REPEAT_3_56(m, d) BOOST_PP_REPEAT_3_55(m, d) m(4, 55, d) +# define BOOST_PP_REPEAT_3_57(m, d) BOOST_PP_REPEAT_3_56(m, d) m(4, 56, d) +# define BOOST_PP_REPEAT_3_58(m, d) BOOST_PP_REPEAT_3_57(m, d) m(4, 57, d) +# define BOOST_PP_REPEAT_3_59(m, d) BOOST_PP_REPEAT_3_58(m, d) m(4, 58, d) +# define BOOST_PP_REPEAT_3_60(m, d) BOOST_PP_REPEAT_3_59(m, d) m(4, 59, d) +# define BOOST_PP_REPEAT_3_61(m, d) BOOST_PP_REPEAT_3_60(m, d) m(4, 60, d) +# define BOOST_PP_REPEAT_3_62(m, d) BOOST_PP_REPEAT_3_61(m, d) m(4, 61, d) +# define BOOST_PP_REPEAT_3_63(m, d) BOOST_PP_REPEAT_3_62(m, d) m(4, 62, d) +# define BOOST_PP_REPEAT_3_64(m, d) BOOST_PP_REPEAT_3_63(m, d) m(4, 63, d) +# define BOOST_PP_REPEAT_3_65(m, d) BOOST_PP_REPEAT_3_64(m, d) m(4, 64, d) +# define BOOST_PP_REPEAT_3_66(m, d) BOOST_PP_REPEAT_3_65(m, d) m(4, 65, d) +# define BOOST_PP_REPEAT_3_67(m, d) BOOST_PP_REPEAT_3_66(m, d) m(4, 66, d) +# define BOOST_PP_REPEAT_3_68(m, d) BOOST_PP_REPEAT_3_67(m, d) m(4, 67, d) +# define BOOST_PP_REPEAT_3_69(m, d) BOOST_PP_REPEAT_3_68(m, d) m(4, 68, d) +# define BOOST_PP_REPEAT_3_70(m, d) BOOST_PP_REPEAT_3_69(m, d) m(4, 69, d) +# define BOOST_PP_REPEAT_3_71(m, d) BOOST_PP_REPEAT_3_70(m, d) m(4, 70, d) +# define BOOST_PP_REPEAT_3_72(m, d) BOOST_PP_REPEAT_3_71(m, d) m(4, 71, d) +# define BOOST_PP_REPEAT_3_73(m, d) BOOST_PP_REPEAT_3_72(m, d) m(4, 72, d) +# define BOOST_PP_REPEAT_3_74(m, d) BOOST_PP_REPEAT_3_73(m, d) m(4, 73, d) +# define BOOST_PP_REPEAT_3_75(m, d) BOOST_PP_REPEAT_3_74(m, d) m(4, 74, d) +# define BOOST_PP_REPEAT_3_76(m, d) BOOST_PP_REPEAT_3_75(m, d) m(4, 75, d) +# define BOOST_PP_REPEAT_3_77(m, d) BOOST_PP_REPEAT_3_76(m, d) m(4, 76, d) +# define BOOST_PP_REPEAT_3_78(m, d) BOOST_PP_REPEAT_3_77(m, d) m(4, 77, d) +# define BOOST_PP_REPEAT_3_79(m, d) BOOST_PP_REPEAT_3_78(m, d) m(4, 78, d) +# define BOOST_PP_REPEAT_3_80(m, d) BOOST_PP_REPEAT_3_79(m, d) m(4, 79, d) +# define BOOST_PP_REPEAT_3_81(m, d) BOOST_PP_REPEAT_3_80(m, d) m(4, 80, d) +# define BOOST_PP_REPEAT_3_82(m, d) BOOST_PP_REPEAT_3_81(m, d) m(4, 81, d) +# define BOOST_PP_REPEAT_3_83(m, d) BOOST_PP_REPEAT_3_82(m, d) m(4, 82, d) +# define BOOST_PP_REPEAT_3_84(m, d) BOOST_PP_REPEAT_3_83(m, d) m(4, 83, d) +# define BOOST_PP_REPEAT_3_85(m, d) BOOST_PP_REPEAT_3_84(m, d) m(4, 84, d) +# define BOOST_PP_REPEAT_3_86(m, d) BOOST_PP_REPEAT_3_85(m, d) m(4, 85, d) +# define BOOST_PP_REPEAT_3_87(m, d) BOOST_PP_REPEAT_3_86(m, d) m(4, 86, d) +# define BOOST_PP_REPEAT_3_88(m, d) BOOST_PP_REPEAT_3_87(m, d) m(4, 87, d) +# define BOOST_PP_REPEAT_3_89(m, d) BOOST_PP_REPEAT_3_88(m, d) m(4, 88, d) +# define BOOST_PP_REPEAT_3_90(m, d) BOOST_PP_REPEAT_3_89(m, d) m(4, 89, d) +# define BOOST_PP_REPEAT_3_91(m, d) BOOST_PP_REPEAT_3_90(m, d) m(4, 90, d) +# define BOOST_PP_REPEAT_3_92(m, d) BOOST_PP_REPEAT_3_91(m, d) m(4, 91, d) +# define BOOST_PP_REPEAT_3_93(m, d) BOOST_PP_REPEAT_3_92(m, d) m(4, 92, d) +# define BOOST_PP_REPEAT_3_94(m, d) BOOST_PP_REPEAT_3_93(m, d) m(4, 93, d) +# define BOOST_PP_REPEAT_3_95(m, d) BOOST_PP_REPEAT_3_94(m, d) m(4, 94, d) +# define BOOST_PP_REPEAT_3_96(m, d) BOOST_PP_REPEAT_3_95(m, d) m(4, 95, d) +# define BOOST_PP_REPEAT_3_97(m, d) BOOST_PP_REPEAT_3_96(m, d) m(4, 96, d) +# define BOOST_PP_REPEAT_3_98(m, d) BOOST_PP_REPEAT_3_97(m, d) m(4, 97, d) +# define BOOST_PP_REPEAT_3_99(m, d) BOOST_PP_REPEAT_3_98(m, d) m(4, 98, d) +# define BOOST_PP_REPEAT_3_100(m, d) BOOST_PP_REPEAT_3_99(m, d) m(4, 99, d) +# define BOOST_PP_REPEAT_3_101(m, d) BOOST_PP_REPEAT_3_100(m, d) m(4, 100, d) +# define BOOST_PP_REPEAT_3_102(m, d) BOOST_PP_REPEAT_3_101(m, d) m(4, 101, d) +# define BOOST_PP_REPEAT_3_103(m, d) BOOST_PP_REPEAT_3_102(m, d) m(4, 102, d) +# define BOOST_PP_REPEAT_3_104(m, d) BOOST_PP_REPEAT_3_103(m, d) m(4, 103, d) +# define BOOST_PP_REPEAT_3_105(m, d) BOOST_PP_REPEAT_3_104(m, d) m(4, 104, d) +# define BOOST_PP_REPEAT_3_106(m, d) BOOST_PP_REPEAT_3_105(m, d) m(4, 105, d) +# define BOOST_PP_REPEAT_3_107(m, d) BOOST_PP_REPEAT_3_106(m, d) m(4, 106, d) +# define BOOST_PP_REPEAT_3_108(m, d) BOOST_PP_REPEAT_3_107(m, d) m(4, 107, d) +# define BOOST_PP_REPEAT_3_109(m, d) BOOST_PP_REPEAT_3_108(m, d) m(4, 108, d) +# define BOOST_PP_REPEAT_3_110(m, d) BOOST_PP_REPEAT_3_109(m, d) m(4, 109, d) +# define BOOST_PP_REPEAT_3_111(m, d) BOOST_PP_REPEAT_3_110(m, d) m(4, 110, d) +# define BOOST_PP_REPEAT_3_112(m, d) BOOST_PP_REPEAT_3_111(m, d) m(4, 111, d) +# define BOOST_PP_REPEAT_3_113(m, d) BOOST_PP_REPEAT_3_112(m, d) m(4, 112, d) +# define BOOST_PP_REPEAT_3_114(m, d) BOOST_PP_REPEAT_3_113(m, d) m(4, 113, d) +# define BOOST_PP_REPEAT_3_115(m, d) BOOST_PP_REPEAT_3_114(m, d) m(4, 114, d) +# define BOOST_PP_REPEAT_3_116(m, d) BOOST_PP_REPEAT_3_115(m, d) m(4, 115, d) +# define BOOST_PP_REPEAT_3_117(m, d) BOOST_PP_REPEAT_3_116(m, d) m(4, 116, d) +# define BOOST_PP_REPEAT_3_118(m, d) BOOST_PP_REPEAT_3_117(m, d) m(4, 117, d) +# define BOOST_PP_REPEAT_3_119(m, d) BOOST_PP_REPEAT_3_118(m, d) m(4, 118, d) +# define BOOST_PP_REPEAT_3_120(m, d) BOOST_PP_REPEAT_3_119(m, d) m(4, 119, d) +# define BOOST_PP_REPEAT_3_121(m, d) BOOST_PP_REPEAT_3_120(m, d) m(4, 120, d) +# define BOOST_PP_REPEAT_3_122(m, d) BOOST_PP_REPEAT_3_121(m, d) m(4, 121, d) +# define BOOST_PP_REPEAT_3_123(m, d) BOOST_PP_REPEAT_3_122(m, d) m(4, 122, d) +# define BOOST_PP_REPEAT_3_124(m, d) BOOST_PP_REPEAT_3_123(m, d) m(4, 123, d) +# define BOOST_PP_REPEAT_3_125(m, d) BOOST_PP_REPEAT_3_124(m, d) m(4, 124, d) +# define BOOST_PP_REPEAT_3_126(m, d) BOOST_PP_REPEAT_3_125(m, d) m(4, 125, d) +# define BOOST_PP_REPEAT_3_127(m, d) BOOST_PP_REPEAT_3_126(m, d) m(4, 126, d) +# define BOOST_PP_REPEAT_3_128(m, d) BOOST_PP_REPEAT_3_127(m, d) m(4, 127, d) +# define BOOST_PP_REPEAT_3_129(m, d) BOOST_PP_REPEAT_3_128(m, d) m(4, 128, d) +# define BOOST_PP_REPEAT_3_130(m, d) BOOST_PP_REPEAT_3_129(m, d) m(4, 129, d) +# define BOOST_PP_REPEAT_3_131(m, d) BOOST_PP_REPEAT_3_130(m, d) m(4, 130, d) +# define BOOST_PP_REPEAT_3_132(m, d) BOOST_PP_REPEAT_3_131(m, d) m(4, 131, d) +# define BOOST_PP_REPEAT_3_133(m, d) BOOST_PP_REPEAT_3_132(m, d) m(4, 132, d) +# define BOOST_PP_REPEAT_3_134(m, d) BOOST_PP_REPEAT_3_133(m, d) m(4, 133, d) +# define BOOST_PP_REPEAT_3_135(m, d) BOOST_PP_REPEAT_3_134(m, d) m(4, 134, d) +# define BOOST_PP_REPEAT_3_136(m, d) BOOST_PP_REPEAT_3_135(m, d) m(4, 135, d) +# define BOOST_PP_REPEAT_3_137(m, d) BOOST_PP_REPEAT_3_136(m, d) m(4, 136, d) +# define BOOST_PP_REPEAT_3_138(m, d) BOOST_PP_REPEAT_3_137(m, d) m(4, 137, d) +# define BOOST_PP_REPEAT_3_139(m, d) BOOST_PP_REPEAT_3_138(m, d) m(4, 138, d) +# define BOOST_PP_REPEAT_3_140(m, d) BOOST_PP_REPEAT_3_139(m, d) m(4, 139, d) +# define BOOST_PP_REPEAT_3_141(m, d) BOOST_PP_REPEAT_3_140(m, d) m(4, 140, d) +# define BOOST_PP_REPEAT_3_142(m, d) BOOST_PP_REPEAT_3_141(m, d) m(4, 141, d) +# define BOOST_PP_REPEAT_3_143(m, d) BOOST_PP_REPEAT_3_142(m, d) m(4, 142, d) +# define BOOST_PP_REPEAT_3_144(m, d) BOOST_PP_REPEAT_3_143(m, d) m(4, 143, d) +# define BOOST_PP_REPEAT_3_145(m, d) BOOST_PP_REPEAT_3_144(m, d) m(4, 144, d) +# define BOOST_PP_REPEAT_3_146(m, d) BOOST_PP_REPEAT_3_145(m, d) m(4, 145, d) +# define BOOST_PP_REPEAT_3_147(m, d) BOOST_PP_REPEAT_3_146(m, d) m(4, 146, d) +# define BOOST_PP_REPEAT_3_148(m, d) BOOST_PP_REPEAT_3_147(m, d) m(4, 147, d) +# define BOOST_PP_REPEAT_3_149(m, d) BOOST_PP_REPEAT_3_148(m, d) m(4, 148, d) +# define BOOST_PP_REPEAT_3_150(m, d) BOOST_PP_REPEAT_3_149(m, d) m(4, 149, d) +# define BOOST_PP_REPEAT_3_151(m, d) BOOST_PP_REPEAT_3_150(m, d) m(4, 150, d) +# define BOOST_PP_REPEAT_3_152(m, d) BOOST_PP_REPEAT_3_151(m, d) m(4, 151, d) +# define BOOST_PP_REPEAT_3_153(m, d) BOOST_PP_REPEAT_3_152(m, d) m(4, 152, d) +# define BOOST_PP_REPEAT_3_154(m, d) BOOST_PP_REPEAT_3_153(m, d) m(4, 153, d) +# define BOOST_PP_REPEAT_3_155(m, d) BOOST_PP_REPEAT_3_154(m, d) m(4, 154, d) +# define BOOST_PP_REPEAT_3_156(m, d) BOOST_PP_REPEAT_3_155(m, d) m(4, 155, d) +# define BOOST_PP_REPEAT_3_157(m, d) BOOST_PP_REPEAT_3_156(m, d) m(4, 156, d) +# define BOOST_PP_REPEAT_3_158(m, d) BOOST_PP_REPEAT_3_157(m, d) m(4, 157, d) +# define BOOST_PP_REPEAT_3_159(m, d) BOOST_PP_REPEAT_3_158(m, d) m(4, 158, d) +# define BOOST_PP_REPEAT_3_160(m, d) BOOST_PP_REPEAT_3_159(m, d) m(4, 159, d) +# define BOOST_PP_REPEAT_3_161(m, d) BOOST_PP_REPEAT_3_160(m, d) m(4, 160, d) +# define BOOST_PP_REPEAT_3_162(m, d) BOOST_PP_REPEAT_3_161(m, d) m(4, 161, d) +# define BOOST_PP_REPEAT_3_163(m, d) BOOST_PP_REPEAT_3_162(m, d) m(4, 162, d) +# define BOOST_PP_REPEAT_3_164(m, d) BOOST_PP_REPEAT_3_163(m, d) m(4, 163, d) +# define BOOST_PP_REPEAT_3_165(m, d) BOOST_PP_REPEAT_3_164(m, d) m(4, 164, d) +# define BOOST_PP_REPEAT_3_166(m, d) BOOST_PP_REPEAT_3_165(m, d) m(4, 165, d) +# define BOOST_PP_REPEAT_3_167(m, d) BOOST_PP_REPEAT_3_166(m, d) m(4, 166, d) +# define BOOST_PP_REPEAT_3_168(m, d) BOOST_PP_REPEAT_3_167(m, d) m(4, 167, d) +# define BOOST_PP_REPEAT_3_169(m, d) BOOST_PP_REPEAT_3_168(m, d) m(4, 168, d) +# define BOOST_PP_REPEAT_3_170(m, d) BOOST_PP_REPEAT_3_169(m, d) m(4, 169, d) +# define BOOST_PP_REPEAT_3_171(m, d) BOOST_PP_REPEAT_3_170(m, d) m(4, 170, d) +# define BOOST_PP_REPEAT_3_172(m, d) BOOST_PP_REPEAT_3_171(m, d) m(4, 171, d) +# define BOOST_PP_REPEAT_3_173(m, d) BOOST_PP_REPEAT_3_172(m, d) m(4, 172, d) +# define BOOST_PP_REPEAT_3_174(m, d) BOOST_PP_REPEAT_3_173(m, d) m(4, 173, d) +# define BOOST_PP_REPEAT_3_175(m, d) BOOST_PP_REPEAT_3_174(m, d) m(4, 174, d) +# define BOOST_PP_REPEAT_3_176(m, d) BOOST_PP_REPEAT_3_175(m, d) m(4, 175, d) +# define BOOST_PP_REPEAT_3_177(m, d) BOOST_PP_REPEAT_3_176(m, d) m(4, 176, d) +# define BOOST_PP_REPEAT_3_178(m, d) BOOST_PP_REPEAT_3_177(m, d) m(4, 177, d) +# define BOOST_PP_REPEAT_3_179(m, d) BOOST_PP_REPEAT_3_178(m, d) m(4, 178, d) +# define BOOST_PP_REPEAT_3_180(m, d) BOOST_PP_REPEAT_3_179(m, d) m(4, 179, d) +# define BOOST_PP_REPEAT_3_181(m, d) BOOST_PP_REPEAT_3_180(m, d) m(4, 180, d) +# define BOOST_PP_REPEAT_3_182(m, d) BOOST_PP_REPEAT_3_181(m, d) m(4, 181, d) +# define BOOST_PP_REPEAT_3_183(m, d) BOOST_PP_REPEAT_3_182(m, d) m(4, 182, d) +# define BOOST_PP_REPEAT_3_184(m, d) BOOST_PP_REPEAT_3_183(m, d) m(4, 183, d) +# define BOOST_PP_REPEAT_3_185(m, d) BOOST_PP_REPEAT_3_184(m, d) m(4, 184, d) +# define BOOST_PP_REPEAT_3_186(m, d) BOOST_PP_REPEAT_3_185(m, d) m(4, 185, d) +# define BOOST_PP_REPEAT_3_187(m, d) BOOST_PP_REPEAT_3_186(m, d) m(4, 186, d) +# define BOOST_PP_REPEAT_3_188(m, d) BOOST_PP_REPEAT_3_187(m, d) m(4, 187, d) +# define BOOST_PP_REPEAT_3_189(m, d) BOOST_PP_REPEAT_3_188(m, d) m(4, 188, d) +# define BOOST_PP_REPEAT_3_190(m, d) BOOST_PP_REPEAT_3_189(m, d) m(4, 189, d) +# define BOOST_PP_REPEAT_3_191(m, d) BOOST_PP_REPEAT_3_190(m, d) m(4, 190, d) +# define BOOST_PP_REPEAT_3_192(m, d) BOOST_PP_REPEAT_3_191(m, d) m(4, 191, d) +# define BOOST_PP_REPEAT_3_193(m, d) BOOST_PP_REPEAT_3_192(m, d) m(4, 192, d) +# define BOOST_PP_REPEAT_3_194(m, d) BOOST_PP_REPEAT_3_193(m, d) m(4, 193, d) +# define BOOST_PP_REPEAT_3_195(m, d) BOOST_PP_REPEAT_3_194(m, d) m(4, 194, d) +# define BOOST_PP_REPEAT_3_196(m, d) BOOST_PP_REPEAT_3_195(m, d) m(4, 195, d) +# define BOOST_PP_REPEAT_3_197(m, d) BOOST_PP_REPEAT_3_196(m, d) m(4, 196, d) +# define BOOST_PP_REPEAT_3_198(m, d) BOOST_PP_REPEAT_3_197(m, d) m(4, 197, d) +# define BOOST_PP_REPEAT_3_199(m, d) BOOST_PP_REPEAT_3_198(m, d) m(4, 198, d) +# define BOOST_PP_REPEAT_3_200(m, d) BOOST_PP_REPEAT_3_199(m, d) m(4, 199, d) +# define BOOST_PP_REPEAT_3_201(m, d) BOOST_PP_REPEAT_3_200(m, d) m(4, 200, d) +# define BOOST_PP_REPEAT_3_202(m, d) BOOST_PP_REPEAT_3_201(m, d) m(4, 201, d) +# define BOOST_PP_REPEAT_3_203(m, d) BOOST_PP_REPEAT_3_202(m, d) m(4, 202, d) +# define BOOST_PP_REPEAT_3_204(m, d) BOOST_PP_REPEAT_3_203(m, d) m(4, 203, d) +# define BOOST_PP_REPEAT_3_205(m, d) BOOST_PP_REPEAT_3_204(m, d) m(4, 204, d) +# define BOOST_PP_REPEAT_3_206(m, d) BOOST_PP_REPEAT_3_205(m, d) m(4, 205, d) +# define BOOST_PP_REPEAT_3_207(m, d) BOOST_PP_REPEAT_3_206(m, d) m(4, 206, d) +# define BOOST_PP_REPEAT_3_208(m, d) BOOST_PP_REPEAT_3_207(m, d) m(4, 207, d) +# define BOOST_PP_REPEAT_3_209(m, d) BOOST_PP_REPEAT_3_208(m, d) m(4, 208, d) +# define BOOST_PP_REPEAT_3_210(m, d) BOOST_PP_REPEAT_3_209(m, d) m(4, 209, d) +# define BOOST_PP_REPEAT_3_211(m, d) BOOST_PP_REPEAT_3_210(m, d) m(4, 210, d) +# define BOOST_PP_REPEAT_3_212(m, d) BOOST_PP_REPEAT_3_211(m, d) m(4, 211, d) +# define BOOST_PP_REPEAT_3_213(m, d) BOOST_PP_REPEAT_3_212(m, d) m(4, 212, d) +# define BOOST_PP_REPEAT_3_214(m, d) BOOST_PP_REPEAT_3_213(m, d) m(4, 213, d) +# define BOOST_PP_REPEAT_3_215(m, d) BOOST_PP_REPEAT_3_214(m, d) m(4, 214, d) +# define BOOST_PP_REPEAT_3_216(m, d) BOOST_PP_REPEAT_3_215(m, d) m(4, 215, d) +# define BOOST_PP_REPEAT_3_217(m, d) BOOST_PP_REPEAT_3_216(m, d) m(4, 216, d) +# define BOOST_PP_REPEAT_3_218(m, d) BOOST_PP_REPEAT_3_217(m, d) m(4, 217, d) +# define BOOST_PP_REPEAT_3_219(m, d) BOOST_PP_REPEAT_3_218(m, d) m(4, 218, d) +# define BOOST_PP_REPEAT_3_220(m, d) BOOST_PP_REPEAT_3_219(m, d) m(4, 219, d) +# define BOOST_PP_REPEAT_3_221(m, d) BOOST_PP_REPEAT_3_220(m, d) m(4, 220, d) +# define BOOST_PP_REPEAT_3_222(m, d) BOOST_PP_REPEAT_3_221(m, d) m(4, 221, d) +# define BOOST_PP_REPEAT_3_223(m, d) BOOST_PP_REPEAT_3_222(m, d) m(4, 222, d) +# define BOOST_PP_REPEAT_3_224(m, d) BOOST_PP_REPEAT_3_223(m, d) m(4, 223, d) +# define BOOST_PP_REPEAT_3_225(m, d) BOOST_PP_REPEAT_3_224(m, d) m(4, 224, d) +# define BOOST_PP_REPEAT_3_226(m, d) BOOST_PP_REPEAT_3_225(m, d) m(4, 225, d) +# define BOOST_PP_REPEAT_3_227(m, d) BOOST_PP_REPEAT_3_226(m, d) m(4, 226, d) +# define BOOST_PP_REPEAT_3_228(m, d) BOOST_PP_REPEAT_3_227(m, d) m(4, 227, d) +# define BOOST_PP_REPEAT_3_229(m, d) BOOST_PP_REPEAT_3_228(m, d) m(4, 228, d) +# define BOOST_PP_REPEAT_3_230(m, d) BOOST_PP_REPEAT_3_229(m, d) m(4, 229, d) +# define BOOST_PP_REPEAT_3_231(m, d) BOOST_PP_REPEAT_3_230(m, d) m(4, 230, d) +# define BOOST_PP_REPEAT_3_232(m, d) BOOST_PP_REPEAT_3_231(m, d) m(4, 231, d) +# define BOOST_PP_REPEAT_3_233(m, d) BOOST_PP_REPEAT_3_232(m, d) m(4, 232, d) +# define BOOST_PP_REPEAT_3_234(m, d) BOOST_PP_REPEAT_3_233(m, d) m(4, 233, d) +# define BOOST_PP_REPEAT_3_235(m, d) BOOST_PP_REPEAT_3_234(m, d) m(4, 234, d) +# define BOOST_PP_REPEAT_3_236(m, d) BOOST_PP_REPEAT_3_235(m, d) m(4, 235, d) +# define BOOST_PP_REPEAT_3_237(m, d) BOOST_PP_REPEAT_3_236(m, d) m(4, 236, d) +# define BOOST_PP_REPEAT_3_238(m, d) BOOST_PP_REPEAT_3_237(m, d) m(4, 237, d) +# define BOOST_PP_REPEAT_3_239(m, d) BOOST_PP_REPEAT_3_238(m, d) m(4, 238, d) +# define BOOST_PP_REPEAT_3_240(m, d) BOOST_PP_REPEAT_3_239(m, d) m(4, 239, d) +# define BOOST_PP_REPEAT_3_241(m, d) BOOST_PP_REPEAT_3_240(m, d) m(4, 240, d) +# define BOOST_PP_REPEAT_3_242(m, d) BOOST_PP_REPEAT_3_241(m, d) m(4, 241, d) +# define BOOST_PP_REPEAT_3_243(m, d) BOOST_PP_REPEAT_3_242(m, d) m(4, 242, d) +# define BOOST_PP_REPEAT_3_244(m, d) BOOST_PP_REPEAT_3_243(m, d) m(4, 243, d) +# define BOOST_PP_REPEAT_3_245(m, d) BOOST_PP_REPEAT_3_244(m, d) m(4, 244, d) +# define BOOST_PP_REPEAT_3_246(m, d) BOOST_PP_REPEAT_3_245(m, d) m(4, 245, d) +# define BOOST_PP_REPEAT_3_247(m, d) BOOST_PP_REPEAT_3_246(m, d) m(4, 246, d) +# define BOOST_PP_REPEAT_3_248(m, d) BOOST_PP_REPEAT_3_247(m, d) m(4, 247, d) +# define BOOST_PP_REPEAT_3_249(m, d) BOOST_PP_REPEAT_3_248(m, d) m(4, 248, d) +# define BOOST_PP_REPEAT_3_250(m, d) BOOST_PP_REPEAT_3_249(m, d) m(4, 249, d) +# define BOOST_PP_REPEAT_3_251(m, d) BOOST_PP_REPEAT_3_250(m, d) m(4, 250, d) +# define BOOST_PP_REPEAT_3_252(m, d) BOOST_PP_REPEAT_3_251(m, d) m(4, 251, d) +# define BOOST_PP_REPEAT_3_253(m, d) BOOST_PP_REPEAT_3_252(m, d) m(4, 252, d) +# define BOOST_PP_REPEAT_3_254(m, d) BOOST_PP_REPEAT_3_253(m, d) m(4, 253, d) +# define BOOST_PP_REPEAT_3_255(m, d) BOOST_PP_REPEAT_3_254(m, d) m(4, 254, d) +# define BOOST_PP_REPEAT_3_256(m, d) BOOST_PP_REPEAT_3_255(m, d) m(4, 255, d) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat_from_to.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat_from_to.hpp new file mode 100644 index 0000000..161bc81 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/repetition/repeat_from_to.hpp @@ -0,0 +1,87 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP +# define BOOST_PREPROCESSOR_REPETITION_REPEAT_FROM_TO_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_REPEAT_FROM_TO */ +# +# if 0 +# define BOOST_PP_REPEAT_FROM_TO(first, last, macro, data) +# endif +# +# define BOOST_PP_REPEAT_FROM_TO BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# define BOOST_PP_REPEAT_FROM_TO_1(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt) +# define BOOST_PP_REPEAT_FROM_TO_2(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt) +# define BOOST_PP_REPEAT_FROM_TO_3(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt) +# define BOOST_PP_REPEAT_FROM_TO_4(f, l, m, dt) BOOST_PP_ERROR(0x0003) +# +# define BOOST_PP_REPEAT_FROM_TO_1ST BOOST_PP_REPEAT_FROM_TO_1 +# define BOOST_PP_REPEAT_FROM_TO_2ND BOOST_PP_REPEAT_FROM_TO_2 +# define BOOST_PP_REPEAT_FROM_TO_3RD BOOST_PP_REPEAT_FROM_TO_3 +# +# /* BOOST_PP_REPEAT_FROM_TO_D */ +# +# if 0 +# define BOOST_PP_REPEAT_FROM_TO_D(d, first, last, macro, data) +# endif +# +# define BOOST_PP_REPEAT_FROM_TO_D BOOST_PP_CAT(BOOST_PP_REPEAT_FROM_TO_D_, BOOST_PP_AUTO_REC(BOOST_PP_REPEAT_P, 4)) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt)) +# define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt)) +# define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt)) +# else +# define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt) +# define BOOST_PP_REPEAT_FROM_TO_D_2(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt) +# define BOOST_PP_REPEAT_FROM_TO_D_3(d, f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt) +# define BOOST_PP_REPEAT_FROM_TO_D_1_I(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt)) +# define BOOST_PP_REPEAT_FROM_TO_D_2_I(d, f, l, m, dt) BOOST_PP_REPEAT_2(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_2, (d, f, m, dt)) +# define BOOST_PP_REPEAT_FROM_TO_D_3_I(d, f, l, m, dt) BOOST_PP_REPEAT_3(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_3, (d, f, m, dt)) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd) +# define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd) +# define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, BOOST_PP_TUPLE_REM_4 dfmd) +# define BOOST_PP_REPEAT_FROM_TO_M_1_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, im) +# define BOOST_PP_REPEAT_FROM_TO_M_2_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, im) +# define BOOST_PP_REPEAT_FROM_TO_M_3_IM(z, n, im) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, im) +# else +# define BOOST_PP_REPEAT_FROM_TO_M_1(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd)) +# define BOOST_PP_REPEAT_FROM_TO_M_2(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd)) +# define BOOST_PP_REPEAT_FROM_TO_M_3(z, n, dfmd) BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, BOOST_PP_TUPLE_ELEM(4, 0, dfmd), BOOST_PP_TUPLE_ELEM(4, 1, dfmd), BOOST_PP_TUPLE_ELEM(4, 2, dfmd), BOOST_PP_TUPLE_ELEM(4, 3, dfmd)) +# endif +# +# define BOOST_PP_REPEAT_FROM_TO_M_1_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_1_II(z, BOOST_PP_ADD_D(d, n, f), m, dt) +# define BOOST_PP_REPEAT_FROM_TO_M_2_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_2_II(z, BOOST_PP_ADD_D(d, n, f), m, dt) +# define BOOST_PP_REPEAT_FROM_TO_M_3_I(z, n, d, f, m, dt) BOOST_PP_REPEAT_FROM_TO_M_3_II(z, BOOST_PP_ADD_D(d, n, f), m, dt) +# +# define BOOST_PP_REPEAT_FROM_TO_M_1_II(z, n, m, dt) m(z, n, dt) +# define BOOST_PP_REPEAT_FROM_TO_M_2_II(z, n, m, dt) m(z, n, dt) +# define BOOST_PP_REPEAT_FROM_TO_M_3_II(z, n, m, dt) m(z, n, dt) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection.hpp new file mode 100644 index 0000000..0813dfc --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection.hpp @@ -0,0 +1,18 @@ +# /* ************************************************************************** +# * * +# * (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_SELECTION_HPP +# define BOOST_PREPROCESSOR_SELECTION_HPP +# +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/max.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/max.hpp new file mode 100644 index 0000000..08e362c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/max.hpp @@ -0,0 +1,39 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SELECTION_MAX_HPP +# define BOOST_PREPROCESSOR_SELECTION_MAX_HPP +# +# include +# include +# include +# +# /* BOOST_PP_MAX */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MAX(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(x, y), y, x) +# else +# define BOOST_PP_MAX(x, y) BOOST_PP_MAX_I(x, y) +# define BOOST_PP_MAX_I(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(x, y), y, x) +# endif +# +# /* BOOST_PP_MAX_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MAX_D(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, x, y), y, x) +# else +# define BOOST_PP_MAX_D(d, x, y) BOOST_PP_MAX_D_I(d, x, y) +# define BOOST_PP_MAX_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, x, y), y, x) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/min.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/min.hpp new file mode 100644 index 0000000..6cd548d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/selection/min.hpp @@ -0,0 +1,39 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SELECTION_MIN_HPP +# define BOOST_PREPROCESSOR_SELECTION_MIN_HPP +# +# include +# include +# include +# +# /* BOOST_PP_MIN */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MIN(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(y, x), y, x) +# else +# define BOOST_PP_MIN(x, y) BOOST_PP_MIN_I(x, y) +# define BOOST_PP_MIN_I(x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL(y, x), y, x) +# endif +# +# /* BOOST_PP_MIN_D */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_MIN_D(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, y, x), y, x) +# else +# define BOOST_PP_MIN_D(d, x, y) BOOST_PP_MIN_D_I(d, x, y) +# define BOOST_PP_MIN_D_I(d, x, y) BOOST_PP_IIF(BOOST_PP_LESS_EQUAL_D(d, y, x), y, x) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq.hpp new file mode 100644 index 0000000..12dae9d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq.hpp @@ -0,0 +1,41 @@ +# /* ************************************************************************** +# * * +# * (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_HPP +# define BOOST_PREPROCESSOR_SEQ_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/cat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/cat.hpp new file mode 100644 index 0000000..f8280d2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/cat.hpp @@ -0,0 +1,48 @@ +# /* ************************************************************************** +# * * +# * (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) BOOST_PP_TUPLE_EAT_1 \ + )(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, \ + BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_2 \ + )(s, seq) \ + /**/ +# define BOOST_PP_SEQ_CAT_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/detail/split.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/detail/split.hpp new file mode 100644 index 0000000..ada485e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/detail/split.hpp @@ -0,0 +1,284 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP +# define BOOST_PREPROCESSOR_SEQ_DETAIL_SPLIT_HPP +# +# include +# +# /* BOOST_PP_SEQ_SPLIT */ +# +# define BOOST_PP_SEQ_SPLIT(n, seq) BOOST_PP_SEQ_SPLIT_D(n, seq) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n seq) +# else +# define BOOST_PP_SEQ_SPLIT_D(n, seq) (BOOST_PP_SEQ_SPLIT_ ## n ## seq) +# endif +# +# define BOOST_PP_SEQ_SPLIT_1(x) (x), +# define BOOST_PP_SEQ_SPLIT_2(x) (x) BOOST_PP_SEQ_SPLIT_1 +# define BOOST_PP_SEQ_SPLIT_3(x) (x) BOOST_PP_SEQ_SPLIT_2 +# define BOOST_PP_SEQ_SPLIT_4(x) (x) BOOST_PP_SEQ_SPLIT_3 +# define BOOST_PP_SEQ_SPLIT_5(x) (x) BOOST_PP_SEQ_SPLIT_4 +# define BOOST_PP_SEQ_SPLIT_6(x) (x) BOOST_PP_SEQ_SPLIT_5 +# define BOOST_PP_SEQ_SPLIT_7(x) (x) BOOST_PP_SEQ_SPLIT_6 +# define BOOST_PP_SEQ_SPLIT_8(x) (x) BOOST_PP_SEQ_SPLIT_7 +# define BOOST_PP_SEQ_SPLIT_9(x) (x) BOOST_PP_SEQ_SPLIT_8 +# define BOOST_PP_SEQ_SPLIT_10(x) (x) BOOST_PP_SEQ_SPLIT_9 +# define BOOST_PP_SEQ_SPLIT_11(x) (x) BOOST_PP_SEQ_SPLIT_10 +# define BOOST_PP_SEQ_SPLIT_12(x) (x) BOOST_PP_SEQ_SPLIT_11 +# define BOOST_PP_SEQ_SPLIT_13(x) (x) BOOST_PP_SEQ_SPLIT_12 +# define BOOST_PP_SEQ_SPLIT_14(x) (x) BOOST_PP_SEQ_SPLIT_13 +# define BOOST_PP_SEQ_SPLIT_15(x) (x) BOOST_PP_SEQ_SPLIT_14 +# define BOOST_PP_SEQ_SPLIT_16(x) (x) BOOST_PP_SEQ_SPLIT_15 +# define BOOST_PP_SEQ_SPLIT_17(x) (x) BOOST_PP_SEQ_SPLIT_16 +# define BOOST_PP_SEQ_SPLIT_18(x) (x) BOOST_PP_SEQ_SPLIT_17 +# define BOOST_PP_SEQ_SPLIT_19(x) (x) BOOST_PP_SEQ_SPLIT_18 +# define BOOST_PP_SEQ_SPLIT_20(x) (x) BOOST_PP_SEQ_SPLIT_19 +# define BOOST_PP_SEQ_SPLIT_21(x) (x) BOOST_PP_SEQ_SPLIT_20 +# define BOOST_PP_SEQ_SPLIT_22(x) (x) BOOST_PP_SEQ_SPLIT_21 +# define BOOST_PP_SEQ_SPLIT_23(x) (x) BOOST_PP_SEQ_SPLIT_22 +# define BOOST_PP_SEQ_SPLIT_24(x) (x) BOOST_PP_SEQ_SPLIT_23 +# define BOOST_PP_SEQ_SPLIT_25(x) (x) BOOST_PP_SEQ_SPLIT_24 +# define BOOST_PP_SEQ_SPLIT_26(x) (x) BOOST_PP_SEQ_SPLIT_25 +# define BOOST_PP_SEQ_SPLIT_27(x) (x) BOOST_PP_SEQ_SPLIT_26 +# define BOOST_PP_SEQ_SPLIT_28(x) (x) BOOST_PP_SEQ_SPLIT_27 +# define BOOST_PP_SEQ_SPLIT_29(x) (x) BOOST_PP_SEQ_SPLIT_28 +# define BOOST_PP_SEQ_SPLIT_30(x) (x) BOOST_PP_SEQ_SPLIT_29 +# define BOOST_PP_SEQ_SPLIT_31(x) (x) BOOST_PP_SEQ_SPLIT_30 +# define BOOST_PP_SEQ_SPLIT_32(x) (x) BOOST_PP_SEQ_SPLIT_31 +# define BOOST_PP_SEQ_SPLIT_33(x) (x) BOOST_PP_SEQ_SPLIT_32 +# define BOOST_PP_SEQ_SPLIT_34(x) (x) BOOST_PP_SEQ_SPLIT_33 +# define BOOST_PP_SEQ_SPLIT_35(x) (x) BOOST_PP_SEQ_SPLIT_34 +# define BOOST_PP_SEQ_SPLIT_36(x) (x) BOOST_PP_SEQ_SPLIT_35 +# define BOOST_PP_SEQ_SPLIT_37(x) (x) BOOST_PP_SEQ_SPLIT_36 +# define BOOST_PP_SEQ_SPLIT_38(x) (x) BOOST_PP_SEQ_SPLIT_37 +# define BOOST_PP_SEQ_SPLIT_39(x) (x) BOOST_PP_SEQ_SPLIT_38 +# define BOOST_PP_SEQ_SPLIT_40(x) (x) BOOST_PP_SEQ_SPLIT_39 +# define BOOST_PP_SEQ_SPLIT_41(x) (x) BOOST_PP_SEQ_SPLIT_40 +# define BOOST_PP_SEQ_SPLIT_42(x) (x) BOOST_PP_SEQ_SPLIT_41 +# define BOOST_PP_SEQ_SPLIT_43(x) (x) BOOST_PP_SEQ_SPLIT_42 +# define BOOST_PP_SEQ_SPLIT_44(x) (x) BOOST_PP_SEQ_SPLIT_43 +# define BOOST_PP_SEQ_SPLIT_45(x) (x) BOOST_PP_SEQ_SPLIT_44 +# define BOOST_PP_SEQ_SPLIT_46(x) (x) BOOST_PP_SEQ_SPLIT_45 +# define BOOST_PP_SEQ_SPLIT_47(x) (x) BOOST_PP_SEQ_SPLIT_46 +# define BOOST_PP_SEQ_SPLIT_48(x) (x) BOOST_PP_SEQ_SPLIT_47 +# define BOOST_PP_SEQ_SPLIT_49(x) (x) BOOST_PP_SEQ_SPLIT_48 +# define BOOST_PP_SEQ_SPLIT_50(x) (x) BOOST_PP_SEQ_SPLIT_49 +# define BOOST_PP_SEQ_SPLIT_51(x) (x) BOOST_PP_SEQ_SPLIT_50 +# define BOOST_PP_SEQ_SPLIT_52(x) (x) BOOST_PP_SEQ_SPLIT_51 +# define BOOST_PP_SEQ_SPLIT_53(x) (x) BOOST_PP_SEQ_SPLIT_52 +# define BOOST_PP_SEQ_SPLIT_54(x) (x) BOOST_PP_SEQ_SPLIT_53 +# define BOOST_PP_SEQ_SPLIT_55(x) (x) BOOST_PP_SEQ_SPLIT_54 +# define BOOST_PP_SEQ_SPLIT_56(x) (x) BOOST_PP_SEQ_SPLIT_55 +# define BOOST_PP_SEQ_SPLIT_57(x) (x) BOOST_PP_SEQ_SPLIT_56 +# define BOOST_PP_SEQ_SPLIT_58(x) (x) BOOST_PP_SEQ_SPLIT_57 +# define BOOST_PP_SEQ_SPLIT_59(x) (x) BOOST_PP_SEQ_SPLIT_58 +# define BOOST_PP_SEQ_SPLIT_60(x) (x) BOOST_PP_SEQ_SPLIT_59 +# define BOOST_PP_SEQ_SPLIT_61(x) (x) BOOST_PP_SEQ_SPLIT_60 +# define BOOST_PP_SEQ_SPLIT_62(x) (x) BOOST_PP_SEQ_SPLIT_61 +# define BOOST_PP_SEQ_SPLIT_63(x) (x) BOOST_PP_SEQ_SPLIT_62 +# define BOOST_PP_SEQ_SPLIT_64(x) (x) BOOST_PP_SEQ_SPLIT_63 +# define BOOST_PP_SEQ_SPLIT_65(x) (x) BOOST_PP_SEQ_SPLIT_64 +# define BOOST_PP_SEQ_SPLIT_66(x) (x) BOOST_PP_SEQ_SPLIT_65 +# define BOOST_PP_SEQ_SPLIT_67(x) (x) BOOST_PP_SEQ_SPLIT_66 +# define BOOST_PP_SEQ_SPLIT_68(x) (x) BOOST_PP_SEQ_SPLIT_67 +# define BOOST_PP_SEQ_SPLIT_69(x) (x) BOOST_PP_SEQ_SPLIT_68 +# define BOOST_PP_SEQ_SPLIT_70(x) (x) BOOST_PP_SEQ_SPLIT_69 +# define BOOST_PP_SEQ_SPLIT_71(x) (x) BOOST_PP_SEQ_SPLIT_70 +# define BOOST_PP_SEQ_SPLIT_72(x) (x) BOOST_PP_SEQ_SPLIT_71 +# define BOOST_PP_SEQ_SPLIT_73(x) (x) BOOST_PP_SEQ_SPLIT_72 +# define BOOST_PP_SEQ_SPLIT_74(x) (x) BOOST_PP_SEQ_SPLIT_73 +# define BOOST_PP_SEQ_SPLIT_75(x) (x) BOOST_PP_SEQ_SPLIT_74 +# define BOOST_PP_SEQ_SPLIT_76(x) (x) BOOST_PP_SEQ_SPLIT_75 +# define BOOST_PP_SEQ_SPLIT_77(x) (x) BOOST_PP_SEQ_SPLIT_76 +# define BOOST_PP_SEQ_SPLIT_78(x) (x) BOOST_PP_SEQ_SPLIT_77 +# define BOOST_PP_SEQ_SPLIT_79(x) (x) BOOST_PP_SEQ_SPLIT_78 +# define BOOST_PP_SEQ_SPLIT_80(x) (x) BOOST_PP_SEQ_SPLIT_79 +# define BOOST_PP_SEQ_SPLIT_81(x) (x) BOOST_PP_SEQ_SPLIT_80 +# define BOOST_PP_SEQ_SPLIT_82(x) (x) BOOST_PP_SEQ_SPLIT_81 +# define BOOST_PP_SEQ_SPLIT_83(x) (x) BOOST_PP_SEQ_SPLIT_82 +# define BOOST_PP_SEQ_SPLIT_84(x) (x) BOOST_PP_SEQ_SPLIT_83 +# define BOOST_PP_SEQ_SPLIT_85(x) (x) BOOST_PP_SEQ_SPLIT_84 +# define BOOST_PP_SEQ_SPLIT_86(x) (x) BOOST_PP_SEQ_SPLIT_85 +# define BOOST_PP_SEQ_SPLIT_87(x) (x) BOOST_PP_SEQ_SPLIT_86 +# define BOOST_PP_SEQ_SPLIT_88(x) (x) BOOST_PP_SEQ_SPLIT_87 +# define BOOST_PP_SEQ_SPLIT_89(x) (x) BOOST_PP_SEQ_SPLIT_88 +# define BOOST_PP_SEQ_SPLIT_90(x) (x) BOOST_PP_SEQ_SPLIT_89 +# define BOOST_PP_SEQ_SPLIT_91(x) (x) BOOST_PP_SEQ_SPLIT_90 +# define BOOST_PP_SEQ_SPLIT_92(x) (x) BOOST_PP_SEQ_SPLIT_91 +# define BOOST_PP_SEQ_SPLIT_93(x) (x) BOOST_PP_SEQ_SPLIT_92 +# define BOOST_PP_SEQ_SPLIT_94(x) (x) BOOST_PP_SEQ_SPLIT_93 +# define BOOST_PP_SEQ_SPLIT_95(x) (x) BOOST_PP_SEQ_SPLIT_94 +# define BOOST_PP_SEQ_SPLIT_96(x) (x) BOOST_PP_SEQ_SPLIT_95 +# define BOOST_PP_SEQ_SPLIT_97(x) (x) BOOST_PP_SEQ_SPLIT_96 +# define BOOST_PP_SEQ_SPLIT_98(x) (x) BOOST_PP_SEQ_SPLIT_97 +# define BOOST_PP_SEQ_SPLIT_99(x) (x) BOOST_PP_SEQ_SPLIT_98 +# define BOOST_PP_SEQ_SPLIT_100(x) (x) BOOST_PP_SEQ_SPLIT_99 +# define BOOST_PP_SEQ_SPLIT_101(x) (x) BOOST_PP_SEQ_SPLIT_100 +# define BOOST_PP_SEQ_SPLIT_102(x) (x) BOOST_PP_SEQ_SPLIT_101 +# define BOOST_PP_SEQ_SPLIT_103(x) (x) BOOST_PP_SEQ_SPLIT_102 +# define BOOST_PP_SEQ_SPLIT_104(x) (x) BOOST_PP_SEQ_SPLIT_103 +# define BOOST_PP_SEQ_SPLIT_105(x) (x) BOOST_PP_SEQ_SPLIT_104 +# define BOOST_PP_SEQ_SPLIT_106(x) (x) BOOST_PP_SEQ_SPLIT_105 +# define BOOST_PP_SEQ_SPLIT_107(x) (x) BOOST_PP_SEQ_SPLIT_106 +# define BOOST_PP_SEQ_SPLIT_108(x) (x) BOOST_PP_SEQ_SPLIT_107 +# define BOOST_PP_SEQ_SPLIT_109(x) (x) BOOST_PP_SEQ_SPLIT_108 +# define BOOST_PP_SEQ_SPLIT_110(x) (x) BOOST_PP_SEQ_SPLIT_109 +# define BOOST_PP_SEQ_SPLIT_111(x) (x) BOOST_PP_SEQ_SPLIT_110 +# define BOOST_PP_SEQ_SPLIT_112(x) (x) BOOST_PP_SEQ_SPLIT_111 +# define BOOST_PP_SEQ_SPLIT_113(x) (x) BOOST_PP_SEQ_SPLIT_112 +# define BOOST_PP_SEQ_SPLIT_114(x) (x) BOOST_PP_SEQ_SPLIT_113 +# define BOOST_PP_SEQ_SPLIT_115(x) (x) BOOST_PP_SEQ_SPLIT_114 +# define BOOST_PP_SEQ_SPLIT_116(x) (x) BOOST_PP_SEQ_SPLIT_115 +# define BOOST_PP_SEQ_SPLIT_117(x) (x) BOOST_PP_SEQ_SPLIT_116 +# define BOOST_PP_SEQ_SPLIT_118(x) (x) BOOST_PP_SEQ_SPLIT_117 +# define BOOST_PP_SEQ_SPLIT_119(x) (x) BOOST_PP_SEQ_SPLIT_118 +# define BOOST_PP_SEQ_SPLIT_120(x) (x) BOOST_PP_SEQ_SPLIT_119 +# define BOOST_PP_SEQ_SPLIT_121(x) (x) BOOST_PP_SEQ_SPLIT_120 +# define BOOST_PP_SEQ_SPLIT_122(x) (x) BOOST_PP_SEQ_SPLIT_121 +# define BOOST_PP_SEQ_SPLIT_123(x) (x) BOOST_PP_SEQ_SPLIT_122 +# define BOOST_PP_SEQ_SPLIT_124(x) (x) BOOST_PP_SEQ_SPLIT_123 +# define BOOST_PP_SEQ_SPLIT_125(x) (x) BOOST_PP_SEQ_SPLIT_124 +# define BOOST_PP_SEQ_SPLIT_126(x) (x) BOOST_PP_SEQ_SPLIT_125 +# define BOOST_PP_SEQ_SPLIT_127(x) (x) BOOST_PP_SEQ_SPLIT_126 +# define BOOST_PP_SEQ_SPLIT_128(x) (x) BOOST_PP_SEQ_SPLIT_127 +# define BOOST_PP_SEQ_SPLIT_129(x) (x) BOOST_PP_SEQ_SPLIT_128 +# define BOOST_PP_SEQ_SPLIT_130(x) (x) BOOST_PP_SEQ_SPLIT_129 +# define BOOST_PP_SEQ_SPLIT_131(x) (x) BOOST_PP_SEQ_SPLIT_130 +# define BOOST_PP_SEQ_SPLIT_132(x) (x) BOOST_PP_SEQ_SPLIT_131 +# define BOOST_PP_SEQ_SPLIT_133(x) (x) BOOST_PP_SEQ_SPLIT_132 +# define BOOST_PP_SEQ_SPLIT_134(x) (x) BOOST_PP_SEQ_SPLIT_133 +# define BOOST_PP_SEQ_SPLIT_135(x) (x) BOOST_PP_SEQ_SPLIT_134 +# define BOOST_PP_SEQ_SPLIT_136(x) (x) BOOST_PP_SEQ_SPLIT_135 +# define BOOST_PP_SEQ_SPLIT_137(x) (x) BOOST_PP_SEQ_SPLIT_136 +# define BOOST_PP_SEQ_SPLIT_138(x) (x) BOOST_PP_SEQ_SPLIT_137 +# define BOOST_PP_SEQ_SPLIT_139(x) (x) BOOST_PP_SEQ_SPLIT_138 +# define BOOST_PP_SEQ_SPLIT_140(x) (x) BOOST_PP_SEQ_SPLIT_139 +# define BOOST_PP_SEQ_SPLIT_141(x) (x) BOOST_PP_SEQ_SPLIT_140 +# define BOOST_PP_SEQ_SPLIT_142(x) (x) BOOST_PP_SEQ_SPLIT_141 +# define BOOST_PP_SEQ_SPLIT_143(x) (x) BOOST_PP_SEQ_SPLIT_142 +# define BOOST_PP_SEQ_SPLIT_144(x) (x) BOOST_PP_SEQ_SPLIT_143 +# define BOOST_PP_SEQ_SPLIT_145(x) (x) BOOST_PP_SEQ_SPLIT_144 +# define BOOST_PP_SEQ_SPLIT_146(x) (x) BOOST_PP_SEQ_SPLIT_145 +# define BOOST_PP_SEQ_SPLIT_147(x) (x) BOOST_PP_SEQ_SPLIT_146 +# define BOOST_PP_SEQ_SPLIT_148(x) (x) BOOST_PP_SEQ_SPLIT_147 +# define BOOST_PP_SEQ_SPLIT_149(x) (x) BOOST_PP_SEQ_SPLIT_148 +# define BOOST_PP_SEQ_SPLIT_150(x) (x) BOOST_PP_SEQ_SPLIT_149 +# define BOOST_PP_SEQ_SPLIT_151(x) (x) BOOST_PP_SEQ_SPLIT_150 +# define BOOST_PP_SEQ_SPLIT_152(x) (x) BOOST_PP_SEQ_SPLIT_151 +# define BOOST_PP_SEQ_SPLIT_153(x) (x) BOOST_PP_SEQ_SPLIT_152 +# define BOOST_PP_SEQ_SPLIT_154(x) (x) BOOST_PP_SEQ_SPLIT_153 +# define BOOST_PP_SEQ_SPLIT_155(x) (x) BOOST_PP_SEQ_SPLIT_154 +# define BOOST_PP_SEQ_SPLIT_156(x) (x) BOOST_PP_SEQ_SPLIT_155 +# define BOOST_PP_SEQ_SPLIT_157(x) (x) BOOST_PP_SEQ_SPLIT_156 +# define BOOST_PP_SEQ_SPLIT_158(x) (x) BOOST_PP_SEQ_SPLIT_157 +# define BOOST_PP_SEQ_SPLIT_159(x) (x) BOOST_PP_SEQ_SPLIT_158 +# define BOOST_PP_SEQ_SPLIT_160(x) (x) BOOST_PP_SEQ_SPLIT_159 +# define BOOST_PP_SEQ_SPLIT_161(x) (x) BOOST_PP_SEQ_SPLIT_160 +# define BOOST_PP_SEQ_SPLIT_162(x) (x) BOOST_PP_SEQ_SPLIT_161 +# define BOOST_PP_SEQ_SPLIT_163(x) (x) BOOST_PP_SEQ_SPLIT_162 +# define BOOST_PP_SEQ_SPLIT_164(x) (x) BOOST_PP_SEQ_SPLIT_163 +# define BOOST_PP_SEQ_SPLIT_165(x) (x) BOOST_PP_SEQ_SPLIT_164 +# define BOOST_PP_SEQ_SPLIT_166(x) (x) BOOST_PP_SEQ_SPLIT_165 +# define BOOST_PP_SEQ_SPLIT_167(x) (x) BOOST_PP_SEQ_SPLIT_166 +# define BOOST_PP_SEQ_SPLIT_168(x) (x) BOOST_PP_SEQ_SPLIT_167 +# define BOOST_PP_SEQ_SPLIT_169(x) (x) BOOST_PP_SEQ_SPLIT_168 +# define BOOST_PP_SEQ_SPLIT_170(x) (x) BOOST_PP_SEQ_SPLIT_169 +# define BOOST_PP_SEQ_SPLIT_171(x) (x) BOOST_PP_SEQ_SPLIT_170 +# define BOOST_PP_SEQ_SPLIT_172(x) (x) BOOST_PP_SEQ_SPLIT_171 +# define BOOST_PP_SEQ_SPLIT_173(x) (x) BOOST_PP_SEQ_SPLIT_172 +# define BOOST_PP_SEQ_SPLIT_174(x) (x) BOOST_PP_SEQ_SPLIT_173 +# define BOOST_PP_SEQ_SPLIT_175(x) (x) BOOST_PP_SEQ_SPLIT_174 +# define BOOST_PP_SEQ_SPLIT_176(x) (x) BOOST_PP_SEQ_SPLIT_175 +# define BOOST_PP_SEQ_SPLIT_177(x) (x) BOOST_PP_SEQ_SPLIT_176 +# define BOOST_PP_SEQ_SPLIT_178(x) (x) BOOST_PP_SEQ_SPLIT_177 +# define BOOST_PP_SEQ_SPLIT_179(x) (x) BOOST_PP_SEQ_SPLIT_178 +# define BOOST_PP_SEQ_SPLIT_180(x) (x) BOOST_PP_SEQ_SPLIT_179 +# define BOOST_PP_SEQ_SPLIT_181(x) (x) BOOST_PP_SEQ_SPLIT_180 +# define BOOST_PP_SEQ_SPLIT_182(x) (x) BOOST_PP_SEQ_SPLIT_181 +# define BOOST_PP_SEQ_SPLIT_183(x) (x) BOOST_PP_SEQ_SPLIT_182 +# define BOOST_PP_SEQ_SPLIT_184(x) (x) BOOST_PP_SEQ_SPLIT_183 +# define BOOST_PP_SEQ_SPLIT_185(x) (x) BOOST_PP_SEQ_SPLIT_184 +# define BOOST_PP_SEQ_SPLIT_186(x) (x) BOOST_PP_SEQ_SPLIT_185 +# define BOOST_PP_SEQ_SPLIT_187(x) (x) BOOST_PP_SEQ_SPLIT_186 +# define BOOST_PP_SEQ_SPLIT_188(x) (x) BOOST_PP_SEQ_SPLIT_187 +# define BOOST_PP_SEQ_SPLIT_189(x) (x) BOOST_PP_SEQ_SPLIT_188 +# define BOOST_PP_SEQ_SPLIT_190(x) (x) BOOST_PP_SEQ_SPLIT_189 +# define BOOST_PP_SEQ_SPLIT_191(x) (x) BOOST_PP_SEQ_SPLIT_190 +# define BOOST_PP_SEQ_SPLIT_192(x) (x) BOOST_PP_SEQ_SPLIT_191 +# define BOOST_PP_SEQ_SPLIT_193(x) (x) BOOST_PP_SEQ_SPLIT_192 +# define BOOST_PP_SEQ_SPLIT_194(x) (x) BOOST_PP_SEQ_SPLIT_193 +# define BOOST_PP_SEQ_SPLIT_195(x) (x) BOOST_PP_SEQ_SPLIT_194 +# define BOOST_PP_SEQ_SPLIT_196(x) (x) BOOST_PP_SEQ_SPLIT_195 +# define BOOST_PP_SEQ_SPLIT_197(x) (x) BOOST_PP_SEQ_SPLIT_196 +# define BOOST_PP_SEQ_SPLIT_198(x) (x) BOOST_PP_SEQ_SPLIT_197 +# define BOOST_PP_SEQ_SPLIT_199(x) (x) BOOST_PP_SEQ_SPLIT_198 +# define BOOST_PP_SEQ_SPLIT_200(x) (x) BOOST_PP_SEQ_SPLIT_199 +# define BOOST_PP_SEQ_SPLIT_201(x) (x) BOOST_PP_SEQ_SPLIT_200 +# define BOOST_PP_SEQ_SPLIT_202(x) (x) BOOST_PP_SEQ_SPLIT_201 +# define BOOST_PP_SEQ_SPLIT_203(x) (x) BOOST_PP_SEQ_SPLIT_202 +# define BOOST_PP_SEQ_SPLIT_204(x) (x) BOOST_PP_SEQ_SPLIT_203 +# define BOOST_PP_SEQ_SPLIT_205(x) (x) BOOST_PP_SEQ_SPLIT_204 +# define BOOST_PP_SEQ_SPLIT_206(x) (x) BOOST_PP_SEQ_SPLIT_205 +# define BOOST_PP_SEQ_SPLIT_207(x) (x) BOOST_PP_SEQ_SPLIT_206 +# define BOOST_PP_SEQ_SPLIT_208(x) (x) BOOST_PP_SEQ_SPLIT_207 +# define BOOST_PP_SEQ_SPLIT_209(x) (x) BOOST_PP_SEQ_SPLIT_208 +# define BOOST_PP_SEQ_SPLIT_210(x) (x) BOOST_PP_SEQ_SPLIT_209 +# define BOOST_PP_SEQ_SPLIT_211(x) (x) BOOST_PP_SEQ_SPLIT_210 +# define BOOST_PP_SEQ_SPLIT_212(x) (x) BOOST_PP_SEQ_SPLIT_211 +# define BOOST_PP_SEQ_SPLIT_213(x) (x) BOOST_PP_SEQ_SPLIT_212 +# define BOOST_PP_SEQ_SPLIT_214(x) (x) BOOST_PP_SEQ_SPLIT_213 +# define BOOST_PP_SEQ_SPLIT_215(x) (x) BOOST_PP_SEQ_SPLIT_214 +# define BOOST_PP_SEQ_SPLIT_216(x) (x) BOOST_PP_SEQ_SPLIT_215 +# define BOOST_PP_SEQ_SPLIT_217(x) (x) BOOST_PP_SEQ_SPLIT_216 +# define BOOST_PP_SEQ_SPLIT_218(x) (x) BOOST_PP_SEQ_SPLIT_217 +# define BOOST_PP_SEQ_SPLIT_219(x) (x) BOOST_PP_SEQ_SPLIT_218 +# define BOOST_PP_SEQ_SPLIT_220(x) (x) BOOST_PP_SEQ_SPLIT_219 +# define BOOST_PP_SEQ_SPLIT_221(x) (x) BOOST_PP_SEQ_SPLIT_220 +# define BOOST_PP_SEQ_SPLIT_222(x) (x) BOOST_PP_SEQ_SPLIT_221 +# define BOOST_PP_SEQ_SPLIT_223(x) (x) BOOST_PP_SEQ_SPLIT_222 +# define BOOST_PP_SEQ_SPLIT_224(x) (x) BOOST_PP_SEQ_SPLIT_223 +# define BOOST_PP_SEQ_SPLIT_225(x) (x) BOOST_PP_SEQ_SPLIT_224 +# define BOOST_PP_SEQ_SPLIT_226(x) (x) BOOST_PP_SEQ_SPLIT_225 +# define BOOST_PP_SEQ_SPLIT_227(x) (x) BOOST_PP_SEQ_SPLIT_226 +# define BOOST_PP_SEQ_SPLIT_228(x) (x) BOOST_PP_SEQ_SPLIT_227 +# define BOOST_PP_SEQ_SPLIT_229(x) (x) BOOST_PP_SEQ_SPLIT_228 +# define BOOST_PP_SEQ_SPLIT_230(x) (x) BOOST_PP_SEQ_SPLIT_229 +# define BOOST_PP_SEQ_SPLIT_231(x) (x) BOOST_PP_SEQ_SPLIT_230 +# define BOOST_PP_SEQ_SPLIT_232(x) (x) BOOST_PP_SEQ_SPLIT_231 +# define BOOST_PP_SEQ_SPLIT_233(x) (x) BOOST_PP_SEQ_SPLIT_232 +# define BOOST_PP_SEQ_SPLIT_234(x) (x) BOOST_PP_SEQ_SPLIT_233 +# define BOOST_PP_SEQ_SPLIT_235(x) (x) BOOST_PP_SEQ_SPLIT_234 +# define BOOST_PP_SEQ_SPLIT_236(x) (x) BOOST_PP_SEQ_SPLIT_235 +# define BOOST_PP_SEQ_SPLIT_237(x) (x) BOOST_PP_SEQ_SPLIT_236 +# define BOOST_PP_SEQ_SPLIT_238(x) (x) BOOST_PP_SEQ_SPLIT_237 +# define BOOST_PP_SEQ_SPLIT_239(x) (x) BOOST_PP_SEQ_SPLIT_238 +# define BOOST_PP_SEQ_SPLIT_240(x) (x) BOOST_PP_SEQ_SPLIT_239 +# define BOOST_PP_SEQ_SPLIT_241(x) (x) BOOST_PP_SEQ_SPLIT_240 +# define BOOST_PP_SEQ_SPLIT_242(x) (x) BOOST_PP_SEQ_SPLIT_241 +# define BOOST_PP_SEQ_SPLIT_243(x) (x) BOOST_PP_SEQ_SPLIT_242 +# define BOOST_PP_SEQ_SPLIT_244(x) (x) BOOST_PP_SEQ_SPLIT_243 +# define BOOST_PP_SEQ_SPLIT_245(x) (x) BOOST_PP_SEQ_SPLIT_244 +# define BOOST_PP_SEQ_SPLIT_246(x) (x) BOOST_PP_SEQ_SPLIT_245 +# define BOOST_PP_SEQ_SPLIT_247(x) (x) BOOST_PP_SEQ_SPLIT_246 +# define BOOST_PP_SEQ_SPLIT_248(x) (x) BOOST_PP_SEQ_SPLIT_247 +# define BOOST_PP_SEQ_SPLIT_249(x) (x) BOOST_PP_SEQ_SPLIT_248 +# define BOOST_PP_SEQ_SPLIT_250(x) (x) BOOST_PP_SEQ_SPLIT_249 +# define BOOST_PP_SEQ_SPLIT_251(x) (x) BOOST_PP_SEQ_SPLIT_250 +# define BOOST_PP_SEQ_SPLIT_252(x) (x) BOOST_PP_SEQ_SPLIT_251 +# define BOOST_PP_SEQ_SPLIT_253(x) (x) BOOST_PP_SEQ_SPLIT_252 +# define BOOST_PP_SEQ_SPLIT_254(x) (x) BOOST_PP_SEQ_SPLIT_253 +# define BOOST_PP_SEQ_SPLIT_255(x) (x) BOOST_PP_SEQ_SPLIT_254 +# define BOOST_PP_SEQ_SPLIT_256(x) (x) BOOST_PP_SEQ_SPLIT_255 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/elem.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/elem.hpp new file mode 100644 index 0000000..16c2255 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/elem.hpp @@ -0,0 +1,304 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_ELEM_HPP +# define BOOST_PREPROCESSOR_SEQ_ELEM_HPP +# +# include +# include +# include +# +# /* BOOST_PP_SEQ_ELEM */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I(i, seq) +# else +# define BOOST_PP_SEQ_ELEM(i, seq) BOOST_PP_SEQ_ELEM_I((i, seq)) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II((BOOST_PP_SEQ_ELEM_ ## i seq)) +# define BOOST_PP_SEQ_ELEM_II(res) BOOST_PP_SEQ_ELEM_IV(BOOST_PP_SEQ_ELEM_III res) +# define BOOST_PP_SEQ_ELEM_III(x, _) x BOOST_PP_EMPTY() +# define BOOST_PP_SEQ_ELEM_IV(x) x +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_ELEM_I(par) BOOST_PP_SEQ_ELEM_II ## par +# define BOOST_PP_SEQ_ELEM_II(i, seq) BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_ ## i ## seq) +# define BOOST_PP_SEQ_ELEM_III(im) BOOST_PP_SEQ_ELEM_IV(im) +# define BOOST_PP_SEQ_ELEM_IV(x, _) x +# else +# if defined(__IBMC__) || defined(__IBMCPP__) +# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_CAT(BOOST_PP_SEQ_ELEM_ ## i, seq)) +# else +# define BOOST_PP_SEQ_ELEM_I(i, seq) BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_ ## i seq) +# endif +# define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im) +# define BOOST_PP_SEQ_ELEM_III(x, _) x +# endif +# +# define BOOST_PP_SEQ_ELEM_0(x) x, BOOST_PP_NIL +# define BOOST_PP_SEQ_ELEM_1(_) BOOST_PP_SEQ_ELEM_0 +# define BOOST_PP_SEQ_ELEM_2(_) BOOST_PP_SEQ_ELEM_1 +# define BOOST_PP_SEQ_ELEM_3(_) BOOST_PP_SEQ_ELEM_2 +# define BOOST_PP_SEQ_ELEM_4(_) BOOST_PP_SEQ_ELEM_3 +# define BOOST_PP_SEQ_ELEM_5(_) BOOST_PP_SEQ_ELEM_4 +# define BOOST_PP_SEQ_ELEM_6(_) BOOST_PP_SEQ_ELEM_5 +# define BOOST_PP_SEQ_ELEM_7(_) BOOST_PP_SEQ_ELEM_6 +# define BOOST_PP_SEQ_ELEM_8(_) BOOST_PP_SEQ_ELEM_7 +# define BOOST_PP_SEQ_ELEM_9(_) BOOST_PP_SEQ_ELEM_8 +# define BOOST_PP_SEQ_ELEM_10(_) BOOST_PP_SEQ_ELEM_9 +# define BOOST_PP_SEQ_ELEM_11(_) BOOST_PP_SEQ_ELEM_10 +# define BOOST_PP_SEQ_ELEM_12(_) BOOST_PP_SEQ_ELEM_11 +# define BOOST_PP_SEQ_ELEM_13(_) BOOST_PP_SEQ_ELEM_12 +# define BOOST_PP_SEQ_ELEM_14(_) BOOST_PP_SEQ_ELEM_13 +# define BOOST_PP_SEQ_ELEM_15(_) BOOST_PP_SEQ_ELEM_14 +# define BOOST_PP_SEQ_ELEM_16(_) BOOST_PP_SEQ_ELEM_15 +# define BOOST_PP_SEQ_ELEM_17(_) BOOST_PP_SEQ_ELEM_16 +# define BOOST_PP_SEQ_ELEM_18(_) BOOST_PP_SEQ_ELEM_17 +# define BOOST_PP_SEQ_ELEM_19(_) BOOST_PP_SEQ_ELEM_18 +# define BOOST_PP_SEQ_ELEM_20(_) BOOST_PP_SEQ_ELEM_19 +# define BOOST_PP_SEQ_ELEM_21(_) BOOST_PP_SEQ_ELEM_20 +# define BOOST_PP_SEQ_ELEM_22(_) BOOST_PP_SEQ_ELEM_21 +# define BOOST_PP_SEQ_ELEM_23(_) BOOST_PP_SEQ_ELEM_22 +# define BOOST_PP_SEQ_ELEM_24(_) BOOST_PP_SEQ_ELEM_23 +# define BOOST_PP_SEQ_ELEM_25(_) BOOST_PP_SEQ_ELEM_24 +# define BOOST_PP_SEQ_ELEM_26(_) BOOST_PP_SEQ_ELEM_25 +# define BOOST_PP_SEQ_ELEM_27(_) BOOST_PP_SEQ_ELEM_26 +# define BOOST_PP_SEQ_ELEM_28(_) BOOST_PP_SEQ_ELEM_27 +# define BOOST_PP_SEQ_ELEM_29(_) BOOST_PP_SEQ_ELEM_28 +# define BOOST_PP_SEQ_ELEM_30(_) BOOST_PP_SEQ_ELEM_29 +# define BOOST_PP_SEQ_ELEM_31(_) BOOST_PP_SEQ_ELEM_30 +# define BOOST_PP_SEQ_ELEM_32(_) BOOST_PP_SEQ_ELEM_31 +# define BOOST_PP_SEQ_ELEM_33(_) BOOST_PP_SEQ_ELEM_32 +# define BOOST_PP_SEQ_ELEM_34(_) BOOST_PP_SEQ_ELEM_33 +# define BOOST_PP_SEQ_ELEM_35(_) BOOST_PP_SEQ_ELEM_34 +# define BOOST_PP_SEQ_ELEM_36(_) BOOST_PP_SEQ_ELEM_35 +# define BOOST_PP_SEQ_ELEM_37(_) BOOST_PP_SEQ_ELEM_36 +# define BOOST_PP_SEQ_ELEM_38(_) BOOST_PP_SEQ_ELEM_37 +# define BOOST_PP_SEQ_ELEM_39(_) BOOST_PP_SEQ_ELEM_38 +# define BOOST_PP_SEQ_ELEM_40(_) BOOST_PP_SEQ_ELEM_39 +# define BOOST_PP_SEQ_ELEM_41(_) BOOST_PP_SEQ_ELEM_40 +# define BOOST_PP_SEQ_ELEM_42(_) BOOST_PP_SEQ_ELEM_41 +# define BOOST_PP_SEQ_ELEM_43(_) BOOST_PP_SEQ_ELEM_42 +# define BOOST_PP_SEQ_ELEM_44(_) BOOST_PP_SEQ_ELEM_43 +# define BOOST_PP_SEQ_ELEM_45(_) BOOST_PP_SEQ_ELEM_44 +# define BOOST_PP_SEQ_ELEM_46(_) BOOST_PP_SEQ_ELEM_45 +# define BOOST_PP_SEQ_ELEM_47(_) BOOST_PP_SEQ_ELEM_46 +# define BOOST_PP_SEQ_ELEM_48(_) BOOST_PP_SEQ_ELEM_47 +# define BOOST_PP_SEQ_ELEM_49(_) BOOST_PP_SEQ_ELEM_48 +# define BOOST_PP_SEQ_ELEM_50(_) BOOST_PP_SEQ_ELEM_49 +# define BOOST_PP_SEQ_ELEM_51(_) BOOST_PP_SEQ_ELEM_50 +# define BOOST_PP_SEQ_ELEM_52(_) BOOST_PP_SEQ_ELEM_51 +# define BOOST_PP_SEQ_ELEM_53(_) BOOST_PP_SEQ_ELEM_52 +# define BOOST_PP_SEQ_ELEM_54(_) BOOST_PP_SEQ_ELEM_53 +# define BOOST_PP_SEQ_ELEM_55(_) BOOST_PP_SEQ_ELEM_54 +# define BOOST_PP_SEQ_ELEM_56(_) BOOST_PP_SEQ_ELEM_55 +# define BOOST_PP_SEQ_ELEM_57(_) BOOST_PP_SEQ_ELEM_56 +# define BOOST_PP_SEQ_ELEM_58(_) BOOST_PP_SEQ_ELEM_57 +# define BOOST_PP_SEQ_ELEM_59(_) BOOST_PP_SEQ_ELEM_58 +# define BOOST_PP_SEQ_ELEM_60(_) BOOST_PP_SEQ_ELEM_59 +# define BOOST_PP_SEQ_ELEM_61(_) BOOST_PP_SEQ_ELEM_60 +# define BOOST_PP_SEQ_ELEM_62(_) BOOST_PP_SEQ_ELEM_61 +# define BOOST_PP_SEQ_ELEM_63(_) BOOST_PP_SEQ_ELEM_62 +# define BOOST_PP_SEQ_ELEM_64(_) BOOST_PP_SEQ_ELEM_63 +# define BOOST_PP_SEQ_ELEM_65(_) BOOST_PP_SEQ_ELEM_64 +# define BOOST_PP_SEQ_ELEM_66(_) BOOST_PP_SEQ_ELEM_65 +# define BOOST_PP_SEQ_ELEM_67(_) BOOST_PP_SEQ_ELEM_66 +# define BOOST_PP_SEQ_ELEM_68(_) BOOST_PP_SEQ_ELEM_67 +# define BOOST_PP_SEQ_ELEM_69(_) BOOST_PP_SEQ_ELEM_68 +# define BOOST_PP_SEQ_ELEM_70(_) BOOST_PP_SEQ_ELEM_69 +# define BOOST_PP_SEQ_ELEM_71(_) BOOST_PP_SEQ_ELEM_70 +# define BOOST_PP_SEQ_ELEM_72(_) BOOST_PP_SEQ_ELEM_71 +# define BOOST_PP_SEQ_ELEM_73(_) BOOST_PP_SEQ_ELEM_72 +# define BOOST_PP_SEQ_ELEM_74(_) BOOST_PP_SEQ_ELEM_73 +# define BOOST_PP_SEQ_ELEM_75(_) BOOST_PP_SEQ_ELEM_74 +# define BOOST_PP_SEQ_ELEM_76(_) BOOST_PP_SEQ_ELEM_75 +# define BOOST_PP_SEQ_ELEM_77(_) BOOST_PP_SEQ_ELEM_76 +# define BOOST_PP_SEQ_ELEM_78(_) BOOST_PP_SEQ_ELEM_77 +# define BOOST_PP_SEQ_ELEM_79(_) BOOST_PP_SEQ_ELEM_78 +# define BOOST_PP_SEQ_ELEM_80(_) BOOST_PP_SEQ_ELEM_79 +# define BOOST_PP_SEQ_ELEM_81(_) BOOST_PP_SEQ_ELEM_80 +# define BOOST_PP_SEQ_ELEM_82(_) BOOST_PP_SEQ_ELEM_81 +# define BOOST_PP_SEQ_ELEM_83(_) BOOST_PP_SEQ_ELEM_82 +# define BOOST_PP_SEQ_ELEM_84(_) BOOST_PP_SEQ_ELEM_83 +# define BOOST_PP_SEQ_ELEM_85(_) BOOST_PP_SEQ_ELEM_84 +# define BOOST_PP_SEQ_ELEM_86(_) BOOST_PP_SEQ_ELEM_85 +# define BOOST_PP_SEQ_ELEM_87(_) BOOST_PP_SEQ_ELEM_86 +# define BOOST_PP_SEQ_ELEM_88(_) BOOST_PP_SEQ_ELEM_87 +# define BOOST_PP_SEQ_ELEM_89(_) BOOST_PP_SEQ_ELEM_88 +# define BOOST_PP_SEQ_ELEM_90(_) BOOST_PP_SEQ_ELEM_89 +# define BOOST_PP_SEQ_ELEM_91(_) BOOST_PP_SEQ_ELEM_90 +# define BOOST_PP_SEQ_ELEM_92(_) BOOST_PP_SEQ_ELEM_91 +# define BOOST_PP_SEQ_ELEM_93(_) BOOST_PP_SEQ_ELEM_92 +# define BOOST_PP_SEQ_ELEM_94(_) BOOST_PP_SEQ_ELEM_93 +# define BOOST_PP_SEQ_ELEM_95(_) BOOST_PP_SEQ_ELEM_94 +# define BOOST_PP_SEQ_ELEM_96(_) BOOST_PP_SEQ_ELEM_95 +# define BOOST_PP_SEQ_ELEM_97(_) BOOST_PP_SEQ_ELEM_96 +# define BOOST_PP_SEQ_ELEM_98(_) BOOST_PP_SEQ_ELEM_97 +# define BOOST_PP_SEQ_ELEM_99(_) BOOST_PP_SEQ_ELEM_98 +# define BOOST_PP_SEQ_ELEM_100(_) BOOST_PP_SEQ_ELEM_99 +# define BOOST_PP_SEQ_ELEM_101(_) BOOST_PP_SEQ_ELEM_100 +# define BOOST_PP_SEQ_ELEM_102(_) BOOST_PP_SEQ_ELEM_101 +# define BOOST_PP_SEQ_ELEM_103(_) BOOST_PP_SEQ_ELEM_102 +# define BOOST_PP_SEQ_ELEM_104(_) BOOST_PP_SEQ_ELEM_103 +# define BOOST_PP_SEQ_ELEM_105(_) BOOST_PP_SEQ_ELEM_104 +# define BOOST_PP_SEQ_ELEM_106(_) BOOST_PP_SEQ_ELEM_105 +# define BOOST_PP_SEQ_ELEM_107(_) BOOST_PP_SEQ_ELEM_106 +# define BOOST_PP_SEQ_ELEM_108(_) BOOST_PP_SEQ_ELEM_107 +# define BOOST_PP_SEQ_ELEM_109(_) BOOST_PP_SEQ_ELEM_108 +# define BOOST_PP_SEQ_ELEM_110(_) BOOST_PP_SEQ_ELEM_109 +# define BOOST_PP_SEQ_ELEM_111(_) BOOST_PP_SEQ_ELEM_110 +# define BOOST_PP_SEQ_ELEM_112(_) BOOST_PP_SEQ_ELEM_111 +# define BOOST_PP_SEQ_ELEM_113(_) BOOST_PP_SEQ_ELEM_112 +# define BOOST_PP_SEQ_ELEM_114(_) BOOST_PP_SEQ_ELEM_113 +# define BOOST_PP_SEQ_ELEM_115(_) BOOST_PP_SEQ_ELEM_114 +# define BOOST_PP_SEQ_ELEM_116(_) BOOST_PP_SEQ_ELEM_115 +# define BOOST_PP_SEQ_ELEM_117(_) BOOST_PP_SEQ_ELEM_116 +# define BOOST_PP_SEQ_ELEM_118(_) BOOST_PP_SEQ_ELEM_117 +# define BOOST_PP_SEQ_ELEM_119(_) BOOST_PP_SEQ_ELEM_118 +# define BOOST_PP_SEQ_ELEM_120(_) BOOST_PP_SEQ_ELEM_119 +# define BOOST_PP_SEQ_ELEM_121(_) BOOST_PP_SEQ_ELEM_120 +# define BOOST_PP_SEQ_ELEM_122(_) BOOST_PP_SEQ_ELEM_121 +# define BOOST_PP_SEQ_ELEM_123(_) BOOST_PP_SEQ_ELEM_122 +# define BOOST_PP_SEQ_ELEM_124(_) BOOST_PP_SEQ_ELEM_123 +# define BOOST_PP_SEQ_ELEM_125(_) BOOST_PP_SEQ_ELEM_124 +# define BOOST_PP_SEQ_ELEM_126(_) BOOST_PP_SEQ_ELEM_125 +# define BOOST_PP_SEQ_ELEM_127(_) BOOST_PP_SEQ_ELEM_126 +# define BOOST_PP_SEQ_ELEM_128(_) BOOST_PP_SEQ_ELEM_127 +# define BOOST_PP_SEQ_ELEM_129(_) BOOST_PP_SEQ_ELEM_128 +# define BOOST_PP_SEQ_ELEM_130(_) BOOST_PP_SEQ_ELEM_129 +# define BOOST_PP_SEQ_ELEM_131(_) BOOST_PP_SEQ_ELEM_130 +# define BOOST_PP_SEQ_ELEM_132(_) BOOST_PP_SEQ_ELEM_131 +# define BOOST_PP_SEQ_ELEM_133(_) BOOST_PP_SEQ_ELEM_132 +# define BOOST_PP_SEQ_ELEM_134(_) BOOST_PP_SEQ_ELEM_133 +# define BOOST_PP_SEQ_ELEM_135(_) BOOST_PP_SEQ_ELEM_134 +# define BOOST_PP_SEQ_ELEM_136(_) BOOST_PP_SEQ_ELEM_135 +# define BOOST_PP_SEQ_ELEM_137(_) BOOST_PP_SEQ_ELEM_136 +# define BOOST_PP_SEQ_ELEM_138(_) BOOST_PP_SEQ_ELEM_137 +# define BOOST_PP_SEQ_ELEM_139(_) BOOST_PP_SEQ_ELEM_138 +# define BOOST_PP_SEQ_ELEM_140(_) BOOST_PP_SEQ_ELEM_139 +# define BOOST_PP_SEQ_ELEM_141(_) BOOST_PP_SEQ_ELEM_140 +# define BOOST_PP_SEQ_ELEM_142(_) BOOST_PP_SEQ_ELEM_141 +# define BOOST_PP_SEQ_ELEM_143(_) BOOST_PP_SEQ_ELEM_142 +# define BOOST_PP_SEQ_ELEM_144(_) BOOST_PP_SEQ_ELEM_143 +# define BOOST_PP_SEQ_ELEM_145(_) BOOST_PP_SEQ_ELEM_144 +# define BOOST_PP_SEQ_ELEM_146(_) BOOST_PP_SEQ_ELEM_145 +# define BOOST_PP_SEQ_ELEM_147(_) BOOST_PP_SEQ_ELEM_146 +# define BOOST_PP_SEQ_ELEM_148(_) BOOST_PP_SEQ_ELEM_147 +# define BOOST_PP_SEQ_ELEM_149(_) BOOST_PP_SEQ_ELEM_148 +# define BOOST_PP_SEQ_ELEM_150(_) BOOST_PP_SEQ_ELEM_149 +# define BOOST_PP_SEQ_ELEM_151(_) BOOST_PP_SEQ_ELEM_150 +# define BOOST_PP_SEQ_ELEM_152(_) BOOST_PP_SEQ_ELEM_151 +# define BOOST_PP_SEQ_ELEM_153(_) BOOST_PP_SEQ_ELEM_152 +# define BOOST_PP_SEQ_ELEM_154(_) BOOST_PP_SEQ_ELEM_153 +# define BOOST_PP_SEQ_ELEM_155(_) BOOST_PP_SEQ_ELEM_154 +# define BOOST_PP_SEQ_ELEM_156(_) BOOST_PP_SEQ_ELEM_155 +# define BOOST_PP_SEQ_ELEM_157(_) BOOST_PP_SEQ_ELEM_156 +# define BOOST_PP_SEQ_ELEM_158(_) BOOST_PP_SEQ_ELEM_157 +# define BOOST_PP_SEQ_ELEM_159(_) BOOST_PP_SEQ_ELEM_158 +# define BOOST_PP_SEQ_ELEM_160(_) BOOST_PP_SEQ_ELEM_159 +# define BOOST_PP_SEQ_ELEM_161(_) BOOST_PP_SEQ_ELEM_160 +# define BOOST_PP_SEQ_ELEM_162(_) BOOST_PP_SEQ_ELEM_161 +# define BOOST_PP_SEQ_ELEM_163(_) BOOST_PP_SEQ_ELEM_162 +# define BOOST_PP_SEQ_ELEM_164(_) BOOST_PP_SEQ_ELEM_163 +# define BOOST_PP_SEQ_ELEM_165(_) BOOST_PP_SEQ_ELEM_164 +# define BOOST_PP_SEQ_ELEM_166(_) BOOST_PP_SEQ_ELEM_165 +# define BOOST_PP_SEQ_ELEM_167(_) BOOST_PP_SEQ_ELEM_166 +# define BOOST_PP_SEQ_ELEM_168(_) BOOST_PP_SEQ_ELEM_167 +# define BOOST_PP_SEQ_ELEM_169(_) BOOST_PP_SEQ_ELEM_168 +# define BOOST_PP_SEQ_ELEM_170(_) BOOST_PP_SEQ_ELEM_169 +# define BOOST_PP_SEQ_ELEM_171(_) BOOST_PP_SEQ_ELEM_170 +# define BOOST_PP_SEQ_ELEM_172(_) BOOST_PP_SEQ_ELEM_171 +# define BOOST_PP_SEQ_ELEM_173(_) BOOST_PP_SEQ_ELEM_172 +# define BOOST_PP_SEQ_ELEM_174(_) BOOST_PP_SEQ_ELEM_173 +# define BOOST_PP_SEQ_ELEM_175(_) BOOST_PP_SEQ_ELEM_174 +# define BOOST_PP_SEQ_ELEM_176(_) BOOST_PP_SEQ_ELEM_175 +# define BOOST_PP_SEQ_ELEM_177(_) BOOST_PP_SEQ_ELEM_176 +# define BOOST_PP_SEQ_ELEM_178(_) BOOST_PP_SEQ_ELEM_177 +# define BOOST_PP_SEQ_ELEM_179(_) BOOST_PP_SEQ_ELEM_178 +# define BOOST_PP_SEQ_ELEM_180(_) BOOST_PP_SEQ_ELEM_179 +# define BOOST_PP_SEQ_ELEM_181(_) BOOST_PP_SEQ_ELEM_180 +# define BOOST_PP_SEQ_ELEM_182(_) BOOST_PP_SEQ_ELEM_181 +# define BOOST_PP_SEQ_ELEM_183(_) BOOST_PP_SEQ_ELEM_182 +# define BOOST_PP_SEQ_ELEM_184(_) BOOST_PP_SEQ_ELEM_183 +# define BOOST_PP_SEQ_ELEM_185(_) BOOST_PP_SEQ_ELEM_184 +# define BOOST_PP_SEQ_ELEM_186(_) BOOST_PP_SEQ_ELEM_185 +# define BOOST_PP_SEQ_ELEM_187(_) BOOST_PP_SEQ_ELEM_186 +# define BOOST_PP_SEQ_ELEM_188(_) BOOST_PP_SEQ_ELEM_187 +# define BOOST_PP_SEQ_ELEM_189(_) BOOST_PP_SEQ_ELEM_188 +# define BOOST_PP_SEQ_ELEM_190(_) BOOST_PP_SEQ_ELEM_189 +# define BOOST_PP_SEQ_ELEM_191(_) BOOST_PP_SEQ_ELEM_190 +# define BOOST_PP_SEQ_ELEM_192(_) BOOST_PP_SEQ_ELEM_191 +# define BOOST_PP_SEQ_ELEM_193(_) BOOST_PP_SEQ_ELEM_192 +# define BOOST_PP_SEQ_ELEM_194(_) BOOST_PP_SEQ_ELEM_193 +# define BOOST_PP_SEQ_ELEM_195(_) BOOST_PP_SEQ_ELEM_194 +# define BOOST_PP_SEQ_ELEM_196(_) BOOST_PP_SEQ_ELEM_195 +# define BOOST_PP_SEQ_ELEM_197(_) BOOST_PP_SEQ_ELEM_196 +# define BOOST_PP_SEQ_ELEM_198(_) BOOST_PP_SEQ_ELEM_197 +# define BOOST_PP_SEQ_ELEM_199(_) BOOST_PP_SEQ_ELEM_198 +# define BOOST_PP_SEQ_ELEM_200(_) BOOST_PP_SEQ_ELEM_199 +# define BOOST_PP_SEQ_ELEM_201(_) BOOST_PP_SEQ_ELEM_200 +# define BOOST_PP_SEQ_ELEM_202(_) BOOST_PP_SEQ_ELEM_201 +# define BOOST_PP_SEQ_ELEM_203(_) BOOST_PP_SEQ_ELEM_202 +# define BOOST_PP_SEQ_ELEM_204(_) BOOST_PP_SEQ_ELEM_203 +# define BOOST_PP_SEQ_ELEM_205(_) BOOST_PP_SEQ_ELEM_204 +# define BOOST_PP_SEQ_ELEM_206(_) BOOST_PP_SEQ_ELEM_205 +# define BOOST_PP_SEQ_ELEM_207(_) BOOST_PP_SEQ_ELEM_206 +# define BOOST_PP_SEQ_ELEM_208(_) BOOST_PP_SEQ_ELEM_207 +# define BOOST_PP_SEQ_ELEM_209(_) BOOST_PP_SEQ_ELEM_208 +# define BOOST_PP_SEQ_ELEM_210(_) BOOST_PP_SEQ_ELEM_209 +# define BOOST_PP_SEQ_ELEM_211(_) BOOST_PP_SEQ_ELEM_210 +# define BOOST_PP_SEQ_ELEM_212(_) BOOST_PP_SEQ_ELEM_211 +# define BOOST_PP_SEQ_ELEM_213(_) BOOST_PP_SEQ_ELEM_212 +# define BOOST_PP_SEQ_ELEM_214(_) BOOST_PP_SEQ_ELEM_213 +# define BOOST_PP_SEQ_ELEM_215(_) BOOST_PP_SEQ_ELEM_214 +# define BOOST_PP_SEQ_ELEM_216(_) BOOST_PP_SEQ_ELEM_215 +# define BOOST_PP_SEQ_ELEM_217(_) BOOST_PP_SEQ_ELEM_216 +# define BOOST_PP_SEQ_ELEM_218(_) BOOST_PP_SEQ_ELEM_217 +# define BOOST_PP_SEQ_ELEM_219(_) BOOST_PP_SEQ_ELEM_218 +# define BOOST_PP_SEQ_ELEM_220(_) BOOST_PP_SEQ_ELEM_219 +# define BOOST_PP_SEQ_ELEM_221(_) BOOST_PP_SEQ_ELEM_220 +# define BOOST_PP_SEQ_ELEM_222(_) BOOST_PP_SEQ_ELEM_221 +# define BOOST_PP_SEQ_ELEM_223(_) BOOST_PP_SEQ_ELEM_222 +# define BOOST_PP_SEQ_ELEM_224(_) BOOST_PP_SEQ_ELEM_223 +# define BOOST_PP_SEQ_ELEM_225(_) BOOST_PP_SEQ_ELEM_224 +# define BOOST_PP_SEQ_ELEM_226(_) BOOST_PP_SEQ_ELEM_225 +# define BOOST_PP_SEQ_ELEM_227(_) BOOST_PP_SEQ_ELEM_226 +# define BOOST_PP_SEQ_ELEM_228(_) BOOST_PP_SEQ_ELEM_227 +# define BOOST_PP_SEQ_ELEM_229(_) BOOST_PP_SEQ_ELEM_228 +# define BOOST_PP_SEQ_ELEM_230(_) BOOST_PP_SEQ_ELEM_229 +# define BOOST_PP_SEQ_ELEM_231(_) BOOST_PP_SEQ_ELEM_230 +# define BOOST_PP_SEQ_ELEM_232(_) BOOST_PP_SEQ_ELEM_231 +# define BOOST_PP_SEQ_ELEM_233(_) BOOST_PP_SEQ_ELEM_232 +# define BOOST_PP_SEQ_ELEM_234(_) BOOST_PP_SEQ_ELEM_233 +# define BOOST_PP_SEQ_ELEM_235(_) BOOST_PP_SEQ_ELEM_234 +# define BOOST_PP_SEQ_ELEM_236(_) BOOST_PP_SEQ_ELEM_235 +# define BOOST_PP_SEQ_ELEM_237(_) BOOST_PP_SEQ_ELEM_236 +# define BOOST_PP_SEQ_ELEM_238(_) BOOST_PP_SEQ_ELEM_237 +# define BOOST_PP_SEQ_ELEM_239(_) BOOST_PP_SEQ_ELEM_238 +# define BOOST_PP_SEQ_ELEM_240(_) BOOST_PP_SEQ_ELEM_239 +# define BOOST_PP_SEQ_ELEM_241(_) BOOST_PP_SEQ_ELEM_240 +# define BOOST_PP_SEQ_ELEM_242(_) BOOST_PP_SEQ_ELEM_241 +# define BOOST_PP_SEQ_ELEM_243(_) BOOST_PP_SEQ_ELEM_242 +# define BOOST_PP_SEQ_ELEM_244(_) BOOST_PP_SEQ_ELEM_243 +# define BOOST_PP_SEQ_ELEM_245(_) BOOST_PP_SEQ_ELEM_244 +# define BOOST_PP_SEQ_ELEM_246(_) BOOST_PP_SEQ_ELEM_245 +# define BOOST_PP_SEQ_ELEM_247(_) BOOST_PP_SEQ_ELEM_246 +# define BOOST_PP_SEQ_ELEM_248(_) BOOST_PP_SEQ_ELEM_247 +# define BOOST_PP_SEQ_ELEM_249(_) BOOST_PP_SEQ_ELEM_248 +# define BOOST_PP_SEQ_ELEM_250(_) BOOST_PP_SEQ_ELEM_249 +# define BOOST_PP_SEQ_ELEM_251(_) BOOST_PP_SEQ_ELEM_250 +# define BOOST_PP_SEQ_ELEM_252(_) BOOST_PP_SEQ_ELEM_251 +# define BOOST_PP_SEQ_ELEM_253(_) BOOST_PP_SEQ_ELEM_252 +# define BOOST_PP_SEQ_ELEM_254(_) BOOST_PP_SEQ_ELEM_253 +# define BOOST_PP_SEQ_ELEM_255(_) BOOST_PP_SEQ_ELEM_254 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/enum.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/enum.hpp new file mode 100644 index 0000000..b3a9f1e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/enum.hpp @@ -0,0 +1,288 @@ +# /* ************************************************************************** +# * * +# * (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/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/filter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/filter.hpp new file mode 100644 index 0000000..896ae95 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/filter.hpp @@ -0,0 +1,54 @@ +# /* ************************************************************************** +# * * +# * (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_FILTER_HPP +# define BOOST_PREPROCESSOR_SEQ_FILTER_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_FILTER */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FILTER(pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq))) +# else +# define BOOST_PP_SEQ_FILTER(pred, data, seq) BOOST_PP_SEQ_FILTER_I(pred, data, seq) +# define BOOST_PP_SEQ_FILTER_I(pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq))) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_SEQ_FILTER_O(s, st, elem) BOOST_PP_SEQ_FILTER_O_IM(s, BOOST_PP_TUPLE_REM_3 st, elem) +# define BOOST_PP_SEQ_FILTER_O_IM(s, im, elem) BOOST_PP_SEQ_FILTER_O_I(s, im, elem) +# else +# define BOOST_PP_SEQ_FILTER_O(s, st, elem) BOOST_PP_SEQ_FILTER_O_I(s, BOOST_PP_TUPLE_ELEM(3, 0, st), BOOST_PP_TUPLE_ELEM(3, 1, st), BOOST_PP_TUPLE_ELEM(3, 2, st), elem) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_SEQ_FILTER_O_I(s, pred, data, res, elem) (pred, data, res BOOST_PP_EXPR_IF(pred(s, data, elem), (elem))) +# else +# define BOOST_PP_SEQ_FILTER_O_I(s, pred, data, res, elem) (pred, data, res BOOST_PP_EXPR_IF(pred##(s, data, elem), (elem))) +# endif +# +# /* BOOST_PP_SEQ_FILTER_S */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FILTER_S(s, pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq))) +# else +# define BOOST_PP_SEQ_FILTER_S(s, pred, data, seq) BOOST_PP_SEQ_FILTER_S_I(s, pred, data, seq) +# define BOOST_PP_SEQ_FILTER_S_I(s, pred, data, seq) BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_FILTER_O, (pred, data, (nil)), seq))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/first_n.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/first_n.hpp new file mode 100644 index 0000000..5f88281 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/first_n.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP +# define BOOST_PREPROCESSOR_SEQ_FIRST_N_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_FIRST_N */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil))) +# else +# define BOOST_PP_SEQ_FIRST_N(n, seq) BOOST_PP_SEQ_FIRST_N_I(n, seq) +# define BOOST_PP_SEQ_FIRST_N_I(n, seq) BOOST_PP_IF(n, BOOST_PP_TUPLE_ELEM, BOOST_PP_TUPLE_EAT_3)(2, 0, BOOST_PP_SEQ_SPLIT(n, seq (nil))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_left.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_left.hpp new file mode 100644 index 0000000..ea05882 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_left.hpp @@ -0,0 +1,1070 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP +# define BOOST_PREPROCESSOR_SEQ_FOLD_LEFT_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_FOLD_LEFT */ +# +# if 0 +# define BOOST_PP_SEQ_FOLD_LEFT(op, state, seq) ... +# endif +# +# define BOOST_PP_SEQ_FOLD_LEFT BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_, BOOST_PP_AUTO_REC(BOOST_PP_SEQ_FOLD_LEFT_P, 256)) +# define BOOST_PP_SEQ_FOLD_LEFT_P(n) BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_LEFT_CHECK_, BOOST_PP_SEQ_FOLD_LEFT_I_ ## n(BOOST_PP_SEQ_FOLD_LEFT_O, BOOST_PP_NIL, (nil), 1)) +# define BOOST_PP_SEQ_FOLD_LEFT_O(s, st, _) st +# +# define BOOST_PP_SEQ_FOLD_LEFT_257(op, st, ss) BOOST_PP_ERROR(0x0005) +# define BOOST_PP_SEQ_FOLD_LEFT_I_257(op, st, ss, sz) BOOST_PP_ERROR(0x0005) +# +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_NIL 1 +# +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) 0 +# define BOOST_PP_SEQ_FOLD_LEFT_CHECK_BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) 0 +# +# define BOOST_PP_SEQ_FOLD_LEFT_F(op, st, ss, sz) st +# +# define BOOST_PP_SEQ_FOLD_LEFT_1(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_2(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_3(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_4(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_5(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_6(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_7(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_8(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_9(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_10(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_11(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_12(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_13(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_14(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_15(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_16(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_17(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_18(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_19(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_20(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_21(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_22(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_23(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_24(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_25(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_26(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_27(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_28(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_29(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_30(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_31(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_32(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_33(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_34(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_35(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_36(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_37(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_38(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_39(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_40(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_41(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_42(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_43(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_44(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_45(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_46(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_47(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_48(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_49(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_50(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_51(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_52(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_53(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_54(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_55(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_56(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_57(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_58(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_59(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_60(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_61(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_62(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_63(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_64(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_65(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_66(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_67(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_68(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_69(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_70(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_71(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_72(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_73(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_74(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_75(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_76(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_77(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_78(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_79(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_80(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_81(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_82(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_83(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_84(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_85(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_86(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_87(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_88(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_89(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_90(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_91(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_92(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_93(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_94(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_95(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_96(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_97(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_98(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_99(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_100(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_101(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_102(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_103(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_104(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_105(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_106(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_107(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_108(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_109(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_110(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_111(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_112(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_113(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_114(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_115(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_116(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_117(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_118(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_119(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_120(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_121(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_122(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_123(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_124(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_125(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_126(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_127(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_128(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_129(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_130(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_131(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_132(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_133(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_134(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_135(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_136(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_137(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_138(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_139(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_140(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_141(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_142(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_143(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_144(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_145(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_146(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_147(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_148(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_149(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_150(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_151(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_152(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_153(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_154(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_155(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_156(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_157(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_158(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_159(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_160(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_161(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_162(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_163(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_164(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_165(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_166(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_167(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_168(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_169(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_170(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_171(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_172(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_173(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_174(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_175(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_176(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_177(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_178(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_179(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_180(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_181(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_182(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_183(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_184(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_185(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_186(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_187(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_188(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_189(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_190(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_191(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_192(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_193(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_194(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_195(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_196(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_197(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_198(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_199(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_200(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_201(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_202(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_203(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_204(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_205(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_206(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_207(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_208(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_209(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_210(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_211(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_212(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_213(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_214(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_215(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_216(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_217(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_218(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_219(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_220(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_221(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_222(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_223(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_224(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_225(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_226(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_227(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_228(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_229(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_230(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_231(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_232(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_233(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_234(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_235(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_236(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_237(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_238(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_239(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_240(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_241(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_242(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_243(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_244(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_245(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_246(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_247(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_248(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_249(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_250(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_251(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_252(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_253(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_254(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_255(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_LEFT_256(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, BOOST_PP_SEQ_SIZE(ss)) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC() +# define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# else +# define BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_2, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(2, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_3, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(3, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_4, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(4, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_5, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(5, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_6, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(6, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_7, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(7, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_8, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(8, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_9, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(9, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_10, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(10, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_11, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(11, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_12, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(12, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_13, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(13, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_14, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(14, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_15, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(15, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_16, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(16, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_17, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(17, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_18, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(18, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_19, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(19, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_20, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(20, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_21, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(21, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_22, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(22, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_23, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(23, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_24, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(24, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_25, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(25, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_26, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(26, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_27, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(27, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_28, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(28, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_29, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(29, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_30, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(30, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_31, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(31, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_32, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(32, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_33, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(33, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_34, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(34, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_35, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(35, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_36, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(36, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_37, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(37, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_38, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(38, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_39, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(39, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_40, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(40, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_41, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(41, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_42, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(42, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_43, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(43, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_44, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(44, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_45, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(45, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_46, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(46, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_47, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(47, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_48, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(48, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_49, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(49, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_50, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(50, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_51, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(51, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_52, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(52, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_53, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(53, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_54, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(54, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_55, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(55, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_56, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(56, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_57, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(57, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_58, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(58, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_59, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(59, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_60, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(60, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_61, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(61, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_62, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(62, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_63, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(63, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_64, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(64, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_65, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(65, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_66, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(66, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_67, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(67, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_68, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(68, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_69, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(69, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_70, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(70, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_71, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(71, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_72, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(72, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_73, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(73, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_74, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(74, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_75, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(75, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_76, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(76, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_77, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(77, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_78, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(78, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_79, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(79, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_80, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(80, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_81, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(81, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_82, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(82, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_83, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(83, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_84, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(84, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_85, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(85, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_86, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(86, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_87, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(87, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_88, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(88, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_89, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(89, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_90, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(90, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_91, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(91, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_92, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(92, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_93, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(93, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_94, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(94, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_95, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(95, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_96, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(96, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_97, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(97, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_98, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(98, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_99, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(99, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_100, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(100, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_101, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(101, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_102, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(102, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_103, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(103, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_104, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(104, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_105, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(105, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_106, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(106, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_107, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(107, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_108, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(108, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_109, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(109, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_110, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(110, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_111, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(111, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_112, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(112, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_113, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(113, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_114, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(114, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_115, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(115, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_116, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(116, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_117, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(117, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_118, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(118, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_119, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(119, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_120, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(120, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_121, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(121, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_122, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(122, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_123, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(123, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_124, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(124, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_125, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(125, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_126, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(126, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_127, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(127, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_128, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(128, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_129, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(129, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_130, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(130, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_131, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(131, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_132, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(132, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_133, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(133, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_134, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(134, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_135, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(135, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_136, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(136, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_137, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(137, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_138, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(138, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_139, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(139, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_140, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(140, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_141, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(141, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_142, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(142, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_143, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(143, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_144, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(144, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_145, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(145, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_146, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(146, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_147, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(147, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_148, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(148, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_149, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(149, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_150, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(150, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_151, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(151, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_152, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(152, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_153, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(153, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_154, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(154, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_155, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(155, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_156, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(156, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_157, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(157, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_158, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(158, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_159, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(159, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_160, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(160, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_161, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(161, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_162, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(162, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_163, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(163, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_164, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(164, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_165, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(165, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_166, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(166, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_167, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(167, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_168, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(168, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_169, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(169, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_170, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(170, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_171, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(171, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_172, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(172, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_173, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(173, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_174, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(174, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_175, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(175, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_176, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(176, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_177, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(177, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_178, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(178, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_179, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(179, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_180, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(180, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_181, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(181, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_182, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(182, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_183, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(183, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_184, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(184, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_185, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(185, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_186, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(186, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_187, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(187, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_188, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(188, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_189, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(189, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_190, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(190, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_191, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(191, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_192, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(192, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_193, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(193, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_194, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(194, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_195, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(195, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_196, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(196, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_197, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(197, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_198, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(198, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_199, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(199, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_200, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(200, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_201, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(201, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_202, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(202, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_203, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(203, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_204, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(204, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_205, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(205, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_206, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(206, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_207, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(207, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_208, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(208, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_209, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(209, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_210, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(210, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_211, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(211, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_212, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(212, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_213, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(213, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_214, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(214, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_215, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(215, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_216, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(216, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_217, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(217, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_218, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(218, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_219, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(219, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_220, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(220, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_221, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(221, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_222, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(222, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_223, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(223, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_224, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(224, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_225, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(225, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_226, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(226, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_227, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(227, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_228, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(228, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_229, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(229, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_230, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(230, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_231, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(231, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_232, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(232, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_233, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(233, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_234, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(234, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_235, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(235, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_236, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(236, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_237, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(237, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_238, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(238, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_239, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(239, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_240, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(240, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_241, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(241, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_242, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(242, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_243, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(243, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_244, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(244, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_245, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(245, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_246, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(246, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_247, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(247, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_248, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(248, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_249, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(249, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_250, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(250, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_251, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(251, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_252, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(252, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_253, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(253, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_254, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(254, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_255, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(255, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_256, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(256, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# define BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, ss, sz) BOOST_PP_IF(BOOST_PP_DEC(sz), BOOST_PP_SEQ_FOLD_LEFT_I_257, BOOST_PP_SEQ_FOLD_LEFT_F)(op, op##(257, st, BOOST_PP_SEQ_HEAD(ss)), BOOST_PP_SEQ_TAIL(ss), BOOST_PP_DEC(sz)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_right.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_right.hpp new file mode 100644 index 0000000..180e97c --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/fold_right.hpp @@ -0,0 +1,288 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_FOLD_RIGHT_HPP +# define BOOST_PREPROCESSOR_SEQ_FOLD_RIGHT_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_FOLD_RIGHT */ +# +# if 0 +# define BOOST_PP_SEQ_FOLD_RIGHT(op, state, seq) ... +# endif +# +# define BOOST_PP_SEQ_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_SEQ_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_SEQ_FOLD_LEFT_P, 256)) +# +# define BOOST_PP_SEQ_FOLD_RIGHT_257(op, st, ss) BOOST_PP_ERROR(0x0005) +# +# define BOOST_PP_SEQ_FOLD_RIGHT_1(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_1(op, st, BOOST_PP_SEQ_REVERSE_S(2, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_2(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_2(op, st, BOOST_PP_SEQ_REVERSE_S(3, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_3(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_3(op, st, BOOST_PP_SEQ_REVERSE_S(4, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_4(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_4(op, st, BOOST_PP_SEQ_REVERSE_S(5, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_5(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_5(op, st, BOOST_PP_SEQ_REVERSE_S(6, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_6(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_6(op, st, BOOST_PP_SEQ_REVERSE_S(7, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_7(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_7(op, st, BOOST_PP_SEQ_REVERSE_S(8, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_8(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_8(op, st, BOOST_PP_SEQ_REVERSE_S(9, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_9(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_9(op, st, BOOST_PP_SEQ_REVERSE_S(10, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_10(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_10(op, st, BOOST_PP_SEQ_REVERSE_S(11, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_11(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_11(op, st, BOOST_PP_SEQ_REVERSE_S(12, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_12(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_12(op, st, BOOST_PP_SEQ_REVERSE_S(13, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_13(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_13(op, st, BOOST_PP_SEQ_REVERSE_S(14, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_14(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_14(op, st, BOOST_PP_SEQ_REVERSE_S(15, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_15(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_15(op, st, BOOST_PP_SEQ_REVERSE_S(16, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_16(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_16(op, st, BOOST_PP_SEQ_REVERSE_S(17, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_17(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_17(op, st, BOOST_PP_SEQ_REVERSE_S(18, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_18(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_18(op, st, BOOST_PP_SEQ_REVERSE_S(19, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_19(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_19(op, st, BOOST_PP_SEQ_REVERSE_S(20, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_20(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_20(op, st, BOOST_PP_SEQ_REVERSE_S(21, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_21(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_21(op, st, BOOST_PP_SEQ_REVERSE_S(22, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_22(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_22(op, st, BOOST_PP_SEQ_REVERSE_S(23, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_23(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_23(op, st, BOOST_PP_SEQ_REVERSE_S(24, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_24(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_24(op, st, BOOST_PP_SEQ_REVERSE_S(25, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_25(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_25(op, st, BOOST_PP_SEQ_REVERSE_S(26, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_26(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_26(op, st, BOOST_PP_SEQ_REVERSE_S(27, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_27(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_27(op, st, BOOST_PP_SEQ_REVERSE_S(28, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_28(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_28(op, st, BOOST_PP_SEQ_REVERSE_S(29, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_29(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_29(op, st, BOOST_PP_SEQ_REVERSE_S(30, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_30(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_30(op, st, BOOST_PP_SEQ_REVERSE_S(31, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_31(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_31(op, st, BOOST_PP_SEQ_REVERSE_S(32, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_32(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_32(op, st, BOOST_PP_SEQ_REVERSE_S(33, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_33(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_33(op, st, BOOST_PP_SEQ_REVERSE_S(34, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_34(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_34(op, st, BOOST_PP_SEQ_REVERSE_S(35, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_35(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_35(op, st, BOOST_PP_SEQ_REVERSE_S(36, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_36(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_36(op, st, BOOST_PP_SEQ_REVERSE_S(37, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_37(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_37(op, st, BOOST_PP_SEQ_REVERSE_S(38, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_38(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_38(op, st, BOOST_PP_SEQ_REVERSE_S(39, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_39(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_39(op, st, BOOST_PP_SEQ_REVERSE_S(40, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_40(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_40(op, st, BOOST_PP_SEQ_REVERSE_S(41, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_41(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_41(op, st, BOOST_PP_SEQ_REVERSE_S(42, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_42(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_42(op, st, BOOST_PP_SEQ_REVERSE_S(43, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_43(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_43(op, st, BOOST_PP_SEQ_REVERSE_S(44, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_44(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_44(op, st, BOOST_PP_SEQ_REVERSE_S(45, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_45(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_45(op, st, BOOST_PP_SEQ_REVERSE_S(46, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_46(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_46(op, st, BOOST_PP_SEQ_REVERSE_S(47, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_47(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_47(op, st, BOOST_PP_SEQ_REVERSE_S(48, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_48(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_48(op, st, BOOST_PP_SEQ_REVERSE_S(49, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_49(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_49(op, st, BOOST_PP_SEQ_REVERSE_S(50, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_50(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_50(op, st, BOOST_PP_SEQ_REVERSE_S(51, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_51(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_51(op, st, BOOST_PP_SEQ_REVERSE_S(52, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_52(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_52(op, st, BOOST_PP_SEQ_REVERSE_S(53, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_53(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_53(op, st, BOOST_PP_SEQ_REVERSE_S(54, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_54(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_54(op, st, BOOST_PP_SEQ_REVERSE_S(55, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_55(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_55(op, st, BOOST_PP_SEQ_REVERSE_S(56, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_56(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_56(op, st, BOOST_PP_SEQ_REVERSE_S(57, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_57(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_57(op, st, BOOST_PP_SEQ_REVERSE_S(58, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_58(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_58(op, st, BOOST_PP_SEQ_REVERSE_S(59, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_59(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_59(op, st, BOOST_PP_SEQ_REVERSE_S(60, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_60(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_60(op, st, BOOST_PP_SEQ_REVERSE_S(61, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_61(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_61(op, st, BOOST_PP_SEQ_REVERSE_S(62, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_62(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_62(op, st, BOOST_PP_SEQ_REVERSE_S(63, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_63(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_63(op, st, BOOST_PP_SEQ_REVERSE_S(64, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_64(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_64(op, st, BOOST_PP_SEQ_REVERSE_S(65, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_65(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_65(op, st, BOOST_PP_SEQ_REVERSE_S(66, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_66(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_66(op, st, BOOST_PP_SEQ_REVERSE_S(67, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_67(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_67(op, st, BOOST_PP_SEQ_REVERSE_S(68, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_68(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_68(op, st, BOOST_PP_SEQ_REVERSE_S(69, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_69(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_69(op, st, BOOST_PP_SEQ_REVERSE_S(70, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_70(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_70(op, st, BOOST_PP_SEQ_REVERSE_S(71, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_71(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_71(op, st, BOOST_PP_SEQ_REVERSE_S(72, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_72(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_72(op, st, BOOST_PP_SEQ_REVERSE_S(73, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_73(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_73(op, st, BOOST_PP_SEQ_REVERSE_S(74, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_74(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_74(op, st, BOOST_PP_SEQ_REVERSE_S(75, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_75(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_75(op, st, BOOST_PP_SEQ_REVERSE_S(76, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_76(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_76(op, st, BOOST_PP_SEQ_REVERSE_S(77, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_77(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_77(op, st, BOOST_PP_SEQ_REVERSE_S(78, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_78(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_78(op, st, BOOST_PP_SEQ_REVERSE_S(79, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_79(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_79(op, st, BOOST_PP_SEQ_REVERSE_S(80, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_80(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_80(op, st, BOOST_PP_SEQ_REVERSE_S(81, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_81(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_81(op, st, BOOST_PP_SEQ_REVERSE_S(82, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_82(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_82(op, st, BOOST_PP_SEQ_REVERSE_S(83, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_83(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_83(op, st, BOOST_PP_SEQ_REVERSE_S(84, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_84(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_84(op, st, BOOST_PP_SEQ_REVERSE_S(85, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_85(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_85(op, st, BOOST_PP_SEQ_REVERSE_S(86, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_86(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_86(op, st, BOOST_PP_SEQ_REVERSE_S(87, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_87(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_87(op, st, BOOST_PP_SEQ_REVERSE_S(88, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_88(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_88(op, st, BOOST_PP_SEQ_REVERSE_S(89, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_89(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_89(op, st, BOOST_PP_SEQ_REVERSE_S(90, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_90(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_90(op, st, BOOST_PP_SEQ_REVERSE_S(91, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_91(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_91(op, st, BOOST_PP_SEQ_REVERSE_S(92, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_92(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_92(op, st, BOOST_PP_SEQ_REVERSE_S(93, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_93(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_93(op, st, BOOST_PP_SEQ_REVERSE_S(94, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_94(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_94(op, st, BOOST_PP_SEQ_REVERSE_S(95, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_95(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_95(op, st, BOOST_PP_SEQ_REVERSE_S(96, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_96(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_96(op, st, BOOST_PP_SEQ_REVERSE_S(97, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_97(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_97(op, st, BOOST_PP_SEQ_REVERSE_S(98, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_98(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_98(op, st, BOOST_PP_SEQ_REVERSE_S(99, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_99(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_99(op, st, BOOST_PP_SEQ_REVERSE_S(100, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_100(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_100(op, st, BOOST_PP_SEQ_REVERSE_S(101, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_101(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_101(op, st, BOOST_PP_SEQ_REVERSE_S(102, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_102(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_102(op, st, BOOST_PP_SEQ_REVERSE_S(103, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_103(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_103(op, st, BOOST_PP_SEQ_REVERSE_S(104, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_104(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_104(op, st, BOOST_PP_SEQ_REVERSE_S(105, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_105(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_105(op, st, BOOST_PP_SEQ_REVERSE_S(106, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_106(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_106(op, st, BOOST_PP_SEQ_REVERSE_S(107, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_107(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_107(op, st, BOOST_PP_SEQ_REVERSE_S(108, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_108(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_108(op, st, BOOST_PP_SEQ_REVERSE_S(109, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_109(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_109(op, st, BOOST_PP_SEQ_REVERSE_S(110, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_110(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_110(op, st, BOOST_PP_SEQ_REVERSE_S(111, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_111(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_111(op, st, BOOST_PP_SEQ_REVERSE_S(112, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_112(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_112(op, st, BOOST_PP_SEQ_REVERSE_S(113, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_113(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_113(op, st, BOOST_PP_SEQ_REVERSE_S(114, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_114(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_114(op, st, BOOST_PP_SEQ_REVERSE_S(115, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_115(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_115(op, st, BOOST_PP_SEQ_REVERSE_S(116, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_116(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_116(op, st, BOOST_PP_SEQ_REVERSE_S(117, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_117(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_117(op, st, BOOST_PP_SEQ_REVERSE_S(118, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_118(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_118(op, st, BOOST_PP_SEQ_REVERSE_S(119, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_119(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_119(op, st, BOOST_PP_SEQ_REVERSE_S(120, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_120(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_120(op, st, BOOST_PP_SEQ_REVERSE_S(121, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_121(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_121(op, st, BOOST_PP_SEQ_REVERSE_S(122, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_122(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_122(op, st, BOOST_PP_SEQ_REVERSE_S(123, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_123(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_123(op, st, BOOST_PP_SEQ_REVERSE_S(124, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_124(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_124(op, st, BOOST_PP_SEQ_REVERSE_S(125, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_125(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_125(op, st, BOOST_PP_SEQ_REVERSE_S(126, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_126(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_126(op, st, BOOST_PP_SEQ_REVERSE_S(127, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_127(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_127(op, st, BOOST_PP_SEQ_REVERSE_S(128, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_128(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_128(op, st, BOOST_PP_SEQ_REVERSE_S(129, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_129(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_129(op, st, BOOST_PP_SEQ_REVERSE_S(130, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_130(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_130(op, st, BOOST_PP_SEQ_REVERSE_S(131, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_131(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_131(op, st, BOOST_PP_SEQ_REVERSE_S(132, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_132(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_132(op, st, BOOST_PP_SEQ_REVERSE_S(133, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_133(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_133(op, st, BOOST_PP_SEQ_REVERSE_S(134, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_134(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_134(op, st, BOOST_PP_SEQ_REVERSE_S(135, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_135(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_135(op, st, BOOST_PP_SEQ_REVERSE_S(136, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_136(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_136(op, st, BOOST_PP_SEQ_REVERSE_S(137, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_137(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_137(op, st, BOOST_PP_SEQ_REVERSE_S(138, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_138(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_138(op, st, BOOST_PP_SEQ_REVERSE_S(139, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_139(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_139(op, st, BOOST_PP_SEQ_REVERSE_S(140, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_140(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_140(op, st, BOOST_PP_SEQ_REVERSE_S(141, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_141(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_141(op, st, BOOST_PP_SEQ_REVERSE_S(142, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_142(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_142(op, st, BOOST_PP_SEQ_REVERSE_S(143, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_143(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_143(op, st, BOOST_PP_SEQ_REVERSE_S(144, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_144(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_144(op, st, BOOST_PP_SEQ_REVERSE_S(145, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_145(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_145(op, st, BOOST_PP_SEQ_REVERSE_S(146, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_146(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_146(op, st, BOOST_PP_SEQ_REVERSE_S(147, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_147(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_147(op, st, BOOST_PP_SEQ_REVERSE_S(148, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_148(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_148(op, st, BOOST_PP_SEQ_REVERSE_S(149, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_149(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_149(op, st, BOOST_PP_SEQ_REVERSE_S(150, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_150(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_150(op, st, BOOST_PP_SEQ_REVERSE_S(151, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_151(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_151(op, st, BOOST_PP_SEQ_REVERSE_S(152, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_152(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_152(op, st, BOOST_PP_SEQ_REVERSE_S(153, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_153(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_153(op, st, BOOST_PP_SEQ_REVERSE_S(154, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_154(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_154(op, st, BOOST_PP_SEQ_REVERSE_S(155, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_155(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_155(op, st, BOOST_PP_SEQ_REVERSE_S(156, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_156(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_156(op, st, BOOST_PP_SEQ_REVERSE_S(157, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_157(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_157(op, st, BOOST_PP_SEQ_REVERSE_S(158, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_158(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_158(op, st, BOOST_PP_SEQ_REVERSE_S(159, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_159(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_159(op, st, BOOST_PP_SEQ_REVERSE_S(160, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_160(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_160(op, st, BOOST_PP_SEQ_REVERSE_S(161, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_161(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_161(op, st, BOOST_PP_SEQ_REVERSE_S(162, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_162(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_162(op, st, BOOST_PP_SEQ_REVERSE_S(163, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_163(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_163(op, st, BOOST_PP_SEQ_REVERSE_S(164, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_164(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_164(op, st, BOOST_PP_SEQ_REVERSE_S(165, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_165(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_165(op, st, BOOST_PP_SEQ_REVERSE_S(166, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_166(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_166(op, st, BOOST_PP_SEQ_REVERSE_S(167, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_167(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_167(op, st, BOOST_PP_SEQ_REVERSE_S(168, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_168(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_168(op, st, BOOST_PP_SEQ_REVERSE_S(169, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_169(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_169(op, st, BOOST_PP_SEQ_REVERSE_S(170, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_170(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_170(op, st, BOOST_PP_SEQ_REVERSE_S(171, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_171(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_171(op, st, BOOST_PP_SEQ_REVERSE_S(172, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_172(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_172(op, st, BOOST_PP_SEQ_REVERSE_S(173, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_173(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_173(op, st, BOOST_PP_SEQ_REVERSE_S(174, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_174(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_174(op, st, BOOST_PP_SEQ_REVERSE_S(175, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_175(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_175(op, st, BOOST_PP_SEQ_REVERSE_S(176, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_176(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_176(op, st, BOOST_PP_SEQ_REVERSE_S(177, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_177(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_177(op, st, BOOST_PP_SEQ_REVERSE_S(178, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_178(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_178(op, st, BOOST_PP_SEQ_REVERSE_S(179, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_179(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_179(op, st, BOOST_PP_SEQ_REVERSE_S(180, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_180(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_180(op, st, BOOST_PP_SEQ_REVERSE_S(181, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_181(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_181(op, st, BOOST_PP_SEQ_REVERSE_S(182, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_182(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_182(op, st, BOOST_PP_SEQ_REVERSE_S(183, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_183(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_183(op, st, BOOST_PP_SEQ_REVERSE_S(184, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_184(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_184(op, st, BOOST_PP_SEQ_REVERSE_S(185, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_185(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_185(op, st, BOOST_PP_SEQ_REVERSE_S(186, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_186(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_186(op, st, BOOST_PP_SEQ_REVERSE_S(187, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_187(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_187(op, st, BOOST_PP_SEQ_REVERSE_S(188, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_188(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_188(op, st, BOOST_PP_SEQ_REVERSE_S(189, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_189(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_189(op, st, BOOST_PP_SEQ_REVERSE_S(190, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_190(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_190(op, st, BOOST_PP_SEQ_REVERSE_S(191, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_191(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_191(op, st, BOOST_PP_SEQ_REVERSE_S(192, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_192(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_192(op, st, BOOST_PP_SEQ_REVERSE_S(193, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_193(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_193(op, st, BOOST_PP_SEQ_REVERSE_S(194, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_194(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_194(op, st, BOOST_PP_SEQ_REVERSE_S(195, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_195(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_195(op, st, BOOST_PP_SEQ_REVERSE_S(196, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_196(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_196(op, st, BOOST_PP_SEQ_REVERSE_S(197, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_197(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_197(op, st, BOOST_PP_SEQ_REVERSE_S(198, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_198(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_198(op, st, BOOST_PP_SEQ_REVERSE_S(199, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_199(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_199(op, st, BOOST_PP_SEQ_REVERSE_S(200, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_200(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_200(op, st, BOOST_PP_SEQ_REVERSE_S(201, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_201(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_201(op, st, BOOST_PP_SEQ_REVERSE_S(202, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_202(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_202(op, st, BOOST_PP_SEQ_REVERSE_S(203, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_203(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_203(op, st, BOOST_PP_SEQ_REVERSE_S(204, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_204(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_204(op, st, BOOST_PP_SEQ_REVERSE_S(205, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_205(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_205(op, st, BOOST_PP_SEQ_REVERSE_S(206, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_206(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_206(op, st, BOOST_PP_SEQ_REVERSE_S(207, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_207(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_207(op, st, BOOST_PP_SEQ_REVERSE_S(208, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_208(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_208(op, st, BOOST_PP_SEQ_REVERSE_S(209, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_209(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_209(op, st, BOOST_PP_SEQ_REVERSE_S(210, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_210(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_210(op, st, BOOST_PP_SEQ_REVERSE_S(211, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_211(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_211(op, st, BOOST_PP_SEQ_REVERSE_S(212, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_212(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_212(op, st, BOOST_PP_SEQ_REVERSE_S(213, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_213(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_213(op, st, BOOST_PP_SEQ_REVERSE_S(214, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_214(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_214(op, st, BOOST_PP_SEQ_REVERSE_S(215, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_215(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_215(op, st, BOOST_PP_SEQ_REVERSE_S(216, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_216(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_216(op, st, BOOST_PP_SEQ_REVERSE_S(217, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_217(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_217(op, st, BOOST_PP_SEQ_REVERSE_S(218, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_218(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_218(op, st, BOOST_PP_SEQ_REVERSE_S(219, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_219(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_219(op, st, BOOST_PP_SEQ_REVERSE_S(220, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_220(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_220(op, st, BOOST_PP_SEQ_REVERSE_S(221, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_221(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_221(op, st, BOOST_PP_SEQ_REVERSE_S(222, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_222(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_222(op, st, BOOST_PP_SEQ_REVERSE_S(223, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_223(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_223(op, st, BOOST_PP_SEQ_REVERSE_S(224, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_224(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_224(op, st, BOOST_PP_SEQ_REVERSE_S(225, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_225(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_225(op, st, BOOST_PP_SEQ_REVERSE_S(226, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_226(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_226(op, st, BOOST_PP_SEQ_REVERSE_S(227, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_227(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_227(op, st, BOOST_PP_SEQ_REVERSE_S(228, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_228(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_228(op, st, BOOST_PP_SEQ_REVERSE_S(229, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_229(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_229(op, st, BOOST_PP_SEQ_REVERSE_S(230, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_230(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_230(op, st, BOOST_PP_SEQ_REVERSE_S(231, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_231(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_231(op, st, BOOST_PP_SEQ_REVERSE_S(232, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_232(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_232(op, st, BOOST_PP_SEQ_REVERSE_S(233, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_233(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_233(op, st, BOOST_PP_SEQ_REVERSE_S(234, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_234(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_234(op, st, BOOST_PP_SEQ_REVERSE_S(235, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_235(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_235(op, st, BOOST_PP_SEQ_REVERSE_S(236, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_236(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_236(op, st, BOOST_PP_SEQ_REVERSE_S(237, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_237(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_237(op, st, BOOST_PP_SEQ_REVERSE_S(238, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_238(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_238(op, st, BOOST_PP_SEQ_REVERSE_S(239, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_239(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_239(op, st, BOOST_PP_SEQ_REVERSE_S(240, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_240(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_240(op, st, BOOST_PP_SEQ_REVERSE_S(241, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_241(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_241(op, st, BOOST_PP_SEQ_REVERSE_S(242, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_242(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_242(op, st, BOOST_PP_SEQ_REVERSE_S(243, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_243(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_243(op, st, BOOST_PP_SEQ_REVERSE_S(244, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_244(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_244(op, st, BOOST_PP_SEQ_REVERSE_S(245, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_245(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_245(op, st, BOOST_PP_SEQ_REVERSE_S(246, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_246(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_246(op, st, BOOST_PP_SEQ_REVERSE_S(247, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_247(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_247(op, st, BOOST_PP_SEQ_REVERSE_S(248, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_248(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_248(op, st, BOOST_PP_SEQ_REVERSE_S(249, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_249(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_249(op, st, BOOST_PP_SEQ_REVERSE_S(250, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_250(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_250(op, st, BOOST_PP_SEQ_REVERSE_S(251, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_251(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_251(op, st, BOOST_PP_SEQ_REVERSE_S(252, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_252(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_252(op, st, BOOST_PP_SEQ_REVERSE_S(253, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_253(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_253(op, st, BOOST_PP_SEQ_REVERSE_S(254, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_254(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_254(op, st, BOOST_PP_SEQ_REVERSE_S(255, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_255(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_255(op, st, BOOST_PP_SEQ_REVERSE_S(256, ss), BOOST_PP_SEQ_SIZE(ss)) +# define BOOST_PP_SEQ_FOLD_RIGHT_256(op, st, ss) BOOST_PP_SEQ_FOLD_LEFT_I_256(op, st, BOOST_PP_SEQ_REVERSE_S(257, ss), BOOST_PP_SEQ_SIZE(ss)) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each.hpp new file mode 100644 index 0000000..3cb7474 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each.hpp @@ -0,0 +1,60 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP +# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_HPP +# +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_FOR_EACH */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M) +# else +# define BOOST_PP_SEQ_FOR_EACH(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) +# define BOOST_PP_SEQ_FOR_EACH_D(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(3, 2, x))) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I x +# else +# define BOOST_PP_SEQ_FOR_EACH_O(r, x) BOOST_PP_SEQ_FOR_EACH_O_I(BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x)) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_O_I(macro, data, seq) (macro, data, BOOST_PP_SEQ_TAIL(seq)) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_IM(r, BOOST_PP_TUPLE_REM_3 x) +# define BOOST_PP_SEQ_FOR_EACH_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_M_I(r, im) +# else +# define BOOST_PP_SEQ_FOR_EACH_M(r, x) BOOST_PP_SEQ_FOR_EACH_M_I(r, BOOST_PP_TUPLE_ELEM(3, 0, x), BOOST_PP_TUPLE_ELEM(3, 1, x), BOOST_PP_TUPLE_ELEM(3, 2, x)) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_M_I(r, macro, data, seq) macro(r, data, BOOST_PP_SEQ_HEAD(seq)) +# +# /* BOOST_PP_SEQ_FOR_EACH_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M) +# else +# define BOOST_PP_SEQ_FOR_EACH_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) +# define BOOST_PP_SEQ_FOR_EACH_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil)), BOOST_PP_SEQ_FOR_EACH_P, BOOST_PP_SEQ_FOR_EACH_O, BOOST_PP_SEQ_FOR_EACH_M) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_i.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_i.hpp new file mode 100644 index 0000000..023645f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_i.hpp @@ -0,0 +1,61 @@ +# /* ************************************************************************** +# * * +# * (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 +# +# /* BOOST_PP_SEQ_FOR_EACH_I */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M) +# else +# define BOOST_PP_SEQ_FOR_EACH_I(macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) +# define BOOST_PP_SEQ_FOR_EACH_I_I(macro, data, seq) BOOST_PP_FOR((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_I_P(r, x) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 2, x))) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I x +# else +# define BOOST_PP_SEQ_FOR_EACH_I_O(r, x) BOOST_PP_SEQ_FOR_EACH_I_O_I(BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x)) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_I_O_I(macro, data, seq, i) (macro, data, BOOST_PP_SEQ_TAIL(seq), BOOST_PP_INC(i)) +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, BOOST_PP_TUPLE_REM_4 x) +# define BOOST_PP_SEQ_FOR_EACH_I_M_IM(r, im) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, im) +# else +# define BOOST_PP_SEQ_FOR_EACH_I_M(r, x) BOOST_PP_SEQ_FOR_EACH_I_M_I(r, BOOST_PP_TUPLE_ELEM(4, 0, x), BOOST_PP_TUPLE_ELEM(4, 1, x), BOOST_PP_TUPLE_ELEM(4, 2, x), BOOST_PP_TUPLE_ELEM(4, 3, x)) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_I_M_I(r, macro, data, seq, i) macro(r, data, i, BOOST_PP_SEQ_HEAD(seq)) +# +# /* BOOST_PP_SEQ_FOR_EACH_I_R */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M) +# else +# define BOOST_PP_SEQ_FOR_EACH_I_R(r, macro, data, seq) BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) +# define BOOST_PP_SEQ_FOR_EACH_I_R_I(r, macro, data, seq) BOOST_PP_FOR_ ## r((macro, data, seq (nil), 0), BOOST_PP_SEQ_FOR_EACH_I_P, BOOST_PP_SEQ_FOR_EACH_I_O, BOOST_PP_SEQ_FOR_EACH_I_M) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_product.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_product.hpp new file mode 100644 index 0000000..95f7415 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/for_each_product.hpp @@ -0,0 +1,126 @@ +# /* ************************************************************************** +# * * +# * (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_PRODUCT_HPP +# define BOOST_PREPROCESSOR_SEQ_FOR_EACH_PRODUCT_HPP +# +# include +# include +# include +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_FOR_EACH_PRODUCT */ +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT(macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(BOOST_PP_FOR, macro, sets) +# +# /* BOOST_PP_SEQ_FOR_EACH_PRODUCT_R */ +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_R(r, macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(BOOST_PP_FOR_ ## r, macro, sets) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(impl, macro, sets) impl((BOOST_PP_SEQ_HEAD(sets)(nil), BOOST_PP_SEQ_TAIL(sets)(nil), (nil), macro), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0) +# else +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E(impl, macro, sets) BOOST_PP_SEQ_FOR_EACH_PRODUCT_E_I(impl, macro, sets) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_E_I(impl, macro, sets) impl((BOOST_PP_SEQ_HEAD(sets)(nil), BOOST_PP_SEQ_TAIL(sets)(nil), (nil), macro), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0) +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT() +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_P_I data +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P_I(cset, rset, res, macro) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(cset)) +# else +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_P(r, data) BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 0, data))) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_O_I data +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O_I(cset, rset, res, macro) (BOOST_PP_SEQ_TAIL(cset), rset, res, macro) +# else +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_O(r, data) (BOOST_PP_SEQ_TAIL(BOOST_PP_TUPLE_ELEM(4, 0, data)), BOOST_PP_TUPLE_ELEM(4, 1, data), BOOST_PP_TUPLE_ELEM(4, 2, data), BOOST_PP_TUPLE_ELEM(4, 3, data)) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, i) BOOST_PP_IF(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(4, 1, data))), BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_ ## i, BOOST_PP_SEQ_FOR_EACH_PRODUCT_I) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 1, data), BOOST_PP_TUPLE_ELEM(4, 2, data), BOOST_PP_TUPLE_ELEM(4, 3, data)) +# else +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_IM(r, BOOST_PP_TUPLE_REM_4 data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_IM(r, im) BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, im) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_I_I(r, cset, rset, res, macro) macro(r, BOOST_PP_SEQ_TAIL(res (BOOST_PP_SEQ_HEAD(cset)))) +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I data +# else +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I(BOOST_PP_TUPLE_ELEM(4, 0, data), BOOST_PP_TUPLE_ELEM(4, 1, data), BOOST_PP_TUPLE_ELEM(4, 2, data), BOOST_PP_TUPLE_ELEM(4, 3, data)) +# endif +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_H_I(cset, rset, res, macro) (BOOST_PP_SEQ_HEAD(rset)(nil), BOOST_PP_SEQ_TAIL(rset), res (BOOST_PP_SEQ_HEAD(cset)), macro) +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_0(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 0)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_1(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 1)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_2(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 2)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_3(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 3)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_4(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 4)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_5(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 5)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_6(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 6)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_7(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 7)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_8(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 8)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_9(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 9)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_10(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 10)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_11(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 11)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_12(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 12)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_13(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 13)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_14(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 14)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_15(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 15)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_16(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 16)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_17(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 17)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_18(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 18)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_19(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 19)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_20(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 20)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_21(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 21)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_22(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 22)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_23(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 23)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_24(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 24)(r, data) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_25(r, data) BOOST_PP_SEQ_FOR_EACH_PRODUCT_C(data, 25)(r, data) +# +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_0(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_1) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_1(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_2) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_2(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_3) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_3(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_4) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_4(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_5) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_5(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_6) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_6(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_7) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_7(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_8) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_8(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_9) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_9(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_10) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_10(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_11) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_11(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_12) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_12(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_13) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_13(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_14) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_14(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_15) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_15(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_16) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_16(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_17) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_17(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_18) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_18(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_19) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_19(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_20) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_20(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_21) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_21(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_22) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_22(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_23) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_23(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_24) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_24(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_25) +# define BOOST_PP_SEQ_FOR_EACH_PRODUCT_N_25(r, data) BOOST_PP_FOR_ ## r(BOOST_PP_SEQ_FOR_EACH_PRODUCT_H(data), BOOST_PP_SEQ_FOR_EACH_PRODUCT_P, BOOST_PP_SEQ_FOR_EACH_PRODUCT_O, BOOST_PP_SEQ_FOR_EACH_PRODUCT_M_26) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/insert.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/insert.hpp new file mode 100644 index 0000000..2889a15 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/insert.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (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_INSERT_HPP +# define BOOST_PREPROCESSOR_SEQ_INSERT_HPP +# +# include +# include +# include +# +# /* BOOST_PP_SEQ_INSERT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_INSERT(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(i, seq) +# else +# define BOOST_PP_SEQ_INSERT(seq, i, elem) BOOST_PP_SEQ_INSERT_I(seq, i, elem) +# define BOOST_PP_SEQ_INSERT_I(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(i, seq) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_back.hpp new file mode 100644 index 0000000..2014ea5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_back.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (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_POP_BACK_HPP +# define BOOST_PREPROCESSOR_SEQ_POP_BACK_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_POP_BACK */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_POP_BACK(seq) BOOST_PP_SEQ_FIRST_N(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), seq) +# else +# define BOOST_PP_SEQ_POP_BACK(seq) BOOST_PP_SEQ_POP_BACK_I(seq) +# define BOOST_PP_SEQ_POP_BACK_I(seq) BOOST_PP_SEQ_FIRST_N(BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), seq) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_front.hpp new file mode 100644 index 0000000..f2ab4d9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/pop_front.hpp @@ -0,0 +1,27 @@ +# /* ************************************************************************** +# * * +# * (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_POP_FRONT_HPP +# define BOOST_PREPROCESSOR_SEQ_POP_FRONT_HPP +# +# include +# include +# +# /* BOOST_PP_SEQ_POP_FRONT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_POP_FRONT(seq) BOOST_PP_SEQ_TAIL(seq) +# else +# define BOOST_PP_SEQ_POP_FRONT(seq) BOOST_PP_SEQ_POP_FRONT_I(seq) +# define BOOST_PP_SEQ_POP_FRONT_I(seq) BOOST_PP_SEQ_TAIL(seq) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_back.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_back.hpp new file mode 100644 index 0000000..28f1e42 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_back.hpp @@ -0,0 +1,19 @@ +# /* ************************************************************************** +# * * +# * (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_PUSH_BACK_HPP +# define BOOST_PREPROCESSOR_SEQ_PUSH_BACK_HPP +# +# /* BOOST_PP_SEQ_PUSH_BACK */ +# +# define BOOST_PP_SEQ_PUSH_BACK(seq, elem) seq(elem) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_front.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_front.hpp new file mode 100644 index 0000000..d5ee994 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/push_front.hpp @@ -0,0 +1,19 @@ +# /* ************************************************************************** +# * * +# * (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_PUSH_FRONT_HPP +# define BOOST_PREPROCESSOR_SEQ_PUSH_FRONT_HPP +# +# /* BOOST_PP_SEQ_PUSH_FRONT */ +# +# define BOOST_PP_SEQ_PUSH_FRONT(seq, elem) (elem)seq +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/remove.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/remove.hpp new file mode 100644 index 0000000..64fabe0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/remove.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (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_REMOVE_HPP +# define BOOST_PREPROCESSOR_SEQ_REMOVE_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_REMOVE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_REMOVE(seq, i) BOOST_PP_SEQ_FIRST_N(i, seq) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq) +# else +# define BOOST_PP_SEQ_REMOVE(seq, i) BOOST_PP_SEQ_REMOVE_I(seq, i) +# define BOOST_PP_SEQ_REMOVE_I(seq, i) BOOST_PP_SEQ_FIRST_N(i, seq) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/replace.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/replace.hpp new file mode 100644 index 0000000..70f484f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/replace.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (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_REPLACE_HPP +# define BOOST_PREPROCESSOR_SEQ_REPLACE_HPP +# +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_REPLACE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_REPLACE(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq) +# else +# define BOOST_PP_SEQ_REPLACE(seq, i, elem) BOOST_PP_SEQ_REPLACE_I(seq, i, elem) +# define BOOST_PP_SEQ_REPLACE_I(seq, i, elem) BOOST_PP_SEQ_FIRST_N(i, seq) (elem) BOOST_PP_SEQ_REST_N(BOOST_PP_INC(i), seq) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/rest_n.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/rest_n.hpp new file mode 100644 index 0000000..291749a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/rest_n.hpp @@ -0,0 +1,30 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_REST_N_HPP +# define BOOST_PREPROCESSOR_SEQ_REST_N_HPP +# +# include +# include +# include +# include +# include +# +# /* BOOST_PP_SEQ_REST_N */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))() +# else +# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq) +# define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))() +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/reverse.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/reverse.hpp new file mode 100644 index 0000000..48cada0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/reverse.hpp @@ -0,0 +1,39 @@ +# /* ************************************************************************** +# * * +# * (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_REVERSE_HPP +# define BOOST_PREPROCESSOR_SEQ_REVERSE_HPP +# +# include +# include +# include +# +# /* BOOST_PP_SEQ_REVERSE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() +# else +# define BOOST_PP_SEQ_REVERSE(seq) BOOST_PP_SEQ_REVERSE_I(seq) +# define BOOST_PP_SEQ_REVERSE_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() +# endif +# +# define BOOST_PP_SEQ_REVERSE_O(s, state, elem) (elem) state +# +# /* BOOST_PP_SEQ_REVERSE_S */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() +# else +# define BOOST_PP_SEQ_REVERSE_S(s, seq) BOOST_PP_SEQ_REVERSE_S_I(s, seq) +# define BOOST_PP_SEQ_REVERSE_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_REVERSE_O, BOOST_PP_EMPTY, seq)() +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/seq.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/seq.hpp new file mode 100644 index 0000000..1ae331d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/seq.hpp @@ -0,0 +1,44 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_SEQ_HPP +# define BOOST_PREPROCESSOR_SEQ_SEQ_HPP +# +# include +# include +# +# /* BOOST_PP_SEQ_HEAD */ +# +# define BOOST_PP_SEQ_HEAD(seq) BOOST_PP_SEQ_ELEM(0, seq) +# +# /* BOOST_PP_SEQ_TAIL */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_1((seq)) +# define BOOST_PP_SEQ_TAIL_1(par) BOOST_PP_SEQ_TAIL_2 ## par +# define BOOST_PP_SEQ_TAIL_2(seq) BOOST_PP_SEQ_TAIL_I ## seq +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_ID(BOOST_PP_SEQ_TAIL_I seq) +# define BOOST_PP_SEQ_TAIL_ID(id) id +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_D(seq) +# define BOOST_PP_SEQ_TAIL_D(seq) BOOST_PP_SEQ_TAIL_I seq +# else +# define BOOST_PP_SEQ_TAIL(seq) BOOST_PP_SEQ_TAIL_I seq +# endif +# +# define BOOST_PP_SEQ_TAIL_I(x) +# +# /* BOOST_PP_SEQ_NIL */ +# +# define BOOST_PP_SEQ_NIL(x) (x) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/size.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/size.hpp new file mode 100644 index 0000000..f2141af --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/size.hpp @@ -0,0 +1,548 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_SIZE_HPP +# define BOOST_PREPROCESSOR_SEQ_SIZE_HPP +# +# include +# include +# include +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq)) +# define BOOST_PP_SEQ_SIZE_I(par) BOOST_PP_SEQ_SIZE_II ## par +# define BOOST_PP_SEQ_SIZE_II(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 ## seq) +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() || BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I(seq) +# define BOOST_PP_SEQ_SIZE_I(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq) +# elif defined(__IBMC__) || defined(__IBMCPP__) +# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_0, seq)) +# else +# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_CAT(BOOST_PP_SEQ_SIZE_, BOOST_PP_SEQ_SIZE_0 seq) +# endif +# +# define BOOST_PP_SEQ_SIZE_0(_) BOOST_PP_SEQ_SIZE_1 +# define BOOST_PP_SEQ_SIZE_1(_) BOOST_PP_SEQ_SIZE_2 +# define BOOST_PP_SEQ_SIZE_2(_) BOOST_PP_SEQ_SIZE_3 +# define BOOST_PP_SEQ_SIZE_3(_) BOOST_PP_SEQ_SIZE_4 +# define BOOST_PP_SEQ_SIZE_4(_) BOOST_PP_SEQ_SIZE_5 +# define BOOST_PP_SEQ_SIZE_5(_) BOOST_PP_SEQ_SIZE_6 +# define BOOST_PP_SEQ_SIZE_6(_) BOOST_PP_SEQ_SIZE_7 +# define BOOST_PP_SEQ_SIZE_7(_) BOOST_PP_SEQ_SIZE_8 +# define BOOST_PP_SEQ_SIZE_8(_) BOOST_PP_SEQ_SIZE_9 +# define BOOST_PP_SEQ_SIZE_9(_) BOOST_PP_SEQ_SIZE_10 +# define BOOST_PP_SEQ_SIZE_10(_) BOOST_PP_SEQ_SIZE_11 +# define BOOST_PP_SEQ_SIZE_11(_) BOOST_PP_SEQ_SIZE_12 +# define BOOST_PP_SEQ_SIZE_12(_) BOOST_PP_SEQ_SIZE_13 +# define BOOST_PP_SEQ_SIZE_13(_) BOOST_PP_SEQ_SIZE_14 +# define BOOST_PP_SEQ_SIZE_14(_) BOOST_PP_SEQ_SIZE_15 +# define BOOST_PP_SEQ_SIZE_15(_) BOOST_PP_SEQ_SIZE_16 +# define BOOST_PP_SEQ_SIZE_16(_) BOOST_PP_SEQ_SIZE_17 +# define BOOST_PP_SEQ_SIZE_17(_) BOOST_PP_SEQ_SIZE_18 +# define BOOST_PP_SEQ_SIZE_18(_) BOOST_PP_SEQ_SIZE_19 +# define BOOST_PP_SEQ_SIZE_19(_) BOOST_PP_SEQ_SIZE_20 +# define BOOST_PP_SEQ_SIZE_20(_) BOOST_PP_SEQ_SIZE_21 +# define BOOST_PP_SEQ_SIZE_21(_) BOOST_PP_SEQ_SIZE_22 +# define BOOST_PP_SEQ_SIZE_22(_) BOOST_PP_SEQ_SIZE_23 +# define BOOST_PP_SEQ_SIZE_23(_) BOOST_PP_SEQ_SIZE_24 +# define BOOST_PP_SEQ_SIZE_24(_) BOOST_PP_SEQ_SIZE_25 +# define BOOST_PP_SEQ_SIZE_25(_) BOOST_PP_SEQ_SIZE_26 +# define BOOST_PP_SEQ_SIZE_26(_) BOOST_PP_SEQ_SIZE_27 +# define BOOST_PP_SEQ_SIZE_27(_) BOOST_PP_SEQ_SIZE_28 +# define BOOST_PP_SEQ_SIZE_28(_) BOOST_PP_SEQ_SIZE_29 +# define BOOST_PP_SEQ_SIZE_29(_) BOOST_PP_SEQ_SIZE_30 +# define BOOST_PP_SEQ_SIZE_30(_) BOOST_PP_SEQ_SIZE_31 +# define BOOST_PP_SEQ_SIZE_31(_) BOOST_PP_SEQ_SIZE_32 +# define BOOST_PP_SEQ_SIZE_32(_) BOOST_PP_SEQ_SIZE_33 +# define BOOST_PP_SEQ_SIZE_33(_) BOOST_PP_SEQ_SIZE_34 +# define BOOST_PP_SEQ_SIZE_34(_) BOOST_PP_SEQ_SIZE_35 +# define BOOST_PP_SEQ_SIZE_35(_) BOOST_PP_SEQ_SIZE_36 +# define BOOST_PP_SEQ_SIZE_36(_) BOOST_PP_SEQ_SIZE_37 +# define BOOST_PP_SEQ_SIZE_37(_) BOOST_PP_SEQ_SIZE_38 +# define BOOST_PP_SEQ_SIZE_38(_) BOOST_PP_SEQ_SIZE_39 +# define BOOST_PP_SEQ_SIZE_39(_) BOOST_PP_SEQ_SIZE_40 +# define BOOST_PP_SEQ_SIZE_40(_) BOOST_PP_SEQ_SIZE_41 +# define BOOST_PP_SEQ_SIZE_41(_) BOOST_PP_SEQ_SIZE_42 +# define BOOST_PP_SEQ_SIZE_42(_) BOOST_PP_SEQ_SIZE_43 +# define BOOST_PP_SEQ_SIZE_43(_) BOOST_PP_SEQ_SIZE_44 +# define BOOST_PP_SEQ_SIZE_44(_) BOOST_PP_SEQ_SIZE_45 +# define BOOST_PP_SEQ_SIZE_45(_) BOOST_PP_SEQ_SIZE_46 +# define BOOST_PP_SEQ_SIZE_46(_) BOOST_PP_SEQ_SIZE_47 +# define BOOST_PP_SEQ_SIZE_47(_) BOOST_PP_SEQ_SIZE_48 +# define BOOST_PP_SEQ_SIZE_48(_) BOOST_PP_SEQ_SIZE_49 +# define BOOST_PP_SEQ_SIZE_49(_) BOOST_PP_SEQ_SIZE_50 +# define BOOST_PP_SEQ_SIZE_50(_) BOOST_PP_SEQ_SIZE_51 +# define BOOST_PP_SEQ_SIZE_51(_) BOOST_PP_SEQ_SIZE_52 +# define BOOST_PP_SEQ_SIZE_52(_) BOOST_PP_SEQ_SIZE_53 +# define BOOST_PP_SEQ_SIZE_53(_) BOOST_PP_SEQ_SIZE_54 +# define BOOST_PP_SEQ_SIZE_54(_) BOOST_PP_SEQ_SIZE_55 +# define BOOST_PP_SEQ_SIZE_55(_) BOOST_PP_SEQ_SIZE_56 +# define BOOST_PP_SEQ_SIZE_56(_) BOOST_PP_SEQ_SIZE_57 +# define BOOST_PP_SEQ_SIZE_57(_) BOOST_PP_SEQ_SIZE_58 +# define BOOST_PP_SEQ_SIZE_58(_) BOOST_PP_SEQ_SIZE_59 +# define BOOST_PP_SEQ_SIZE_59(_) BOOST_PP_SEQ_SIZE_60 +# define BOOST_PP_SEQ_SIZE_60(_) BOOST_PP_SEQ_SIZE_61 +# define BOOST_PP_SEQ_SIZE_61(_) BOOST_PP_SEQ_SIZE_62 +# define BOOST_PP_SEQ_SIZE_62(_) BOOST_PP_SEQ_SIZE_63 +# define BOOST_PP_SEQ_SIZE_63(_) BOOST_PP_SEQ_SIZE_64 +# define BOOST_PP_SEQ_SIZE_64(_) BOOST_PP_SEQ_SIZE_65 +# define BOOST_PP_SEQ_SIZE_65(_) BOOST_PP_SEQ_SIZE_66 +# define BOOST_PP_SEQ_SIZE_66(_) BOOST_PP_SEQ_SIZE_67 +# define BOOST_PP_SEQ_SIZE_67(_) BOOST_PP_SEQ_SIZE_68 +# define BOOST_PP_SEQ_SIZE_68(_) BOOST_PP_SEQ_SIZE_69 +# define BOOST_PP_SEQ_SIZE_69(_) BOOST_PP_SEQ_SIZE_70 +# define BOOST_PP_SEQ_SIZE_70(_) BOOST_PP_SEQ_SIZE_71 +# define BOOST_PP_SEQ_SIZE_71(_) BOOST_PP_SEQ_SIZE_72 +# define BOOST_PP_SEQ_SIZE_72(_) BOOST_PP_SEQ_SIZE_73 +# define BOOST_PP_SEQ_SIZE_73(_) BOOST_PP_SEQ_SIZE_74 +# define BOOST_PP_SEQ_SIZE_74(_) BOOST_PP_SEQ_SIZE_75 +# define BOOST_PP_SEQ_SIZE_75(_) BOOST_PP_SEQ_SIZE_76 +# define BOOST_PP_SEQ_SIZE_76(_) BOOST_PP_SEQ_SIZE_77 +# define BOOST_PP_SEQ_SIZE_77(_) BOOST_PP_SEQ_SIZE_78 +# define BOOST_PP_SEQ_SIZE_78(_) BOOST_PP_SEQ_SIZE_79 +# define BOOST_PP_SEQ_SIZE_79(_) BOOST_PP_SEQ_SIZE_80 +# define BOOST_PP_SEQ_SIZE_80(_) BOOST_PP_SEQ_SIZE_81 +# define BOOST_PP_SEQ_SIZE_81(_) BOOST_PP_SEQ_SIZE_82 +# define BOOST_PP_SEQ_SIZE_82(_) BOOST_PP_SEQ_SIZE_83 +# define BOOST_PP_SEQ_SIZE_83(_) BOOST_PP_SEQ_SIZE_84 +# define BOOST_PP_SEQ_SIZE_84(_) BOOST_PP_SEQ_SIZE_85 +# define BOOST_PP_SEQ_SIZE_85(_) BOOST_PP_SEQ_SIZE_86 +# define BOOST_PP_SEQ_SIZE_86(_) BOOST_PP_SEQ_SIZE_87 +# define BOOST_PP_SEQ_SIZE_87(_) BOOST_PP_SEQ_SIZE_88 +# define BOOST_PP_SEQ_SIZE_88(_) BOOST_PP_SEQ_SIZE_89 +# define BOOST_PP_SEQ_SIZE_89(_) BOOST_PP_SEQ_SIZE_90 +# define BOOST_PP_SEQ_SIZE_90(_) BOOST_PP_SEQ_SIZE_91 +# define BOOST_PP_SEQ_SIZE_91(_) BOOST_PP_SEQ_SIZE_92 +# define BOOST_PP_SEQ_SIZE_92(_) BOOST_PP_SEQ_SIZE_93 +# define BOOST_PP_SEQ_SIZE_93(_) BOOST_PP_SEQ_SIZE_94 +# define BOOST_PP_SEQ_SIZE_94(_) BOOST_PP_SEQ_SIZE_95 +# define BOOST_PP_SEQ_SIZE_95(_) BOOST_PP_SEQ_SIZE_96 +# define BOOST_PP_SEQ_SIZE_96(_) BOOST_PP_SEQ_SIZE_97 +# define BOOST_PP_SEQ_SIZE_97(_) BOOST_PP_SEQ_SIZE_98 +# define BOOST_PP_SEQ_SIZE_98(_) BOOST_PP_SEQ_SIZE_99 +# define BOOST_PP_SEQ_SIZE_99(_) BOOST_PP_SEQ_SIZE_100 +# define BOOST_PP_SEQ_SIZE_100(_) BOOST_PP_SEQ_SIZE_101 +# define BOOST_PP_SEQ_SIZE_101(_) BOOST_PP_SEQ_SIZE_102 +# define BOOST_PP_SEQ_SIZE_102(_) BOOST_PP_SEQ_SIZE_103 +# define BOOST_PP_SEQ_SIZE_103(_) BOOST_PP_SEQ_SIZE_104 +# define BOOST_PP_SEQ_SIZE_104(_) BOOST_PP_SEQ_SIZE_105 +# define BOOST_PP_SEQ_SIZE_105(_) BOOST_PP_SEQ_SIZE_106 +# define BOOST_PP_SEQ_SIZE_106(_) BOOST_PP_SEQ_SIZE_107 +# define BOOST_PP_SEQ_SIZE_107(_) BOOST_PP_SEQ_SIZE_108 +# define BOOST_PP_SEQ_SIZE_108(_) BOOST_PP_SEQ_SIZE_109 +# define BOOST_PP_SEQ_SIZE_109(_) BOOST_PP_SEQ_SIZE_110 +# define BOOST_PP_SEQ_SIZE_110(_) BOOST_PP_SEQ_SIZE_111 +# define BOOST_PP_SEQ_SIZE_111(_) BOOST_PP_SEQ_SIZE_112 +# define BOOST_PP_SEQ_SIZE_112(_) BOOST_PP_SEQ_SIZE_113 +# define BOOST_PP_SEQ_SIZE_113(_) BOOST_PP_SEQ_SIZE_114 +# define BOOST_PP_SEQ_SIZE_114(_) BOOST_PP_SEQ_SIZE_115 +# define BOOST_PP_SEQ_SIZE_115(_) BOOST_PP_SEQ_SIZE_116 +# define BOOST_PP_SEQ_SIZE_116(_) BOOST_PP_SEQ_SIZE_117 +# define BOOST_PP_SEQ_SIZE_117(_) BOOST_PP_SEQ_SIZE_118 +# define BOOST_PP_SEQ_SIZE_118(_) BOOST_PP_SEQ_SIZE_119 +# define BOOST_PP_SEQ_SIZE_119(_) BOOST_PP_SEQ_SIZE_120 +# define BOOST_PP_SEQ_SIZE_120(_) BOOST_PP_SEQ_SIZE_121 +# define BOOST_PP_SEQ_SIZE_121(_) BOOST_PP_SEQ_SIZE_122 +# define BOOST_PP_SEQ_SIZE_122(_) BOOST_PP_SEQ_SIZE_123 +# define BOOST_PP_SEQ_SIZE_123(_) BOOST_PP_SEQ_SIZE_124 +# define BOOST_PP_SEQ_SIZE_124(_) BOOST_PP_SEQ_SIZE_125 +# define BOOST_PP_SEQ_SIZE_125(_) BOOST_PP_SEQ_SIZE_126 +# define BOOST_PP_SEQ_SIZE_126(_) BOOST_PP_SEQ_SIZE_127 +# define BOOST_PP_SEQ_SIZE_127(_) BOOST_PP_SEQ_SIZE_128 +# define BOOST_PP_SEQ_SIZE_128(_) BOOST_PP_SEQ_SIZE_129 +# define BOOST_PP_SEQ_SIZE_129(_) BOOST_PP_SEQ_SIZE_130 +# define BOOST_PP_SEQ_SIZE_130(_) BOOST_PP_SEQ_SIZE_131 +# define BOOST_PP_SEQ_SIZE_131(_) BOOST_PP_SEQ_SIZE_132 +# define BOOST_PP_SEQ_SIZE_132(_) BOOST_PP_SEQ_SIZE_133 +# define BOOST_PP_SEQ_SIZE_133(_) BOOST_PP_SEQ_SIZE_134 +# define BOOST_PP_SEQ_SIZE_134(_) BOOST_PP_SEQ_SIZE_135 +# define BOOST_PP_SEQ_SIZE_135(_) BOOST_PP_SEQ_SIZE_136 +# define BOOST_PP_SEQ_SIZE_136(_) BOOST_PP_SEQ_SIZE_137 +# define BOOST_PP_SEQ_SIZE_137(_) BOOST_PP_SEQ_SIZE_138 +# define BOOST_PP_SEQ_SIZE_138(_) BOOST_PP_SEQ_SIZE_139 +# define BOOST_PP_SEQ_SIZE_139(_) BOOST_PP_SEQ_SIZE_140 +# define BOOST_PP_SEQ_SIZE_140(_) BOOST_PP_SEQ_SIZE_141 +# define BOOST_PP_SEQ_SIZE_141(_) BOOST_PP_SEQ_SIZE_142 +# define BOOST_PP_SEQ_SIZE_142(_) BOOST_PP_SEQ_SIZE_143 +# define BOOST_PP_SEQ_SIZE_143(_) BOOST_PP_SEQ_SIZE_144 +# define BOOST_PP_SEQ_SIZE_144(_) BOOST_PP_SEQ_SIZE_145 +# define BOOST_PP_SEQ_SIZE_145(_) BOOST_PP_SEQ_SIZE_146 +# define BOOST_PP_SEQ_SIZE_146(_) BOOST_PP_SEQ_SIZE_147 +# define BOOST_PP_SEQ_SIZE_147(_) BOOST_PP_SEQ_SIZE_148 +# define BOOST_PP_SEQ_SIZE_148(_) BOOST_PP_SEQ_SIZE_149 +# define BOOST_PP_SEQ_SIZE_149(_) BOOST_PP_SEQ_SIZE_150 +# define BOOST_PP_SEQ_SIZE_150(_) BOOST_PP_SEQ_SIZE_151 +# define BOOST_PP_SEQ_SIZE_151(_) BOOST_PP_SEQ_SIZE_152 +# define BOOST_PP_SEQ_SIZE_152(_) BOOST_PP_SEQ_SIZE_153 +# define BOOST_PP_SEQ_SIZE_153(_) BOOST_PP_SEQ_SIZE_154 +# define BOOST_PP_SEQ_SIZE_154(_) BOOST_PP_SEQ_SIZE_155 +# define BOOST_PP_SEQ_SIZE_155(_) BOOST_PP_SEQ_SIZE_156 +# define BOOST_PP_SEQ_SIZE_156(_) BOOST_PP_SEQ_SIZE_157 +# define BOOST_PP_SEQ_SIZE_157(_) BOOST_PP_SEQ_SIZE_158 +# define BOOST_PP_SEQ_SIZE_158(_) BOOST_PP_SEQ_SIZE_159 +# define BOOST_PP_SEQ_SIZE_159(_) BOOST_PP_SEQ_SIZE_160 +# define BOOST_PP_SEQ_SIZE_160(_) BOOST_PP_SEQ_SIZE_161 +# define BOOST_PP_SEQ_SIZE_161(_) BOOST_PP_SEQ_SIZE_162 +# define BOOST_PP_SEQ_SIZE_162(_) BOOST_PP_SEQ_SIZE_163 +# define BOOST_PP_SEQ_SIZE_163(_) BOOST_PP_SEQ_SIZE_164 +# define BOOST_PP_SEQ_SIZE_164(_) BOOST_PP_SEQ_SIZE_165 +# define BOOST_PP_SEQ_SIZE_165(_) BOOST_PP_SEQ_SIZE_166 +# define BOOST_PP_SEQ_SIZE_166(_) BOOST_PP_SEQ_SIZE_167 +# define BOOST_PP_SEQ_SIZE_167(_) BOOST_PP_SEQ_SIZE_168 +# define BOOST_PP_SEQ_SIZE_168(_) BOOST_PP_SEQ_SIZE_169 +# define BOOST_PP_SEQ_SIZE_169(_) BOOST_PP_SEQ_SIZE_170 +# define BOOST_PP_SEQ_SIZE_170(_) BOOST_PP_SEQ_SIZE_171 +# define BOOST_PP_SEQ_SIZE_171(_) BOOST_PP_SEQ_SIZE_172 +# define BOOST_PP_SEQ_SIZE_172(_) BOOST_PP_SEQ_SIZE_173 +# define BOOST_PP_SEQ_SIZE_173(_) BOOST_PP_SEQ_SIZE_174 +# define BOOST_PP_SEQ_SIZE_174(_) BOOST_PP_SEQ_SIZE_175 +# define BOOST_PP_SEQ_SIZE_175(_) BOOST_PP_SEQ_SIZE_176 +# define BOOST_PP_SEQ_SIZE_176(_) BOOST_PP_SEQ_SIZE_177 +# define BOOST_PP_SEQ_SIZE_177(_) BOOST_PP_SEQ_SIZE_178 +# define BOOST_PP_SEQ_SIZE_178(_) BOOST_PP_SEQ_SIZE_179 +# define BOOST_PP_SEQ_SIZE_179(_) BOOST_PP_SEQ_SIZE_180 +# define BOOST_PP_SEQ_SIZE_180(_) BOOST_PP_SEQ_SIZE_181 +# define BOOST_PP_SEQ_SIZE_181(_) BOOST_PP_SEQ_SIZE_182 +# define BOOST_PP_SEQ_SIZE_182(_) BOOST_PP_SEQ_SIZE_183 +# define BOOST_PP_SEQ_SIZE_183(_) BOOST_PP_SEQ_SIZE_184 +# define BOOST_PP_SEQ_SIZE_184(_) BOOST_PP_SEQ_SIZE_185 +# define BOOST_PP_SEQ_SIZE_185(_) BOOST_PP_SEQ_SIZE_186 +# define BOOST_PP_SEQ_SIZE_186(_) BOOST_PP_SEQ_SIZE_187 +# define BOOST_PP_SEQ_SIZE_187(_) BOOST_PP_SEQ_SIZE_188 +# define BOOST_PP_SEQ_SIZE_188(_) BOOST_PP_SEQ_SIZE_189 +# define BOOST_PP_SEQ_SIZE_189(_) BOOST_PP_SEQ_SIZE_190 +# define BOOST_PP_SEQ_SIZE_190(_) BOOST_PP_SEQ_SIZE_191 +# define BOOST_PP_SEQ_SIZE_191(_) BOOST_PP_SEQ_SIZE_192 +# define BOOST_PP_SEQ_SIZE_192(_) BOOST_PP_SEQ_SIZE_193 +# define BOOST_PP_SEQ_SIZE_193(_) BOOST_PP_SEQ_SIZE_194 +# define BOOST_PP_SEQ_SIZE_194(_) BOOST_PP_SEQ_SIZE_195 +# define BOOST_PP_SEQ_SIZE_195(_) BOOST_PP_SEQ_SIZE_196 +# define BOOST_PP_SEQ_SIZE_196(_) BOOST_PP_SEQ_SIZE_197 +# define BOOST_PP_SEQ_SIZE_197(_) BOOST_PP_SEQ_SIZE_198 +# define BOOST_PP_SEQ_SIZE_198(_) BOOST_PP_SEQ_SIZE_199 +# define BOOST_PP_SEQ_SIZE_199(_) BOOST_PP_SEQ_SIZE_200 +# define BOOST_PP_SEQ_SIZE_200(_) BOOST_PP_SEQ_SIZE_201 +# define BOOST_PP_SEQ_SIZE_201(_) BOOST_PP_SEQ_SIZE_202 +# define BOOST_PP_SEQ_SIZE_202(_) BOOST_PP_SEQ_SIZE_203 +# define BOOST_PP_SEQ_SIZE_203(_) BOOST_PP_SEQ_SIZE_204 +# define BOOST_PP_SEQ_SIZE_204(_) BOOST_PP_SEQ_SIZE_205 +# define BOOST_PP_SEQ_SIZE_205(_) BOOST_PP_SEQ_SIZE_206 +# define BOOST_PP_SEQ_SIZE_206(_) BOOST_PP_SEQ_SIZE_207 +# define BOOST_PP_SEQ_SIZE_207(_) BOOST_PP_SEQ_SIZE_208 +# define BOOST_PP_SEQ_SIZE_208(_) BOOST_PP_SEQ_SIZE_209 +# define BOOST_PP_SEQ_SIZE_209(_) BOOST_PP_SEQ_SIZE_210 +# define BOOST_PP_SEQ_SIZE_210(_) BOOST_PP_SEQ_SIZE_211 +# define BOOST_PP_SEQ_SIZE_211(_) BOOST_PP_SEQ_SIZE_212 +# define BOOST_PP_SEQ_SIZE_212(_) BOOST_PP_SEQ_SIZE_213 +# define BOOST_PP_SEQ_SIZE_213(_) BOOST_PP_SEQ_SIZE_214 +# define BOOST_PP_SEQ_SIZE_214(_) BOOST_PP_SEQ_SIZE_215 +# define BOOST_PP_SEQ_SIZE_215(_) BOOST_PP_SEQ_SIZE_216 +# define BOOST_PP_SEQ_SIZE_216(_) BOOST_PP_SEQ_SIZE_217 +# define BOOST_PP_SEQ_SIZE_217(_) BOOST_PP_SEQ_SIZE_218 +# define BOOST_PP_SEQ_SIZE_218(_) BOOST_PP_SEQ_SIZE_219 +# define BOOST_PP_SEQ_SIZE_219(_) BOOST_PP_SEQ_SIZE_220 +# define BOOST_PP_SEQ_SIZE_220(_) BOOST_PP_SEQ_SIZE_221 +# define BOOST_PP_SEQ_SIZE_221(_) BOOST_PP_SEQ_SIZE_222 +# define BOOST_PP_SEQ_SIZE_222(_) BOOST_PP_SEQ_SIZE_223 +# define BOOST_PP_SEQ_SIZE_223(_) BOOST_PP_SEQ_SIZE_224 +# define BOOST_PP_SEQ_SIZE_224(_) BOOST_PP_SEQ_SIZE_225 +# define BOOST_PP_SEQ_SIZE_225(_) BOOST_PP_SEQ_SIZE_226 +# define BOOST_PP_SEQ_SIZE_226(_) BOOST_PP_SEQ_SIZE_227 +# define BOOST_PP_SEQ_SIZE_227(_) BOOST_PP_SEQ_SIZE_228 +# define BOOST_PP_SEQ_SIZE_228(_) BOOST_PP_SEQ_SIZE_229 +# define BOOST_PP_SEQ_SIZE_229(_) BOOST_PP_SEQ_SIZE_230 +# define BOOST_PP_SEQ_SIZE_230(_) BOOST_PP_SEQ_SIZE_231 +# define BOOST_PP_SEQ_SIZE_231(_) BOOST_PP_SEQ_SIZE_232 +# define BOOST_PP_SEQ_SIZE_232(_) BOOST_PP_SEQ_SIZE_233 +# define BOOST_PP_SEQ_SIZE_233(_) BOOST_PP_SEQ_SIZE_234 +# define BOOST_PP_SEQ_SIZE_234(_) BOOST_PP_SEQ_SIZE_235 +# define BOOST_PP_SEQ_SIZE_235(_) BOOST_PP_SEQ_SIZE_236 +# define BOOST_PP_SEQ_SIZE_236(_) BOOST_PP_SEQ_SIZE_237 +# define BOOST_PP_SEQ_SIZE_237(_) BOOST_PP_SEQ_SIZE_238 +# define BOOST_PP_SEQ_SIZE_238(_) BOOST_PP_SEQ_SIZE_239 +# define BOOST_PP_SEQ_SIZE_239(_) BOOST_PP_SEQ_SIZE_240 +# define BOOST_PP_SEQ_SIZE_240(_) BOOST_PP_SEQ_SIZE_241 +# define BOOST_PP_SEQ_SIZE_241(_) BOOST_PP_SEQ_SIZE_242 +# define BOOST_PP_SEQ_SIZE_242(_) BOOST_PP_SEQ_SIZE_243 +# define BOOST_PP_SEQ_SIZE_243(_) BOOST_PP_SEQ_SIZE_244 +# define BOOST_PP_SEQ_SIZE_244(_) BOOST_PP_SEQ_SIZE_245 +# define BOOST_PP_SEQ_SIZE_245(_) BOOST_PP_SEQ_SIZE_246 +# define BOOST_PP_SEQ_SIZE_246(_) BOOST_PP_SEQ_SIZE_247 +# define BOOST_PP_SEQ_SIZE_247(_) BOOST_PP_SEQ_SIZE_248 +# define BOOST_PP_SEQ_SIZE_248(_) BOOST_PP_SEQ_SIZE_249 +# define BOOST_PP_SEQ_SIZE_249(_) BOOST_PP_SEQ_SIZE_250 +# define BOOST_PP_SEQ_SIZE_250(_) BOOST_PP_SEQ_SIZE_251 +# define BOOST_PP_SEQ_SIZE_251(_) BOOST_PP_SEQ_SIZE_252 +# define BOOST_PP_SEQ_SIZE_252(_) BOOST_PP_SEQ_SIZE_253 +# define BOOST_PP_SEQ_SIZE_253(_) BOOST_PP_SEQ_SIZE_254 +# define BOOST_PP_SEQ_SIZE_254(_) BOOST_PP_SEQ_SIZE_255 +# define BOOST_PP_SEQ_SIZE_255(_) BOOST_PP_SEQ_SIZE_256 +# define BOOST_PP_SEQ_SIZE_256(_) BOOST_PP_SEQ_SIZE_257 +# +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_0 0 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_1 1 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_2 2 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_3 3 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_4 4 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_5 5 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_6 6 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_7 7 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_8 8 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_9 9 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_10 10 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_11 11 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_12 12 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_13 13 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_14 14 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_15 15 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_16 16 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_17 17 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_18 18 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_19 19 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_20 20 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_21 21 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_22 22 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_23 23 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_24 24 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_25 25 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_26 26 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_27 27 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_28 28 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_29 29 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_30 30 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_31 31 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_32 32 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_33 33 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_34 34 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_35 35 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_36 36 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_37 37 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_38 38 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_39 39 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_40 40 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_41 41 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_42 42 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_43 43 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_44 44 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_45 45 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_46 46 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_47 47 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_48 48 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_49 49 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_50 50 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_51 51 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_52 52 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_53 53 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_54 54 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_55 55 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_56 56 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_57 57 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_58 58 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_59 59 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_60 60 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_61 61 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_62 62 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_63 63 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_64 64 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_65 65 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_66 66 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_67 67 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_68 68 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_69 69 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_70 70 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_71 71 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_72 72 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_73 73 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_74 74 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_75 75 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_76 76 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_77 77 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_78 78 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_79 79 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_80 80 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_81 81 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_82 82 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_83 83 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_84 84 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_85 85 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_86 86 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_87 87 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_88 88 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_89 89 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_90 90 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_91 91 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_92 92 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_93 93 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_94 94 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_95 95 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_96 96 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_97 97 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_98 98 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_99 99 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_100 100 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_101 101 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_102 102 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_103 103 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_104 104 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_105 105 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_106 106 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_107 107 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_108 108 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_109 109 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_110 110 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_111 111 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_112 112 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_113 113 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_114 114 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_115 115 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_116 116 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_117 117 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_118 118 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_119 119 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_120 120 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_121 121 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_122 122 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_123 123 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_124 124 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_125 125 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_126 126 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_127 127 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_128 128 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_129 129 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_130 130 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_131 131 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_132 132 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_133 133 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_134 134 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_135 135 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_136 136 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_137 137 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_138 138 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_139 139 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_140 140 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_141 141 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_142 142 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_143 143 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_144 144 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_145 145 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_146 146 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_147 147 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_148 148 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_149 149 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_150 150 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_151 151 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_152 152 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_153 153 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_154 154 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_155 155 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_156 156 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_157 157 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_158 158 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_159 159 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_160 160 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_161 161 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_162 162 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_163 163 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_164 164 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_165 165 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_166 166 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_167 167 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_168 168 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_169 169 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_170 170 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_171 171 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_172 172 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_173 173 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_174 174 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_175 175 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_176 176 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_177 177 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_178 178 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_179 179 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_180 180 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_181 181 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_182 182 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_183 183 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_184 184 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_185 185 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_186 186 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_187 187 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_188 188 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_189 189 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_190 190 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_191 191 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_192 192 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_193 193 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_194 194 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_195 195 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_196 196 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_197 197 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_198 198 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_199 199 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_200 200 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_201 201 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_202 202 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_203 203 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_204 204 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_205 205 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_206 206 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_207 207 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_208 208 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_209 209 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_210 210 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_211 211 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_212 212 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_213 213 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_214 214 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_215 215 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_216 216 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_217 217 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_218 218 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_219 219 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_220 220 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_221 221 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_222 222 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_223 223 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_224 224 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_225 225 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_226 226 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_227 227 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_228 228 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_229 229 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_230 230 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_231 231 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_232 232 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_233 233 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_234 234 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_235 235 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_236 236 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_237 237 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_238 238 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_239 239 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_240 240 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_241 241 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_242 242 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_243 243 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_244 244 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_245 245 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_246 246 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_247 247 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_248 248 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_249 249 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_250 250 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_251 251 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_252 252 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_253 253 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_254 254 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_255 255 +# define BOOST_PP_SEQ_SIZE_BOOST_PP_SEQ_SIZE_256 256 +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/subseq.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/subseq.hpp new file mode 100644 index 0000000..aee81a0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/subseq.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP +# define BOOST_PREPROCESSOR_SEQ_SUBSEQ_HPP +# +# include +# include +# include +# +# /* BOOST_PP_SEQ_SUBSEQ */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq)) +# else +# define BOOST_PP_SEQ_SUBSEQ(seq, i, len) BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) +# define BOOST_PP_SEQ_SUBSEQ_I(seq, i, len) BOOST_PP_SEQ_FIRST_N(len, BOOST_PP_SEQ_REST_N(i, seq)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_array.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_array.hpp new file mode 100644 index 0000000..d20d45e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_array.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (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_TO_ARRAY_HPP +# define BOOST_PREPROCESSOR_SEQ_TO_ARRAY_HPP +# +# include +# include +# include +# +# /* BOOST_PP_SEQ_TO_ARRAY */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_TO_ARRAY(seq) (BOOST_PP_SEQ_SIZE(seq), (BOOST_PP_SEQ_ENUM(seq))) +# else +# define BOOST_PP_SEQ_TO_ARRAY(seq) BOOST_PP_SEQ_TO_ARRAY_I(seq) +# define BOOST_PP_SEQ_TO_ARRAY_I(seq) (BOOST_PP_SEQ_SIZE(seq), (BOOST_PP_SEQ_ENUM(seq))) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_tuple.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_tuple.hpp new file mode 100644 index 0000000..828dcd5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/to_tuple.hpp @@ -0,0 +1,27 @@ +# /* ************************************************************************** +# * * +# * (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_TO_TUPLE_HPP +# define BOOST_PREPROCESSOR_SEQ_TO_TUPLE_HPP +# +# include +# include +# +# /* BOOST_PP_SEQ_TO_TUPLE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_SEQ_TO_TUPLE(seq) (BOOST_PP_SEQ_ENUM(seq)) +# else +# define BOOST_PP_SEQ_TO_TUPLE(seq) BOOST_PP_SEQ_TO_TUPLE_I(seq) +# define BOOST_PP_SEQ_TO_TUPLE_I(seq) (BOOST_PP_SEQ_ENUM(seq)) +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/transform.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/transform.hpp new file mode 100644 index 0000000..70f89e1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/seq/transform.hpp @@ -0,0 +1,48 @@ +# /* ************************************************************************** +# * * +# * (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/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot.hpp new file mode 100644 index 0000000..5b4dc6e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SLOT_HPP +# define BOOST_PREPROCESSOR_SLOT_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/counter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/counter.hpp new file mode 100644 index 0000000..e1d5863 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/counter.hpp @@ -0,0 +1,25 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2005. * +# * Distributed under the Boost Software License, Version 1.0. (See * +# * accompanying file LICENSE_1_0.txt or copy at * +# * http://www.boost.org/LICENSE_1_0.txt) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SLOT_COUNTER_HPP +# define BOOST_PREPROCESSOR_SLOT_COUNTER_HPP +# +# include +# +# /* BOOST_PP_COUNTER */ +# +# define BOOST_PP_COUNTER 0 +# +# /* BOOST_PP_UPDATE_COUNTER */ +# +# define BOOST_PP_UPDATE_COUNTER() +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/counter.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/counter.hpp new file mode 100644 index 0000000..c15b542 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/counter.hpp @@ -0,0 +1,269 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2005. * +# * Distributed under the Boost Software License, Version 1.0. (See * +# * accompanying file LICENSE_1_0.txt or copy at * +# * http://www.boost.org/LICENSE_1_0.txt) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# define BOOST_PP_VALUE BOOST_PP_COUNTER + 1 +# +# include +# +# undef BOOST_PP_COUNTER +# +# undef BOOST_PP_COUNTER_DIGIT_1 +# undef BOOST_PP_COUNTER_DIGIT_2 +# undef BOOST_PP_COUNTER_DIGIT_3 +# undef BOOST_PP_COUNTER_DIGIT_4 +# undef BOOST_PP_COUNTER_DIGIT_5 +# undef BOOST_PP_COUNTER_DIGIT_6 +# undef BOOST_PP_COUNTER_DIGIT_7 +# undef BOOST_PP_COUNTER_DIGIT_8 +# undef BOOST_PP_COUNTER_DIGIT_9 +# undef BOOST_PP_COUNTER_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_10 == 0 +# define BOOST_PP_COUNTER_DIGIT_10 0 +# elif BOOST_PP_SLOT_TEMP_10 == 1 +# define BOOST_PP_COUNTER_DIGIT_10 1 +# elif BOOST_PP_SLOT_TEMP_10 == 2 +# define BOOST_PP_COUNTER_DIGIT_10 2 +# elif BOOST_PP_SLOT_TEMP_10 == 3 +# define BOOST_PP_COUNTER_DIGIT_10 3 +# elif BOOST_PP_SLOT_TEMP_10 == 4 +# define BOOST_PP_COUNTER_DIGIT_10 4 +# elif BOOST_PP_SLOT_TEMP_10 == 5 +# define BOOST_PP_COUNTER_DIGIT_10 5 +# elif BOOST_PP_SLOT_TEMP_10 == 6 +# define BOOST_PP_COUNTER_DIGIT_10 6 +# elif BOOST_PP_SLOT_TEMP_10 == 7 +# define BOOST_PP_COUNTER_DIGIT_10 7 +# elif BOOST_PP_SLOT_TEMP_10 == 8 +# define BOOST_PP_COUNTER_DIGIT_10 8 +# elif BOOST_PP_SLOT_TEMP_10 == 9 +# define BOOST_PP_COUNTER_DIGIT_10 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_9 == 0 +# define BOOST_PP_COUNTER_DIGIT_9 0 +# elif BOOST_PP_SLOT_TEMP_9 == 1 +# define BOOST_PP_COUNTER_DIGIT_9 1 +# elif BOOST_PP_SLOT_TEMP_9 == 2 +# define BOOST_PP_COUNTER_DIGIT_9 2 +# elif BOOST_PP_SLOT_TEMP_9 == 3 +# define BOOST_PP_COUNTER_DIGIT_9 3 +# elif BOOST_PP_SLOT_TEMP_9 == 4 +# define BOOST_PP_COUNTER_DIGIT_9 4 +# elif BOOST_PP_SLOT_TEMP_9 == 5 +# define BOOST_PP_COUNTER_DIGIT_9 5 +# elif BOOST_PP_SLOT_TEMP_9 == 6 +# define BOOST_PP_COUNTER_DIGIT_9 6 +# elif BOOST_PP_SLOT_TEMP_9 == 7 +# define BOOST_PP_COUNTER_DIGIT_9 7 +# elif BOOST_PP_SLOT_TEMP_9 == 8 +# define BOOST_PP_COUNTER_DIGIT_9 8 +# elif BOOST_PP_SLOT_TEMP_9 == 9 +# define BOOST_PP_COUNTER_DIGIT_9 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_8 == 0 +# define BOOST_PP_COUNTER_DIGIT_8 0 +# elif BOOST_PP_SLOT_TEMP_8 == 1 +# define BOOST_PP_COUNTER_DIGIT_8 1 +# elif BOOST_PP_SLOT_TEMP_8 == 2 +# define BOOST_PP_COUNTER_DIGIT_8 2 +# elif BOOST_PP_SLOT_TEMP_8 == 3 +# define BOOST_PP_COUNTER_DIGIT_8 3 +# elif BOOST_PP_SLOT_TEMP_8 == 4 +# define BOOST_PP_COUNTER_DIGIT_8 4 +# elif BOOST_PP_SLOT_TEMP_8 == 5 +# define BOOST_PP_COUNTER_DIGIT_8 5 +# elif BOOST_PP_SLOT_TEMP_8 == 6 +# define BOOST_PP_COUNTER_DIGIT_8 6 +# elif BOOST_PP_SLOT_TEMP_8 == 7 +# define BOOST_PP_COUNTER_DIGIT_8 7 +# elif BOOST_PP_SLOT_TEMP_8 == 8 +# define BOOST_PP_COUNTER_DIGIT_8 8 +# elif BOOST_PP_SLOT_TEMP_8 == 9 +# define BOOST_PP_COUNTER_DIGIT_8 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_7 == 0 +# define BOOST_PP_COUNTER_DIGIT_7 0 +# elif BOOST_PP_SLOT_TEMP_7 == 1 +# define BOOST_PP_COUNTER_DIGIT_7 1 +# elif BOOST_PP_SLOT_TEMP_7 == 2 +# define BOOST_PP_COUNTER_DIGIT_7 2 +# elif BOOST_PP_SLOT_TEMP_7 == 3 +# define BOOST_PP_COUNTER_DIGIT_7 3 +# elif BOOST_PP_SLOT_TEMP_7 == 4 +# define BOOST_PP_COUNTER_DIGIT_7 4 +# elif BOOST_PP_SLOT_TEMP_7 == 5 +# define BOOST_PP_COUNTER_DIGIT_7 5 +# elif BOOST_PP_SLOT_TEMP_7 == 6 +# define BOOST_PP_COUNTER_DIGIT_7 6 +# elif BOOST_PP_SLOT_TEMP_7 == 7 +# define BOOST_PP_COUNTER_DIGIT_7 7 +# elif BOOST_PP_SLOT_TEMP_7 == 8 +# define BOOST_PP_COUNTER_DIGIT_7 8 +# elif BOOST_PP_SLOT_TEMP_7 == 9 +# define BOOST_PP_COUNTER_DIGIT_7 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_6 == 0 +# define BOOST_PP_COUNTER_DIGIT_6 0 +# elif BOOST_PP_SLOT_TEMP_6 == 1 +# define BOOST_PP_COUNTER_DIGIT_6 1 +# elif BOOST_PP_SLOT_TEMP_6 == 2 +# define BOOST_PP_COUNTER_DIGIT_6 2 +# elif BOOST_PP_SLOT_TEMP_6 == 3 +# define BOOST_PP_COUNTER_DIGIT_6 3 +# elif BOOST_PP_SLOT_TEMP_6 == 4 +# define BOOST_PP_COUNTER_DIGIT_6 4 +# elif BOOST_PP_SLOT_TEMP_6 == 5 +# define BOOST_PP_COUNTER_DIGIT_6 5 +# elif BOOST_PP_SLOT_TEMP_6 == 6 +# define BOOST_PP_COUNTER_DIGIT_6 6 +# elif BOOST_PP_SLOT_TEMP_6 == 7 +# define BOOST_PP_COUNTER_DIGIT_6 7 +# elif BOOST_PP_SLOT_TEMP_6 == 8 +# define BOOST_PP_COUNTER_DIGIT_6 8 +# elif BOOST_PP_SLOT_TEMP_6 == 9 +# define BOOST_PP_COUNTER_DIGIT_6 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_5 == 0 +# define BOOST_PP_COUNTER_DIGIT_5 0 +# elif BOOST_PP_SLOT_TEMP_5 == 1 +# define BOOST_PP_COUNTER_DIGIT_5 1 +# elif BOOST_PP_SLOT_TEMP_5 == 2 +# define BOOST_PP_COUNTER_DIGIT_5 2 +# elif BOOST_PP_SLOT_TEMP_5 == 3 +# define BOOST_PP_COUNTER_DIGIT_5 3 +# elif BOOST_PP_SLOT_TEMP_5 == 4 +# define BOOST_PP_COUNTER_DIGIT_5 4 +# elif BOOST_PP_SLOT_TEMP_5 == 5 +# define BOOST_PP_COUNTER_DIGIT_5 5 +# elif BOOST_PP_SLOT_TEMP_5 == 6 +# define BOOST_PP_COUNTER_DIGIT_5 6 +# elif BOOST_PP_SLOT_TEMP_5 == 7 +# define BOOST_PP_COUNTER_DIGIT_5 7 +# elif BOOST_PP_SLOT_TEMP_5 == 8 +# define BOOST_PP_COUNTER_DIGIT_5 8 +# elif BOOST_PP_SLOT_TEMP_5 == 9 +# define BOOST_PP_COUNTER_DIGIT_5 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_4 == 0 +# define BOOST_PP_COUNTER_DIGIT_4 0 +# elif BOOST_PP_SLOT_TEMP_4 == 1 +# define BOOST_PP_COUNTER_DIGIT_4 1 +# elif BOOST_PP_SLOT_TEMP_4 == 2 +# define BOOST_PP_COUNTER_DIGIT_4 2 +# elif BOOST_PP_SLOT_TEMP_4 == 3 +# define BOOST_PP_COUNTER_DIGIT_4 3 +# elif BOOST_PP_SLOT_TEMP_4 == 4 +# define BOOST_PP_COUNTER_DIGIT_4 4 +# elif BOOST_PP_SLOT_TEMP_4 == 5 +# define BOOST_PP_COUNTER_DIGIT_4 5 +# elif BOOST_PP_SLOT_TEMP_4 == 6 +# define BOOST_PP_COUNTER_DIGIT_4 6 +# elif BOOST_PP_SLOT_TEMP_4 == 7 +# define BOOST_PP_COUNTER_DIGIT_4 7 +# elif BOOST_PP_SLOT_TEMP_4 == 8 +# define BOOST_PP_COUNTER_DIGIT_4 8 +# elif BOOST_PP_SLOT_TEMP_4 == 9 +# define BOOST_PP_COUNTER_DIGIT_4 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_COUNTER_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_COUNTER_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_COUNTER_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_COUNTER_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_COUNTER_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_COUNTER_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_COUNTER_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_COUNTER_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_COUNTER_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_COUNTER_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_COUNTER_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_COUNTER_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_COUNTER_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_COUNTER_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_COUNTER_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_COUNTER_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_COUNTER_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_COUNTER_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_COUNTER_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_COUNTER_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_COUNTER_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_COUNTER_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_COUNTER_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_COUNTER_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_COUNTER_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_COUNTER_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_COUNTER_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_COUNTER_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_COUNTER_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_COUNTER_DIGIT_1 9 +# endif +# +# if BOOST_PP_COUNTER_DIGIT_10 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_10(BOOST_PP_COUNTER_DIGIT_10, BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_9 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_9(BOOST_PP_COUNTER_DIGIT_9, BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_8 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_8(BOOST_PP_COUNTER_DIGIT_8, BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_7 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_7(BOOST_PP_COUNTER_DIGIT_7, BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_6 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_6(BOOST_PP_COUNTER_DIGIT_6, BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_5 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_5(BOOST_PP_COUNTER_DIGIT_5, BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_4 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_4(BOOST_PP_COUNTER_DIGIT_4, BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_3 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_3(BOOST_PP_COUNTER_DIGIT_3, BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# elif BOOST_PP_COUNTER_DIGIT_2 +# define BOOST_PP_COUNTER BOOST_PP_SLOT_CC_2(BOOST_PP_COUNTER_DIGIT_2, BOOST_PP_COUNTER_DIGIT_1) +# else +# define BOOST_PP_COUNTER BOOST_PP_COUNTER_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/def.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/def.hpp new file mode 100644 index 0000000..105a43b --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/def.hpp @@ -0,0 +1,49 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP +# define BOOST_PREPROCESSOR_SLOT_DETAIL_DEF_HPP +# +# /* BOOST_PP_SLOT_OFFSET_x */ +# +# define BOOST_PP_SLOT_OFFSET_10(x) (x) % 1000000000UL +# define BOOST_PP_SLOT_OFFSET_9(x) BOOST_PP_SLOT_OFFSET_10(x) % 100000000UL +# define BOOST_PP_SLOT_OFFSET_8(x) BOOST_PP_SLOT_OFFSET_9(x) % 10000000UL +# define BOOST_PP_SLOT_OFFSET_7(x) BOOST_PP_SLOT_OFFSET_8(x) % 1000000UL +# define BOOST_PP_SLOT_OFFSET_6(x) BOOST_PP_SLOT_OFFSET_7(x) % 100000UL +# define BOOST_PP_SLOT_OFFSET_5(x) BOOST_PP_SLOT_OFFSET_6(x) % 10000UL +# define BOOST_PP_SLOT_OFFSET_4(x) BOOST_PP_SLOT_OFFSET_5(x) % 1000UL +# define BOOST_PP_SLOT_OFFSET_3(x) BOOST_PP_SLOT_OFFSET_4(x) % 100UL +# define BOOST_PP_SLOT_OFFSET_2(x) BOOST_PP_SLOT_OFFSET_3(x) % 10UL +# +# /* BOOST_PP_SLOT_CC_x */ +# +# define BOOST_PP_SLOT_CC_2(a, b) BOOST_PP_SLOT_CC_2_D(a, b) +# define BOOST_PP_SLOT_CC_3(a, b, c) BOOST_PP_SLOT_CC_3_D(a, b, c) +# define BOOST_PP_SLOT_CC_4(a, b, c, d) BOOST_PP_SLOT_CC_4_D(a, b, c, d) +# define BOOST_PP_SLOT_CC_5(a, b, c, d, e) BOOST_PP_SLOT_CC_5_D(a, b, c, d, e) +# define BOOST_PP_SLOT_CC_6(a, b, c, d, e, f) BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) +# define BOOST_PP_SLOT_CC_7(a, b, c, d, e, f, g) BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) +# define BOOST_PP_SLOT_CC_8(a, b, c, d, e, f, g, h) BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) +# define BOOST_PP_SLOT_CC_9(a, b, c, d, e, f, g, h, i) BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i) +# define BOOST_PP_SLOT_CC_10(a, b, c, d, e, f, g, h, i, j) BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j) +# +# define BOOST_PP_SLOT_CC_2_D(a, b) a ## b +# define BOOST_PP_SLOT_CC_3_D(a, b, c) a ## b ## c +# define BOOST_PP_SLOT_CC_4_D(a, b, c, d) a ## b ## c ## d +# define BOOST_PP_SLOT_CC_5_D(a, b, c, d, e) a ## b ## c ## d ## e +# define BOOST_PP_SLOT_CC_6_D(a, b, c, d, e, f) a ## b ## c ## d ## e ## f +# define BOOST_PP_SLOT_CC_7_D(a, b, c, d, e, f, g) a ## b ## c ## d ## e ## f ## g +# define BOOST_PP_SLOT_CC_8_D(a, b, c, d, e, f, g, h) a ## b ## c ## d ## e ## f ## g ## h +# define BOOST_PP_SLOT_CC_9_D(a, b, c, d, e, f, g, h, i) a ## b ## c ## d ## e ## f ## g ## h ## i +# define BOOST_PP_SLOT_CC_10_D(a, b, c, d, e, f, g, h, i, j) a ## b ## c ## d ## e ## f ## g ## h ## i ## j +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/shared.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/shared.hpp new file mode 100644 index 0000000..83370de --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/shared.hpp @@ -0,0 +1,247 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PP_VALUE +# error BOOST_PP_ERROR: BOOST_PP_VALUE is not defined +# endif +# +# undef BOOST_PP_SLOT_TEMP_1 +# undef BOOST_PP_SLOT_TEMP_2 +# undef BOOST_PP_SLOT_TEMP_3 +# undef BOOST_PP_SLOT_TEMP_4 +# undef BOOST_PP_SLOT_TEMP_5 +# undef BOOST_PP_SLOT_TEMP_6 +# undef BOOST_PP_SLOT_TEMP_7 +# undef BOOST_PP_SLOT_TEMP_8 +# undef BOOST_PP_SLOT_TEMP_9 +# undef BOOST_PP_SLOT_TEMP_10 +# +# if (BOOST_PP_VALUE) / 1000000000UL == 0 +# define BOOST_PP_SLOT_TEMP_10 0 +# elif (BOOST_PP_VALUE) / 1000000000UL == 1 +# define BOOST_PP_SLOT_TEMP_10 1 +# elif (BOOST_PP_VALUE) / 1000000000UL == 2 +# define BOOST_PP_SLOT_TEMP_10 2 +# elif (BOOST_PP_VALUE) / 1000000000UL == 3 +# define BOOST_PP_SLOT_TEMP_10 3 +# elif (BOOST_PP_VALUE) / 1000000000UL == 4 +# define BOOST_PP_SLOT_TEMP_10 4 +# elif (BOOST_PP_VALUE) / 1000000000UL == 5 +# define BOOST_PP_SLOT_TEMP_10 5 +# elif (BOOST_PP_VALUE) / 1000000000UL == 6 +# define BOOST_PP_SLOT_TEMP_10 6 +# elif (BOOST_PP_VALUE) / 1000000000UL == 7 +# define BOOST_PP_SLOT_TEMP_10 7 +# elif (BOOST_PP_VALUE) / 1000000000UL == 8 +# define BOOST_PP_SLOT_TEMP_10 8 +# elif (BOOST_PP_VALUE) / 1000000000UL == 9 +# define BOOST_PP_SLOT_TEMP_10 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 0 +# define BOOST_PP_SLOT_TEMP_9 0 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 1 +# define BOOST_PP_SLOT_TEMP_9 1 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 2 +# define BOOST_PP_SLOT_TEMP_9 2 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 3 +# define BOOST_PP_SLOT_TEMP_9 3 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 4 +# define BOOST_PP_SLOT_TEMP_9 4 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 5 +# define BOOST_PP_SLOT_TEMP_9 5 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 6 +# define BOOST_PP_SLOT_TEMP_9 6 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 7 +# define BOOST_PP_SLOT_TEMP_9 7 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 8 +# define BOOST_PP_SLOT_TEMP_9 8 +# elif BOOST_PP_SLOT_OFFSET_10(BOOST_PP_VALUE) / 100000000UL == 9 +# define BOOST_PP_SLOT_TEMP_9 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 0 +# define BOOST_PP_SLOT_TEMP_8 0 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 1 +# define BOOST_PP_SLOT_TEMP_8 1 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 2 +# define BOOST_PP_SLOT_TEMP_8 2 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 3 +# define BOOST_PP_SLOT_TEMP_8 3 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 4 +# define BOOST_PP_SLOT_TEMP_8 4 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 5 +# define BOOST_PP_SLOT_TEMP_8 5 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 6 +# define BOOST_PP_SLOT_TEMP_8 6 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 7 +# define BOOST_PP_SLOT_TEMP_8 7 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 8 +# define BOOST_PP_SLOT_TEMP_8 8 +# elif BOOST_PP_SLOT_OFFSET_9(BOOST_PP_VALUE) / 10000000UL == 9 +# define BOOST_PP_SLOT_TEMP_8 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 0 +# define BOOST_PP_SLOT_TEMP_7 0 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 1 +# define BOOST_PP_SLOT_TEMP_7 1 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 2 +# define BOOST_PP_SLOT_TEMP_7 2 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 3 +# define BOOST_PP_SLOT_TEMP_7 3 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 4 +# define BOOST_PP_SLOT_TEMP_7 4 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 5 +# define BOOST_PP_SLOT_TEMP_7 5 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 6 +# define BOOST_PP_SLOT_TEMP_7 6 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 7 +# define BOOST_PP_SLOT_TEMP_7 7 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 8 +# define BOOST_PP_SLOT_TEMP_7 8 +# elif BOOST_PP_SLOT_OFFSET_8(BOOST_PP_VALUE) / 1000000UL == 9 +# define BOOST_PP_SLOT_TEMP_7 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 0 +# define BOOST_PP_SLOT_TEMP_6 0 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 1 +# define BOOST_PP_SLOT_TEMP_6 1 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 2 +# define BOOST_PP_SLOT_TEMP_6 2 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 3 +# define BOOST_PP_SLOT_TEMP_6 3 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 4 +# define BOOST_PP_SLOT_TEMP_6 4 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 5 +# define BOOST_PP_SLOT_TEMP_6 5 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 6 +# define BOOST_PP_SLOT_TEMP_6 6 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 7 +# define BOOST_PP_SLOT_TEMP_6 7 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 8 +# define BOOST_PP_SLOT_TEMP_6 8 +# elif BOOST_PP_SLOT_OFFSET_7(BOOST_PP_VALUE) / 100000UL == 9 +# define BOOST_PP_SLOT_TEMP_6 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 0 +# define BOOST_PP_SLOT_TEMP_5 0 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 1 +# define BOOST_PP_SLOT_TEMP_5 1 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 2 +# define BOOST_PP_SLOT_TEMP_5 2 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 3 +# define BOOST_PP_SLOT_TEMP_5 3 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 4 +# define BOOST_PP_SLOT_TEMP_5 4 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 5 +# define BOOST_PP_SLOT_TEMP_5 5 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 6 +# define BOOST_PP_SLOT_TEMP_5 6 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 7 +# define BOOST_PP_SLOT_TEMP_5 7 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 8 +# define BOOST_PP_SLOT_TEMP_5 8 +# elif BOOST_PP_SLOT_OFFSET_6(BOOST_PP_VALUE) / 10000UL == 9 +# define BOOST_PP_SLOT_TEMP_5 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 0 +# define BOOST_PP_SLOT_TEMP_4 0 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 1 +# define BOOST_PP_SLOT_TEMP_4 1 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 2 +# define BOOST_PP_SLOT_TEMP_4 2 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 3 +# define BOOST_PP_SLOT_TEMP_4 3 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 4 +# define BOOST_PP_SLOT_TEMP_4 4 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 5 +# define BOOST_PP_SLOT_TEMP_4 5 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 6 +# define BOOST_PP_SLOT_TEMP_4 6 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 7 +# define BOOST_PP_SLOT_TEMP_4 7 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 8 +# define BOOST_PP_SLOT_TEMP_4 8 +# elif BOOST_PP_SLOT_OFFSET_5(BOOST_PP_VALUE) / 1000UL == 9 +# define BOOST_PP_SLOT_TEMP_4 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 0 +# define BOOST_PP_SLOT_TEMP_3 0 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 1 +# define BOOST_PP_SLOT_TEMP_3 1 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 2 +# define BOOST_PP_SLOT_TEMP_3 2 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 3 +# define BOOST_PP_SLOT_TEMP_3 3 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 4 +# define BOOST_PP_SLOT_TEMP_3 4 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 5 +# define BOOST_PP_SLOT_TEMP_3 5 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 6 +# define BOOST_PP_SLOT_TEMP_3 6 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 7 +# define BOOST_PP_SLOT_TEMP_3 7 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 8 +# define BOOST_PP_SLOT_TEMP_3 8 +# elif BOOST_PP_SLOT_OFFSET_4(BOOST_PP_VALUE) / 100UL == 9 +# define BOOST_PP_SLOT_TEMP_3 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 0 +# define BOOST_PP_SLOT_TEMP_2 0 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 1 +# define BOOST_PP_SLOT_TEMP_2 1 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 2 +# define BOOST_PP_SLOT_TEMP_2 2 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 3 +# define BOOST_PP_SLOT_TEMP_2 3 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 4 +# define BOOST_PP_SLOT_TEMP_2 4 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 5 +# define BOOST_PP_SLOT_TEMP_2 5 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 6 +# define BOOST_PP_SLOT_TEMP_2 6 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 7 +# define BOOST_PP_SLOT_TEMP_2 7 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 8 +# define BOOST_PP_SLOT_TEMP_2 8 +# elif BOOST_PP_SLOT_OFFSET_3(BOOST_PP_VALUE) / 10UL == 9 +# define BOOST_PP_SLOT_TEMP_2 9 +# endif +# +# if BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 0 +# define BOOST_PP_SLOT_TEMP_1 0 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 1 +# define BOOST_PP_SLOT_TEMP_1 1 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 2 +# define BOOST_PP_SLOT_TEMP_1 2 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 3 +# define BOOST_PP_SLOT_TEMP_1 3 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 4 +# define BOOST_PP_SLOT_TEMP_1 4 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 5 +# define BOOST_PP_SLOT_TEMP_1 5 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 6 +# define BOOST_PP_SLOT_TEMP_1 6 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 7 +# define BOOST_PP_SLOT_TEMP_1 7 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 8 +# define BOOST_PP_SLOT_TEMP_1 8 +# elif BOOST_PP_SLOT_OFFSET_2(BOOST_PP_VALUE) == 9 +# define BOOST_PP_SLOT_TEMP_1 9 +# endif +# +# undef BOOST_PP_VALUE diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot1.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot1.hpp new file mode 100644 index 0000000..66d209a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot1.hpp @@ -0,0 +1,267 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_SLOT_1 +# +# undef BOOST_PP_SLOT_1_DIGIT_1 +# undef BOOST_PP_SLOT_1_DIGIT_2 +# undef BOOST_PP_SLOT_1_DIGIT_3 +# undef BOOST_PP_SLOT_1_DIGIT_4 +# undef BOOST_PP_SLOT_1_DIGIT_5 +# undef BOOST_PP_SLOT_1_DIGIT_6 +# undef BOOST_PP_SLOT_1_DIGIT_7 +# undef BOOST_PP_SLOT_1_DIGIT_8 +# undef BOOST_PP_SLOT_1_DIGIT_9 +# undef BOOST_PP_SLOT_1_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_10 == 0 +# define BOOST_PP_SLOT_1_DIGIT_10 0 +# elif BOOST_PP_SLOT_TEMP_10 == 1 +# define BOOST_PP_SLOT_1_DIGIT_10 1 +# elif BOOST_PP_SLOT_TEMP_10 == 2 +# define BOOST_PP_SLOT_1_DIGIT_10 2 +# elif BOOST_PP_SLOT_TEMP_10 == 3 +# define BOOST_PP_SLOT_1_DIGIT_10 3 +# elif BOOST_PP_SLOT_TEMP_10 == 4 +# define BOOST_PP_SLOT_1_DIGIT_10 4 +# elif BOOST_PP_SLOT_TEMP_10 == 5 +# define BOOST_PP_SLOT_1_DIGIT_10 5 +# elif BOOST_PP_SLOT_TEMP_10 == 6 +# define BOOST_PP_SLOT_1_DIGIT_10 6 +# elif BOOST_PP_SLOT_TEMP_10 == 7 +# define BOOST_PP_SLOT_1_DIGIT_10 7 +# elif BOOST_PP_SLOT_TEMP_10 == 8 +# define BOOST_PP_SLOT_1_DIGIT_10 8 +# elif BOOST_PP_SLOT_TEMP_10 == 9 +# define BOOST_PP_SLOT_1_DIGIT_10 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_9 == 0 +# define BOOST_PP_SLOT_1_DIGIT_9 0 +# elif BOOST_PP_SLOT_TEMP_9 == 1 +# define BOOST_PP_SLOT_1_DIGIT_9 1 +# elif BOOST_PP_SLOT_TEMP_9 == 2 +# define BOOST_PP_SLOT_1_DIGIT_9 2 +# elif BOOST_PP_SLOT_TEMP_9 == 3 +# define BOOST_PP_SLOT_1_DIGIT_9 3 +# elif BOOST_PP_SLOT_TEMP_9 == 4 +# define BOOST_PP_SLOT_1_DIGIT_9 4 +# elif BOOST_PP_SLOT_TEMP_9 == 5 +# define BOOST_PP_SLOT_1_DIGIT_9 5 +# elif BOOST_PP_SLOT_TEMP_9 == 6 +# define BOOST_PP_SLOT_1_DIGIT_9 6 +# elif BOOST_PP_SLOT_TEMP_9 == 7 +# define BOOST_PP_SLOT_1_DIGIT_9 7 +# elif BOOST_PP_SLOT_TEMP_9 == 8 +# define BOOST_PP_SLOT_1_DIGIT_9 8 +# elif BOOST_PP_SLOT_TEMP_9 == 9 +# define BOOST_PP_SLOT_1_DIGIT_9 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_8 == 0 +# define BOOST_PP_SLOT_1_DIGIT_8 0 +# elif BOOST_PP_SLOT_TEMP_8 == 1 +# define BOOST_PP_SLOT_1_DIGIT_8 1 +# elif BOOST_PP_SLOT_TEMP_8 == 2 +# define BOOST_PP_SLOT_1_DIGIT_8 2 +# elif BOOST_PP_SLOT_TEMP_8 == 3 +# define BOOST_PP_SLOT_1_DIGIT_8 3 +# elif BOOST_PP_SLOT_TEMP_8 == 4 +# define BOOST_PP_SLOT_1_DIGIT_8 4 +# elif BOOST_PP_SLOT_TEMP_8 == 5 +# define BOOST_PP_SLOT_1_DIGIT_8 5 +# elif BOOST_PP_SLOT_TEMP_8 == 6 +# define BOOST_PP_SLOT_1_DIGIT_8 6 +# elif BOOST_PP_SLOT_TEMP_8 == 7 +# define BOOST_PP_SLOT_1_DIGIT_8 7 +# elif BOOST_PP_SLOT_TEMP_8 == 8 +# define BOOST_PP_SLOT_1_DIGIT_8 8 +# elif BOOST_PP_SLOT_TEMP_8 == 9 +# define BOOST_PP_SLOT_1_DIGIT_8 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_7 == 0 +# define BOOST_PP_SLOT_1_DIGIT_7 0 +# elif BOOST_PP_SLOT_TEMP_7 == 1 +# define BOOST_PP_SLOT_1_DIGIT_7 1 +# elif BOOST_PP_SLOT_TEMP_7 == 2 +# define BOOST_PP_SLOT_1_DIGIT_7 2 +# elif BOOST_PP_SLOT_TEMP_7 == 3 +# define BOOST_PP_SLOT_1_DIGIT_7 3 +# elif BOOST_PP_SLOT_TEMP_7 == 4 +# define BOOST_PP_SLOT_1_DIGIT_7 4 +# elif BOOST_PP_SLOT_TEMP_7 == 5 +# define BOOST_PP_SLOT_1_DIGIT_7 5 +# elif BOOST_PP_SLOT_TEMP_7 == 6 +# define BOOST_PP_SLOT_1_DIGIT_7 6 +# elif BOOST_PP_SLOT_TEMP_7 == 7 +# define BOOST_PP_SLOT_1_DIGIT_7 7 +# elif BOOST_PP_SLOT_TEMP_7 == 8 +# define BOOST_PP_SLOT_1_DIGIT_7 8 +# elif BOOST_PP_SLOT_TEMP_7 == 9 +# define BOOST_PP_SLOT_1_DIGIT_7 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_6 == 0 +# define BOOST_PP_SLOT_1_DIGIT_6 0 +# elif BOOST_PP_SLOT_TEMP_6 == 1 +# define BOOST_PP_SLOT_1_DIGIT_6 1 +# elif BOOST_PP_SLOT_TEMP_6 == 2 +# define BOOST_PP_SLOT_1_DIGIT_6 2 +# elif BOOST_PP_SLOT_TEMP_6 == 3 +# define BOOST_PP_SLOT_1_DIGIT_6 3 +# elif BOOST_PP_SLOT_TEMP_6 == 4 +# define BOOST_PP_SLOT_1_DIGIT_6 4 +# elif BOOST_PP_SLOT_TEMP_6 == 5 +# define BOOST_PP_SLOT_1_DIGIT_6 5 +# elif BOOST_PP_SLOT_TEMP_6 == 6 +# define BOOST_PP_SLOT_1_DIGIT_6 6 +# elif BOOST_PP_SLOT_TEMP_6 == 7 +# define BOOST_PP_SLOT_1_DIGIT_6 7 +# elif BOOST_PP_SLOT_TEMP_6 == 8 +# define BOOST_PP_SLOT_1_DIGIT_6 8 +# elif BOOST_PP_SLOT_TEMP_6 == 9 +# define BOOST_PP_SLOT_1_DIGIT_6 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_5 == 0 +# define BOOST_PP_SLOT_1_DIGIT_5 0 +# elif BOOST_PP_SLOT_TEMP_5 == 1 +# define BOOST_PP_SLOT_1_DIGIT_5 1 +# elif BOOST_PP_SLOT_TEMP_5 == 2 +# define BOOST_PP_SLOT_1_DIGIT_5 2 +# elif BOOST_PP_SLOT_TEMP_5 == 3 +# define BOOST_PP_SLOT_1_DIGIT_5 3 +# elif BOOST_PP_SLOT_TEMP_5 == 4 +# define BOOST_PP_SLOT_1_DIGIT_5 4 +# elif BOOST_PP_SLOT_TEMP_5 == 5 +# define BOOST_PP_SLOT_1_DIGIT_5 5 +# elif BOOST_PP_SLOT_TEMP_5 == 6 +# define BOOST_PP_SLOT_1_DIGIT_5 6 +# elif BOOST_PP_SLOT_TEMP_5 == 7 +# define BOOST_PP_SLOT_1_DIGIT_5 7 +# elif BOOST_PP_SLOT_TEMP_5 == 8 +# define BOOST_PP_SLOT_1_DIGIT_5 8 +# elif BOOST_PP_SLOT_TEMP_5 == 9 +# define BOOST_PP_SLOT_1_DIGIT_5 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_4 == 0 +# define BOOST_PP_SLOT_1_DIGIT_4 0 +# elif BOOST_PP_SLOT_TEMP_4 == 1 +# define BOOST_PP_SLOT_1_DIGIT_4 1 +# elif BOOST_PP_SLOT_TEMP_4 == 2 +# define BOOST_PP_SLOT_1_DIGIT_4 2 +# elif BOOST_PP_SLOT_TEMP_4 == 3 +# define BOOST_PP_SLOT_1_DIGIT_4 3 +# elif BOOST_PP_SLOT_TEMP_4 == 4 +# define BOOST_PP_SLOT_1_DIGIT_4 4 +# elif BOOST_PP_SLOT_TEMP_4 == 5 +# define BOOST_PP_SLOT_1_DIGIT_4 5 +# elif BOOST_PP_SLOT_TEMP_4 == 6 +# define BOOST_PP_SLOT_1_DIGIT_4 6 +# elif BOOST_PP_SLOT_TEMP_4 == 7 +# define BOOST_PP_SLOT_1_DIGIT_4 7 +# elif BOOST_PP_SLOT_TEMP_4 == 8 +# define BOOST_PP_SLOT_1_DIGIT_4 8 +# elif BOOST_PP_SLOT_TEMP_4 == 9 +# define BOOST_PP_SLOT_1_DIGIT_4 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_SLOT_1_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_SLOT_1_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_SLOT_1_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_SLOT_1_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_SLOT_1_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_SLOT_1_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_SLOT_1_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_SLOT_1_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_SLOT_1_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_SLOT_1_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_SLOT_1_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_SLOT_1_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_SLOT_1_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_SLOT_1_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_SLOT_1_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_SLOT_1_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_SLOT_1_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_SLOT_1_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_SLOT_1_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_SLOT_1_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_SLOT_1_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_SLOT_1_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_SLOT_1_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_SLOT_1_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_SLOT_1_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_SLOT_1_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_SLOT_1_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_SLOT_1_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_SLOT_1_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_SLOT_1_DIGIT_1 9 +# endif +# +# if BOOST_PP_SLOT_1_DIGIT_10 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_1_DIGIT_10, BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_9 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_1_DIGIT_9, BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_8 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_1_DIGIT_8, BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_7 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_1_DIGIT_7, BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_6 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_1_DIGIT_6, BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_5 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_1_DIGIT_5, BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_4 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_1_DIGIT_4, BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_3 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_1_DIGIT_3, BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# elif BOOST_PP_SLOT_1_DIGIT_2 +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_1_DIGIT_2, BOOST_PP_SLOT_1_DIGIT_1) +# else +# define BOOST_PP_SLOT_1() BOOST_PP_SLOT_1_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot2.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot2.hpp new file mode 100644 index 0000000..8eccc88 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot2.hpp @@ -0,0 +1,267 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_SLOT_2 +# +# undef BOOST_PP_SLOT_2_DIGIT_1 +# undef BOOST_PP_SLOT_2_DIGIT_2 +# undef BOOST_PP_SLOT_2_DIGIT_3 +# undef BOOST_PP_SLOT_2_DIGIT_4 +# undef BOOST_PP_SLOT_2_DIGIT_5 +# undef BOOST_PP_SLOT_2_DIGIT_6 +# undef BOOST_PP_SLOT_2_DIGIT_7 +# undef BOOST_PP_SLOT_2_DIGIT_8 +# undef BOOST_PP_SLOT_2_DIGIT_9 +# undef BOOST_PP_SLOT_2_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_10 == 0 +# define BOOST_PP_SLOT_2_DIGIT_10 0 +# elif BOOST_PP_SLOT_TEMP_10 == 1 +# define BOOST_PP_SLOT_2_DIGIT_10 1 +# elif BOOST_PP_SLOT_TEMP_10 == 2 +# define BOOST_PP_SLOT_2_DIGIT_10 2 +# elif BOOST_PP_SLOT_TEMP_10 == 3 +# define BOOST_PP_SLOT_2_DIGIT_10 3 +# elif BOOST_PP_SLOT_TEMP_10 == 4 +# define BOOST_PP_SLOT_2_DIGIT_10 4 +# elif BOOST_PP_SLOT_TEMP_10 == 5 +# define BOOST_PP_SLOT_2_DIGIT_10 5 +# elif BOOST_PP_SLOT_TEMP_10 == 6 +# define BOOST_PP_SLOT_2_DIGIT_10 6 +# elif BOOST_PP_SLOT_TEMP_10 == 7 +# define BOOST_PP_SLOT_2_DIGIT_10 7 +# elif BOOST_PP_SLOT_TEMP_10 == 8 +# define BOOST_PP_SLOT_2_DIGIT_10 8 +# elif BOOST_PP_SLOT_TEMP_10 == 9 +# define BOOST_PP_SLOT_2_DIGIT_10 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_9 == 0 +# define BOOST_PP_SLOT_2_DIGIT_9 0 +# elif BOOST_PP_SLOT_TEMP_9 == 1 +# define BOOST_PP_SLOT_2_DIGIT_9 1 +# elif BOOST_PP_SLOT_TEMP_9 == 2 +# define BOOST_PP_SLOT_2_DIGIT_9 2 +# elif BOOST_PP_SLOT_TEMP_9 == 3 +# define BOOST_PP_SLOT_2_DIGIT_9 3 +# elif BOOST_PP_SLOT_TEMP_9 == 4 +# define BOOST_PP_SLOT_2_DIGIT_9 4 +# elif BOOST_PP_SLOT_TEMP_9 == 5 +# define BOOST_PP_SLOT_2_DIGIT_9 5 +# elif BOOST_PP_SLOT_TEMP_9 == 6 +# define BOOST_PP_SLOT_2_DIGIT_9 6 +# elif BOOST_PP_SLOT_TEMP_9 == 7 +# define BOOST_PP_SLOT_2_DIGIT_9 7 +# elif BOOST_PP_SLOT_TEMP_9 == 8 +# define BOOST_PP_SLOT_2_DIGIT_9 8 +# elif BOOST_PP_SLOT_TEMP_9 == 9 +# define BOOST_PP_SLOT_2_DIGIT_9 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_8 == 0 +# define BOOST_PP_SLOT_2_DIGIT_8 0 +# elif BOOST_PP_SLOT_TEMP_8 == 1 +# define BOOST_PP_SLOT_2_DIGIT_8 1 +# elif BOOST_PP_SLOT_TEMP_8 == 2 +# define BOOST_PP_SLOT_2_DIGIT_8 2 +# elif BOOST_PP_SLOT_TEMP_8 == 3 +# define BOOST_PP_SLOT_2_DIGIT_8 3 +# elif BOOST_PP_SLOT_TEMP_8 == 4 +# define BOOST_PP_SLOT_2_DIGIT_8 4 +# elif BOOST_PP_SLOT_TEMP_8 == 5 +# define BOOST_PP_SLOT_2_DIGIT_8 5 +# elif BOOST_PP_SLOT_TEMP_8 == 6 +# define BOOST_PP_SLOT_2_DIGIT_8 6 +# elif BOOST_PP_SLOT_TEMP_8 == 7 +# define BOOST_PP_SLOT_2_DIGIT_8 7 +# elif BOOST_PP_SLOT_TEMP_8 == 8 +# define BOOST_PP_SLOT_2_DIGIT_8 8 +# elif BOOST_PP_SLOT_TEMP_8 == 9 +# define BOOST_PP_SLOT_2_DIGIT_8 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_7 == 0 +# define BOOST_PP_SLOT_2_DIGIT_7 0 +# elif BOOST_PP_SLOT_TEMP_7 == 1 +# define BOOST_PP_SLOT_2_DIGIT_7 1 +# elif BOOST_PP_SLOT_TEMP_7 == 2 +# define BOOST_PP_SLOT_2_DIGIT_7 2 +# elif BOOST_PP_SLOT_TEMP_7 == 3 +# define BOOST_PP_SLOT_2_DIGIT_7 3 +# elif BOOST_PP_SLOT_TEMP_7 == 4 +# define BOOST_PP_SLOT_2_DIGIT_7 4 +# elif BOOST_PP_SLOT_TEMP_7 == 5 +# define BOOST_PP_SLOT_2_DIGIT_7 5 +# elif BOOST_PP_SLOT_TEMP_7 == 6 +# define BOOST_PP_SLOT_2_DIGIT_7 6 +# elif BOOST_PP_SLOT_TEMP_7 == 7 +# define BOOST_PP_SLOT_2_DIGIT_7 7 +# elif BOOST_PP_SLOT_TEMP_7 == 8 +# define BOOST_PP_SLOT_2_DIGIT_7 8 +# elif BOOST_PP_SLOT_TEMP_7 == 9 +# define BOOST_PP_SLOT_2_DIGIT_7 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_6 == 0 +# define BOOST_PP_SLOT_2_DIGIT_6 0 +# elif BOOST_PP_SLOT_TEMP_6 == 1 +# define BOOST_PP_SLOT_2_DIGIT_6 1 +# elif BOOST_PP_SLOT_TEMP_6 == 2 +# define BOOST_PP_SLOT_2_DIGIT_6 2 +# elif BOOST_PP_SLOT_TEMP_6 == 3 +# define BOOST_PP_SLOT_2_DIGIT_6 3 +# elif BOOST_PP_SLOT_TEMP_6 == 4 +# define BOOST_PP_SLOT_2_DIGIT_6 4 +# elif BOOST_PP_SLOT_TEMP_6 == 5 +# define BOOST_PP_SLOT_2_DIGIT_6 5 +# elif BOOST_PP_SLOT_TEMP_6 == 6 +# define BOOST_PP_SLOT_2_DIGIT_6 6 +# elif BOOST_PP_SLOT_TEMP_6 == 7 +# define BOOST_PP_SLOT_2_DIGIT_6 7 +# elif BOOST_PP_SLOT_TEMP_6 == 8 +# define BOOST_PP_SLOT_2_DIGIT_6 8 +# elif BOOST_PP_SLOT_TEMP_6 == 9 +# define BOOST_PP_SLOT_2_DIGIT_6 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_5 == 0 +# define BOOST_PP_SLOT_2_DIGIT_5 0 +# elif BOOST_PP_SLOT_TEMP_5 == 1 +# define BOOST_PP_SLOT_2_DIGIT_5 1 +# elif BOOST_PP_SLOT_TEMP_5 == 2 +# define BOOST_PP_SLOT_2_DIGIT_5 2 +# elif BOOST_PP_SLOT_TEMP_5 == 3 +# define BOOST_PP_SLOT_2_DIGIT_5 3 +# elif BOOST_PP_SLOT_TEMP_5 == 4 +# define BOOST_PP_SLOT_2_DIGIT_5 4 +# elif BOOST_PP_SLOT_TEMP_5 == 5 +# define BOOST_PP_SLOT_2_DIGIT_5 5 +# elif BOOST_PP_SLOT_TEMP_5 == 6 +# define BOOST_PP_SLOT_2_DIGIT_5 6 +# elif BOOST_PP_SLOT_TEMP_5 == 7 +# define BOOST_PP_SLOT_2_DIGIT_5 7 +# elif BOOST_PP_SLOT_TEMP_5 == 8 +# define BOOST_PP_SLOT_2_DIGIT_5 8 +# elif BOOST_PP_SLOT_TEMP_5 == 9 +# define BOOST_PP_SLOT_2_DIGIT_5 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_4 == 0 +# define BOOST_PP_SLOT_2_DIGIT_4 0 +# elif BOOST_PP_SLOT_TEMP_4 == 1 +# define BOOST_PP_SLOT_2_DIGIT_4 1 +# elif BOOST_PP_SLOT_TEMP_4 == 2 +# define BOOST_PP_SLOT_2_DIGIT_4 2 +# elif BOOST_PP_SLOT_TEMP_4 == 3 +# define BOOST_PP_SLOT_2_DIGIT_4 3 +# elif BOOST_PP_SLOT_TEMP_4 == 4 +# define BOOST_PP_SLOT_2_DIGIT_4 4 +# elif BOOST_PP_SLOT_TEMP_4 == 5 +# define BOOST_PP_SLOT_2_DIGIT_4 5 +# elif BOOST_PP_SLOT_TEMP_4 == 6 +# define BOOST_PP_SLOT_2_DIGIT_4 6 +# elif BOOST_PP_SLOT_TEMP_4 == 7 +# define BOOST_PP_SLOT_2_DIGIT_4 7 +# elif BOOST_PP_SLOT_TEMP_4 == 8 +# define BOOST_PP_SLOT_2_DIGIT_4 8 +# elif BOOST_PP_SLOT_TEMP_4 == 9 +# define BOOST_PP_SLOT_2_DIGIT_4 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_SLOT_2_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_SLOT_2_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_SLOT_2_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_SLOT_2_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_SLOT_2_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_SLOT_2_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_SLOT_2_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_SLOT_2_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_SLOT_2_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_SLOT_2_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_SLOT_2_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_SLOT_2_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_SLOT_2_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_SLOT_2_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_SLOT_2_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_SLOT_2_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_SLOT_2_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_SLOT_2_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_SLOT_2_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_SLOT_2_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_SLOT_2_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_SLOT_2_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_SLOT_2_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_SLOT_2_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_SLOT_2_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_SLOT_2_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_SLOT_2_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_SLOT_2_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_SLOT_2_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_SLOT_2_DIGIT_1 9 +# endif +# +# if BOOST_PP_SLOT_2_DIGIT_10 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_2_DIGIT_10, BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_9 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_2_DIGIT_9, BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_8 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_2_DIGIT_8, BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_7 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_2_DIGIT_7, BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_6 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_2_DIGIT_6, BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_5 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_2_DIGIT_5, BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_4 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_2_DIGIT_4, BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_3 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_2_DIGIT_3, BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# elif BOOST_PP_SLOT_2_DIGIT_2 +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_2_DIGIT_2, BOOST_PP_SLOT_2_DIGIT_1) +# else +# define BOOST_PP_SLOT_2() BOOST_PP_SLOT_2_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot3.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot3.hpp new file mode 100644 index 0000000..2f29ac3 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot3.hpp @@ -0,0 +1,267 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_SLOT_3 +# +# undef BOOST_PP_SLOT_3_DIGIT_1 +# undef BOOST_PP_SLOT_3_DIGIT_2 +# undef BOOST_PP_SLOT_3_DIGIT_3 +# undef BOOST_PP_SLOT_3_DIGIT_4 +# undef BOOST_PP_SLOT_3_DIGIT_5 +# undef BOOST_PP_SLOT_3_DIGIT_6 +# undef BOOST_PP_SLOT_3_DIGIT_7 +# undef BOOST_PP_SLOT_3_DIGIT_8 +# undef BOOST_PP_SLOT_3_DIGIT_9 +# undef BOOST_PP_SLOT_3_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_10 == 0 +# define BOOST_PP_SLOT_3_DIGIT_10 0 +# elif BOOST_PP_SLOT_TEMP_10 == 1 +# define BOOST_PP_SLOT_3_DIGIT_10 1 +# elif BOOST_PP_SLOT_TEMP_10 == 2 +# define BOOST_PP_SLOT_3_DIGIT_10 2 +# elif BOOST_PP_SLOT_TEMP_10 == 3 +# define BOOST_PP_SLOT_3_DIGIT_10 3 +# elif BOOST_PP_SLOT_TEMP_10 == 4 +# define BOOST_PP_SLOT_3_DIGIT_10 4 +# elif BOOST_PP_SLOT_TEMP_10 == 5 +# define BOOST_PP_SLOT_3_DIGIT_10 5 +# elif BOOST_PP_SLOT_TEMP_10 == 6 +# define BOOST_PP_SLOT_3_DIGIT_10 6 +# elif BOOST_PP_SLOT_TEMP_10 == 7 +# define BOOST_PP_SLOT_3_DIGIT_10 7 +# elif BOOST_PP_SLOT_TEMP_10 == 8 +# define BOOST_PP_SLOT_3_DIGIT_10 8 +# elif BOOST_PP_SLOT_TEMP_10 == 9 +# define BOOST_PP_SLOT_3_DIGIT_10 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_9 == 0 +# define BOOST_PP_SLOT_3_DIGIT_9 0 +# elif BOOST_PP_SLOT_TEMP_9 == 1 +# define BOOST_PP_SLOT_3_DIGIT_9 1 +# elif BOOST_PP_SLOT_TEMP_9 == 2 +# define BOOST_PP_SLOT_3_DIGIT_9 2 +# elif BOOST_PP_SLOT_TEMP_9 == 3 +# define BOOST_PP_SLOT_3_DIGIT_9 3 +# elif BOOST_PP_SLOT_TEMP_9 == 4 +# define BOOST_PP_SLOT_3_DIGIT_9 4 +# elif BOOST_PP_SLOT_TEMP_9 == 5 +# define BOOST_PP_SLOT_3_DIGIT_9 5 +# elif BOOST_PP_SLOT_TEMP_9 == 6 +# define BOOST_PP_SLOT_3_DIGIT_9 6 +# elif BOOST_PP_SLOT_TEMP_9 == 7 +# define BOOST_PP_SLOT_3_DIGIT_9 7 +# elif BOOST_PP_SLOT_TEMP_9 == 8 +# define BOOST_PP_SLOT_3_DIGIT_9 8 +# elif BOOST_PP_SLOT_TEMP_9 == 9 +# define BOOST_PP_SLOT_3_DIGIT_9 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_8 == 0 +# define BOOST_PP_SLOT_3_DIGIT_8 0 +# elif BOOST_PP_SLOT_TEMP_8 == 1 +# define BOOST_PP_SLOT_3_DIGIT_8 1 +# elif BOOST_PP_SLOT_TEMP_8 == 2 +# define BOOST_PP_SLOT_3_DIGIT_8 2 +# elif BOOST_PP_SLOT_TEMP_8 == 3 +# define BOOST_PP_SLOT_3_DIGIT_8 3 +# elif BOOST_PP_SLOT_TEMP_8 == 4 +# define BOOST_PP_SLOT_3_DIGIT_8 4 +# elif BOOST_PP_SLOT_TEMP_8 == 5 +# define BOOST_PP_SLOT_3_DIGIT_8 5 +# elif BOOST_PP_SLOT_TEMP_8 == 6 +# define BOOST_PP_SLOT_3_DIGIT_8 6 +# elif BOOST_PP_SLOT_TEMP_8 == 7 +# define BOOST_PP_SLOT_3_DIGIT_8 7 +# elif BOOST_PP_SLOT_TEMP_8 == 8 +# define BOOST_PP_SLOT_3_DIGIT_8 8 +# elif BOOST_PP_SLOT_TEMP_8 == 9 +# define BOOST_PP_SLOT_3_DIGIT_8 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_7 == 0 +# define BOOST_PP_SLOT_3_DIGIT_7 0 +# elif BOOST_PP_SLOT_TEMP_7 == 1 +# define BOOST_PP_SLOT_3_DIGIT_7 1 +# elif BOOST_PP_SLOT_TEMP_7 == 2 +# define BOOST_PP_SLOT_3_DIGIT_7 2 +# elif BOOST_PP_SLOT_TEMP_7 == 3 +# define BOOST_PP_SLOT_3_DIGIT_7 3 +# elif BOOST_PP_SLOT_TEMP_7 == 4 +# define BOOST_PP_SLOT_3_DIGIT_7 4 +# elif BOOST_PP_SLOT_TEMP_7 == 5 +# define BOOST_PP_SLOT_3_DIGIT_7 5 +# elif BOOST_PP_SLOT_TEMP_7 == 6 +# define BOOST_PP_SLOT_3_DIGIT_7 6 +# elif BOOST_PP_SLOT_TEMP_7 == 7 +# define BOOST_PP_SLOT_3_DIGIT_7 7 +# elif BOOST_PP_SLOT_TEMP_7 == 8 +# define BOOST_PP_SLOT_3_DIGIT_7 8 +# elif BOOST_PP_SLOT_TEMP_7 == 9 +# define BOOST_PP_SLOT_3_DIGIT_7 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_6 == 0 +# define BOOST_PP_SLOT_3_DIGIT_6 0 +# elif BOOST_PP_SLOT_TEMP_6 == 1 +# define BOOST_PP_SLOT_3_DIGIT_6 1 +# elif BOOST_PP_SLOT_TEMP_6 == 2 +# define BOOST_PP_SLOT_3_DIGIT_6 2 +# elif BOOST_PP_SLOT_TEMP_6 == 3 +# define BOOST_PP_SLOT_3_DIGIT_6 3 +# elif BOOST_PP_SLOT_TEMP_6 == 4 +# define BOOST_PP_SLOT_3_DIGIT_6 4 +# elif BOOST_PP_SLOT_TEMP_6 == 5 +# define BOOST_PP_SLOT_3_DIGIT_6 5 +# elif BOOST_PP_SLOT_TEMP_6 == 6 +# define BOOST_PP_SLOT_3_DIGIT_6 6 +# elif BOOST_PP_SLOT_TEMP_6 == 7 +# define BOOST_PP_SLOT_3_DIGIT_6 7 +# elif BOOST_PP_SLOT_TEMP_6 == 8 +# define BOOST_PP_SLOT_3_DIGIT_6 8 +# elif BOOST_PP_SLOT_TEMP_6 == 9 +# define BOOST_PP_SLOT_3_DIGIT_6 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_5 == 0 +# define BOOST_PP_SLOT_3_DIGIT_5 0 +# elif BOOST_PP_SLOT_TEMP_5 == 1 +# define BOOST_PP_SLOT_3_DIGIT_5 1 +# elif BOOST_PP_SLOT_TEMP_5 == 2 +# define BOOST_PP_SLOT_3_DIGIT_5 2 +# elif BOOST_PP_SLOT_TEMP_5 == 3 +# define BOOST_PP_SLOT_3_DIGIT_5 3 +# elif BOOST_PP_SLOT_TEMP_5 == 4 +# define BOOST_PP_SLOT_3_DIGIT_5 4 +# elif BOOST_PP_SLOT_TEMP_5 == 5 +# define BOOST_PP_SLOT_3_DIGIT_5 5 +# elif BOOST_PP_SLOT_TEMP_5 == 6 +# define BOOST_PP_SLOT_3_DIGIT_5 6 +# elif BOOST_PP_SLOT_TEMP_5 == 7 +# define BOOST_PP_SLOT_3_DIGIT_5 7 +# elif BOOST_PP_SLOT_TEMP_5 == 8 +# define BOOST_PP_SLOT_3_DIGIT_5 8 +# elif BOOST_PP_SLOT_TEMP_5 == 9 +# define BOOST_PP_SLOT_3_DIGIT_5 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_4 == 0 +# define BOOST_PP_SLOT_3_DIGIT_4 0 +# elif BOOST_PP_SLOT_TEMP_4 == 1 +# define BOOST_PP_SLOT_3_DIGIT_4 1 +# elif BOOST_PP_SLOT_TEMP_4 == 2 +# define BOOST_PP_SLOT_3_DIGIT_4 2 +# elif BOOST_PP_SLOT_TEMP_4 == 3 +# define BOOST_PP_SLOT_3_DIGIT_4 3 +# elif BOOST_PP_SLOT_TEMP_4 == 4 +# define BOOST_PP_SLOT_3_DIGIT_4 4 +# elif BOOST_PP_SLOT_TEMP_4 == 5 +# define BOOST_PP_SLOT_3_DIGIT_4 5 +# elif BOOST_PP_SLOT_TEMP_4 == 6 +# define BOOST_PP_SLOT_3_DIGIT_4 6 +# elif BOOST_PP_SLOT_TEMP_4 == 7 +# define BOOST_PP_SLOT_3_DIGIT_4 7 +# elif BOOST_PP_SLOT_TEMP_4 == 8 +# define BOOST_PP_SLOT_3_DIGIT_4 8 +# elif BOOST_PP_SLOT_TEMP_4 == 9 +# define BOOST_PP_SLOT_3_DIGIT_4 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_SLOT_3_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_SLOT_3_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_SLOT_3_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_SLOT_3_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_SLOT_3_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_SLOT_3_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_SLOT_3_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_SLOT_3_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_SLOT_3_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_SLOT_3_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_SLOT_3_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_SLOT_3_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_SLOT_3_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_SLOT_3_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_SLOT_3_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_SLOT_3_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_SLOT_3_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_SLOT_3_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_SLOT_3_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_SLOT_3_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_SLOT_3_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_SLOT_3_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_SLOT_3_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_SLOT_3_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_SLOT_3_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_SLOT_3_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_SLOT_3_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_SLOT_3_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_SLOT_3_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_SLOT_3_DIGIT_1 9 +# endif +# +# if BOOST_PP_SLOT_3_DIGIT_10 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_3_DIGIT_10, BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_9 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_3_DIGIT_9, BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_8 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_3_DIGIT_8, BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_7 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_3_DIGIT_7, BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_6 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_3_DIGIT_6, BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_5 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_3_DIGIT_5, BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_4 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_3_DIGIT_4, BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_3 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_3_DIGIT_3, BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# elif BOOST_PP_SLOT_3_DIGIT_2 +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_3_DIGIT_2, BOOST_PP_SLOT_3_DIGIT_1) +# else +# define BOOST_PP_SLOT_3() BOOST_PP_SLOT_3_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot4.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot4.hpp new file mode 100644 index 0000000..ddcbb71 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot4.hpp @@ -0,0 +1,267 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_SLOT_4 +# +# undef BOOST_PP_SLOT_4_DIGIT_1 +# undef BOOST_PP_SLOT_4_DIGIT_2 +# undef BOOST_PP_SLOT_4_DIGIT_3 +# undef BOOST_PP_SLOT_4_DIGIT_4 +# undef BOOST_PP_SLOT_4_DIGIT_5 +# undef BOOST_PP_SLOT_4_DIGIT_6 +# undef BOOST_PP_SLOT_4_DIGIT_7 +# undef BOOST_PP_SLOT_4_DIGIT_8 +# undef BOOST_PP_SLOT_4_DIGIT_9 +# undef BOOST_PP_SLOT_4_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_10 == 0 +# define BOOST_PP_SLOT_4_DIGIT_10 0 +# elif BOOST_PP_SLOT_TEMP_10 == 1 +# define BOOST_PP_SLOT_4_DIGIT_10 1 +# elif BOOST_PP_SLOT_TEMP_10 == 2 +# define BOOST_PP_SLOT_4_DIGIT_10 2 +# elif BOOST_PP_SLOT_TEMP_10 == 3 +# define BOOST_PP_SLOT_4_DIGIT_10 3 +# elif BOOST_PP_SLOT_TEMP_10 == 4 +# define BOOST_PP_SLOT_4_DIGIT_10 4 +# elif BOOST_PP_SLOT_TEMP_10 == 5 +# define BOOST_PP_SLOT_4_DIGIT_10 5 +# elif BOOST_PP_SLOT_TEMP_10 == 6 +# define BOOST_PP_SLOT_4_DIGIT_10 6 +# elif BOOST_PP_SLOT_TEMP_10 == 7 +# define BOOST_PP_SLOT_4_DIGIT_10 7 +# elif BOOST_PP_SLOT_TEMP_10 == 8 +# define BOOST_PP_SLOT_4_DIGIT_10 8 +# elif BOOST_PP_SLOT_TEMP_10 == 9 +# define BOOST_PP_SLOT_4_DIGIT_10 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_9 == 0 +# define BOOST_PP_SLOT_4_DIGIT_9 0 +# elif BOOST_PP_SLOT_TEMP_9 == 1 +# define BOOST_PP_SLOT_4_DIGIT_9 1 +# elif BOOST_PP_SLOT_TEMP_9 == 2 +# define BOOST_PP_SLOT_4_DIGIT_9 2 +# elif BOOST_PP_SLOT_TEMP_9 == 3 +# define BOOST_PP_SLOT_4_DIGIT_9 3 +# elif BOOST_PP_SLOT_TEMP_9 == 4 +# define BOOST_PP_SLOT_4_DIGIT_9 4 +# elif BOOST_PP_SLOT_TEMP_9 == 5 +# define BOOST_PP_SLOT_4_DIGIT_9 5 +# elif BOOST_PP_SLOT_TEMP_9 == 6 +# define BOOST_PP_SLOT_4_DIGIT_9 6 +# elif BOOST_PP_SLOT_TEMP_9 == 7 +# define BOOST_PP_SLOT_4_DIGIT_9 7 +# elif BOOST_PP_SLOT_TEMP_9 == 8 +# define BOOST_PP_SLOT_4_DIGIT_9 8 +# elif BOOST_PP_SLOT_TEMP_9 == 9 +# define BOOST_PP_SLOT_4_DIGIT_9 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_8 == 0 +# define BOOST_PP_SLOT_4_DIGIT_8 0 +# elif BOOST_PP_SLOT_TEMP_8 == 1 +# define BOOST_PP_SLOT_4_DIGIT_8 1 +# elif BOOST_PP_SLOT_TEMP_8 == 2 +# define BOOST_PP_SLOT_4_DIGIT_8 2 +# elif BOOST_PP_SLOT_TEMP_8 == 3 +# define BOOST_PP_SLOT_4_DIGIT_8 3 +# elif BOOST_PP_SLOT_TEMP_8 == 4 +# define BOOST_PP_SLOT_4_DIGIT_8 4 +# elif BOOST_PP_SLOT_TEMP_8 == 5 +# define BOOST_PP_SLOT_4_DIGIT_8 5 +# elif BOOST_PP_SLOT_TEMP_8 == 6 +# define BOOST_PP_SLOT_4_DIGIT_8 6 +# elif BOOST_PP_SLOT_TEMP_8 == 7 +# define BOOST_PP_SLOT_4_DIGIT_8 7 +# elif BOOST_PP_SLOT_TEMP_8 == 8 +# define BOOST_PP_SLOT_4_DIGIT_8 8 +# elif BOOST_PP_SLOT_TEMP_8 == 9 +# define BOOST_PP_SLOT_4_DIGIT_8 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_7 == 0 +# define BOOST_PP_SLOT_4_DIGIT_7 0 +# elif BOOST_PP_SLOT_TEMP_7 == 1 +# define BOOST_PP_SLOT_4_DIGIT_7 1 +# elif BOOST_PP_SLOT_TEMP_7 == 2 +# define BOOST_PP_SLOT_4_DIGIT_7 2 +# elif BOOST_PP_SLOT_TEMP_7 == 3 +# define BOOST_PP_SLOT_4_DIGIT_7 3 +# elif BOOST_PP_SLOT_TEMP_7 == 4 +# define BOOST_PP_SLOT_4_DIGIT_7 4 +# elif BOOST_PP_SLOT_TEMP_7 == 5 +# define BOOST_PP_SLOT_4_DIGIT_7 5 +# elif BOOST_PP_SLOT_TEMP_7 == 6 +# define BOOST_PP_SLOT_4_DIGIT_7 6 +# elif BOOST_PP_SLOT_TEMP_7 == 7 +# define BOOST_PP_SLOT_4_DIGIT_7 7 +# elif BOOST_PP_SLOT_TEMP_7 == 8 +# define BOOST_PP_SLOT_4_DIGIT_7 8 +# elif BOOST_PP_SLOT_TEMP_7 == 9 +# define BOOST_PP_SLOT_4_DIGIT_7 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_6 == 0 +# define BOOST_PP_SLOT_4_DIGIT_6 0 +# elif BOOST_PP_SLOT_TEMP_6 == 1 +# define BOOST_PP_SLOT_4_DIGIT_6 1 +# elif BOOST_PP_SLOT_TEMP_6 == 2 +# define BOOST_PP_SLOT_4_DIGIT_6 2 +# elif BOOST_PP_SLOT_TEMP_6 == 3 +# define BOOST_PP_SLOT_4_DIGIT_6 3 +# elif BOOST_PP_SLOT_TEMP_6 == 4 +# define BOOST_PP_SLOT_4_DIGIT_6 4 +# elif BOOST_PP_SLOT_TEMP_6 == 5 +# define BOOST_PP_SLOT_4_DIGIT_6 5 +# elif BOOST_PP_SLOT_TEMP_6 == 6 +# define BOOST_PP_SLOT_4_DIGIT_6 6 +# elif BOOST_PP_SLOT_TEMP_6 == 7 +# define BOOST_PP_SLOT_4_DIGIT_6 7 +# elif BOOST_PP_SLOT_TEMP_6 == 8 +# define BOOST_PP_SLOT_4_DIGIT_6 8 +# elif BOOST_PP_SLOT_TEMP_6 == 9 +# define BOOST_PP_SLOT_4_DIGIT_6 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_5 == 0 +# define BOOST_PP_SLOT_4_DIGIT_5 0 +# elif BOOST_PP_SLOT_TEMP_5 == 1 +# define BOOST_PP_SLOT_4_DIGIT_5 1 +# elif BOOST_PP_SLOT_TEMP_5 == 2 +# define BOOST_PP_SLOT_4_DIGIT_5 2 +# elif BOOST_PP_SLOT_TEMP_5 == 3 +# define BOOST_PP_SLOT_4_DIGIT_5 3 +# elif BOOST_PP_SLOT_TEMP_5 == 4 +# define BOOST_PP_SLOT_4_DIGIT_5 4 +# elif BOOST_PP_SLOT_TEMP_5 == 5 +# define BOOST_PP_SLOT_4_DIGIT_5 5 +# elif BOOST_PP_SLOT_TEMP_5 == 6 +# define BOOST_PP_SLOT_4_DIGIT_5 6 +# elif BOOST_PP_SLOT_TEMP_5 == 7 +# define BOOST_PP_SLOT_4_DIGIT_5 7 +# elif BOOST_PP_SLOT_TEMP_5 == 8 +# define BOOST_PP_SLOT_4_DIGIT_5 8 +# elif BOOST_PP_SLOT_TEMP_5 == 9 +# define BOOST_PP_SLOT_4_DIGIT_5 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_4 == 0 +# define BOOST_PP_SLOT_4_DIGIT_4 0 +# elif BOOST_PP_SLOT_TEMP_4 == 1 +# define BOOST_PP_SLOT_4_DIGIT_4 1 +# elif BOOST_PP_SLOT_TEMP_4 == 2 +# define BOOST_PP_SLOT_4_DIGIT_4 2 +# elif BOOST_PP_SLOT_TEMP_4 == 3 +# define BOOST_PP_SLOT_4_DIGIT_4 3 +# elif BOOST_PP_SLOT_TEMP_4 == 4 +# define BOOST_PP_SLOT_4_DIGIT_4 4 +# elif BOOST_PP_SLOT_TEMP_4 == 5 +# define BOOST_PP_SLOT_4_DIGIT_4 5 +# elif BOOST_PP_SLOT_TEMP_4 == 6 +# define BOOST_PP_SLOT_4_DIGIT_4 6 +# elif BOOST_PP_SLOT_TEMP_4 == 7 +# define BOOST_PP_SLOT_4_DIGIT_4 7 +# elif BOOST_PP_SLOT_TEMP_4 == 8 +# define BOOST_PP_SLOT_4_DIGIT_4 8 +# elif BOOST_PP_SLOT_TEMP_4 == 9 +# define BOOST_PP_SLOT_4_DIGIT_4 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_SLOT_4_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_SLOT_4_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_SLOT_4_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_SLOT_4_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_SLOT_4_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_SLOT_4_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_SLOT_4_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_SLOT_4_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_SLOT_4_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_SLOT_4_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_SLOT_4_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_SLOT_4_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_SLOT_4_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_SLOT_4_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_SLOT_4_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_SLOT_4_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_SLOT_4_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_SLOT_4_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_SLOT_4_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_SLOT_4_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_SLOT_4_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_SLOT_4_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_SLOT_4_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_SLOT_4_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_SLOT_4_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_SLOT_4_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_SLOT_4_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_SLOT_4_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_SLOT_4_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_SLOT_4_DIGIT_1 9 +# endif +# +# if BOOST_PP_SLOT_4_DIGIT_10 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_4_DIGIT_10, BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_9 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_4_DIGIT_9, BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_8 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_4_DIGIT_8, BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_7 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_4_DIGIT_7, BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_6 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_4_DIGIT_6, BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_5 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_4_DIGIT_5, BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_4 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_4_DIGIT_4, BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_3 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_4_DIGIT_3, BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# elif BOOST_PP_SLOT_4_DIGIT_2 +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_4_DIGIT_2, BOOST_PP_SLOT_4_DIGIT_1) +# else +# define BOOST_PP_SLOT_4() BOOST_PP_SLOT_4_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot5.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot5.hpp new file mode 100644 index 0000000..9763461 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/detail/slot5.hpp @@ -0,0 +1,267 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# include +# +# undef BOOST_PP_SLOT_5 +# +# undef BOOST_PP_SLOT_5_DIGIT_1 +# undef BOOST_PP_SLOT_5_DIGIT_2 +# undef BOOST_PP_SLOT_5_DIGIT_3 +# undef BOOST_PP_SLOT_5_DIGIT_4 +# undef BOOST_PP_SLOT_5_DIGIT_5 +# undef BOOST_PP_SLOT_5_DIGIT_6 +# undef BOOST_PP_SLOT_5_DIGIT_7 +# undef BOOST_PP_SLOT_5_DIGIT_8 +# undef BOOST_PP_SLOT_5_DIGIT_9 +# undef BOOST_PP_SLOT_5_DIGIT_10 +# +# if BOOST_PP_SLOT_TEMP_10 == 0 +# define BOOST_PP_SLOT_5_DIGIT_10 0 +# elif BOOST_PP_SLOT_TEMP_10 == 1 +# define BOOST_PP_SLOT_5_DIGIT_10 1 +# elif BOOST_PP_SLOT_TEMP_10 == 2 +# define BOOST_PP_SLOT_5_DIGIT_10 2 +# elif BOOST_PP_SLOT_TEMP_10 == 3 +# define BOOST_PP_SLOT_5_DIGIT_10 3 +# elif BOOST_PP_SLOT_TEMP_10 == 4 +# define BOOST_PP_SLOT_5_DIGIT_10 4 +# elif BOOST_PP_SLOT_TEMP_10 == 5 +# define BOOST_PP_SLOT_5_DIGIT_10 5 +# elif BOOST_PP_SLOT_TEMP_10 == 6 +# define BOOST_PP_SLOT_5_DIGIT_10 6 +# elif BOOST_PP_SLOT_TEMP_10 == 7 +# define BOOST_PP_SLOT_5_DIGIT_10 7 +# elif BOOST_PP_SLOT_TEMP_10 == 8 +# define BOOST_PP_SLOT_5_DIGIT_10 8 +# elif BOOST_PP_SLOT_TEMP_10 == 9 +# define BOOST_PP_SLOT_5_DIGIT_10 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_9 == 0 +# define BOOST_PP_SLOT_5_DIGIT_9 0 +# elif BOOST_PP_SLOT_TEMP_9 == 1 +# define BOOST_PP_SLOT_5_DIGIT_9 1 +# elif BOOST_PP_SLOT_TEMP_9 == 2 +# define BOOST_PP_SLOT_5_DIGIT_9 2 +# elif BOOST_PP_SLOT_TEMP_9 == 3 +# define BOOST_PP_SLOT_5_DIGIT_9 3 +# elif BOOST_PP_SLOT_TEMP_9 == 4 +# define BOOST_PP_SLOT_5_DIGIT_9 4 +# elif BOOST_PP_SLOT_TEMP_9 == 5 +# define BOOST_PP_SLOT_5_DIGIT_9 5 +# elif BOOST_PP_SLOT_TEMP_9 == 6 +# define BOOST_PP_SLOT_5_DIGIT_9 6 +# elif BOOST_PP_SLOT_TEMP_9 == 7 +# define BOOST_PP_SLOT_5_DIGIT_9 7 +# elif BOOST_PP_SLOT_TEMP_9 == 8 +# define BOOST_PP_SLOT_5_DIGIT_9 8 +# elif BOOST_PP_SLOT_TEMP_9 == 9 +# define BOOST_PP_SLOT_5_DIGIT_9 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_8 == 0 +# define BOOST_PP_SLOT_5_DIGIT_8 0 +# elif BOOST_PP_SLOT_TEMP_8 == 1 +# define BOOST_PP_SLOT_5_DIGIT_8 1 +# elif BOOST_PP_SLOT_TEMP_8 == 2 +# define BOOST_PP_SLOT_5_DIGIT_8 2 +# elif BOOST_PP_SLOT_TEMP_8 == 3 +# define BOOST_PP_SLOT_5_DIGIT_8 3 +# elif BOOST_PP_SLOT_TEMP_8 == 4 +# define BOOST_PP_SLOT_5_DIGIT_8 4 +# elif BOOST_PP_SLOT_TEMP_8 == 5 +# define BOOST_PP_SLOT_5_DIGIT_8 5 +# elif BOOST_PP_SLOT_TEMP_8 == 6 +# define BOOST_PP_SLOT_5_DIGIT_8 6 +# elif BOOST_PP_SLOT_TEMP_8 == 7 +# define BOOST_PP_SLOT_5_DIGIT_8 7 +# elif BOOST_PP_SLOT_TEMP_8 == 8 +# define BOOST_PP_SLOT_5_DIGIT_8 8 +# elif BOOST_PP_SLOT_TEMP_8 == 9 +# define BOOST_PP_SLOT_5_DIGIT_8 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_7 == 0 +# define BOOST_PP_SLOT_5_DIGIT_7 0 +# elif BOOST_PP_SLOT_TEMP_7 == 1 +# define BOOST_PP_SLOT_5_DIGIT_7 1 +# elif BOOST_PP_SLOT_TEMP_7 == 2 +# define BOOST_PP_SLOT_5_DIGIT_7 2 +# elif BOOST_PP_SLOT_TEMP_7 == 3 +# define BOOST_PP_SLOT_5_DIGIT_7 3 +# elif BOOST_PP_SLOT_TEMP_7 == 4 +# define BOOST_PP_SLOT_5_DIGIT_7 4 +# elif BOOST_PP_SLOT_TEMP_7 == 5 +# define BOOST_PP_SLOT_5_DIGIT_7 5 +# elif BOOST_PP_SLOT_TEMP_7 == 6 +# define BOOST_PP_SLOT_5_DIGIT_7 6 +# elif BOOST_PP_SLOT_TEMP_7 == 7 +# define BOOST_PP_SLOT_5_DIGIT_7 7 +# elif BOOST_PP_SLOT_TEMP_7 == 8 +# define BOOST_PP_SLOT_5_DIGIT_7 8 +# elif BOOST_PP_SLOT_TEMP_7 == 9 +# define BOOST_PP_SLOT_5_DIGIT_7 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_6 == 0 +# define BOOST_PP_SLOT_5_DIGIT_6 0 +# elif BOOST_PP_SLOT_TEMP_6 == 1 +# define BOOST_PP_SLOT_5_DIGIT_6 1 +# elif BOOST_PP_SLOT_TEMP_6 == 2 +# define BOOST_PP_SLOT_5_DIGIT_6 2 +# elif BOOST_PP_SLOT_TEMP_6 == 3 +# define BOOST_PP_SLOT_5_DIGIT_6 3 +# elif BOOST_PP_SLOT_TEMP_6 == 4 +# define BOOST_PP_SLOT_5_DIGIT_6 4 +# elif BOOST_PP_SLOT_TEMP_6 == 5 +# define BOOST_PP_SLOT_5_DIGIT_6 5 +# elif BOOST_PP_SLOT_TEMP_6 == 6 +# define BOOST_PP_SLOT_5_DIGIT_6 6 +# elif BOOST_PP_SLOT_TEMP_6 == 7 +# define BOOST_PP_SLOT_5_DIGIT_6 7 +# elif BOOST_PP_SLOT_TEMP_6 == 8 +# define BOOST_PP_SLOT_5_DIGIT_6 8 +# elif BOOST_PP_SLOT_TEMP_6 == 9 +# define BOOST_PP_SLOT_5_DIGIT_6 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_5 == 0 +# define BOOST_PP_SLOT_5_DIGIT_5 0 +# elif BOOST_PP_SLOT_TEMP_5 == 1 +# define BOOST_PP_SLOT_5_DIGIT_5 1 +# elif BOOST_PP_SLOT_TEMP_5 == 2 +# define BOOST_PP_SLOT_5_DIGIT_5 2 +# elif BOOST_PP_SLOT_TEMP_5 == 3 +# define BOOST_PP_SLOT_5_DIGIT_5 3 +# elif BOOST_PP_SLOT_TEMP_5 == 4 +# define BOOST_PP_SLOT_5_DIGIT_5 4 +# elif BOOST_PP_SLOT_TEMP_5 == 5 +# define BOOST_PP_SLOT_5_DIGIT_5 5 +# elif BOOST_PP_SLOT_TEMP_5 == 6 +# define BOOST_PP_SLOT_5_DIGIT_5 6 +# elif BOOST_PP_SLOT_TEMP_5 == 7 +# define BOOST_PP_SLOT_5_DIGIT_5 7 +# elif BOOST_PP_SLOT_TEMP_5 == 8 +# define BOOST_PP_SLOT_5_DIGIT_5 8 +# elif BOOST_PP_SLOT_TEMP_5 == 9 +# define BOOST_PP_SLOT_5_DIGIT_5 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_4 == 0 +# define BOOST_PP_SLOT_5_DIGIT_4 0 +# elif BOOST_PP_SLOT_TEMP_4 == 1 +# define BOOST_PP_SLOT_5_DIGIT_4 1 +# elif BOOST_PP_SLOT_TEMP_4 == 2 +# define BOOST_PP_SLOT_5_DIGIT_4 2 +# elif BOOST_PP_SLOT_TEMP_4 == 3 +# define BOOST_PP_SLOT_5_DIGIT_4 3 +# elif BOOST_PP_SLOT_TEMP_4 == 4 +# define BOOST_PP_SLOT_5_DIGIT_4 4 +# elif BOOST_PP_SLOT_TEMP_4 == 5 +# define BOOST_PP_SLOT_5_DIGIT_4 5 +# elif BOOST_PP_SLOT_TEMP_4 == 6 +# define BOOST_PP_SLOT_5_DIGIT_4 6 +# elif BOOST_PP_SLOT_TEMP_4 == 7 +# define BOOST_PP_SLOT_5_DIGIT_4 7 +# elif BOOST_PP_SLOT_TEMP_4 == 8 +# define BOOST_PP_SLOT_5_DIGIT_4 8 +# elif BOOST_PP_SLOT_TEMP_4 == 9 +# define BOOST_PP_SLOT_5_DIGIT_4 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_3 == 0 +# define BOOST_PP_SLOT_5_DIGIT_3 0 +# elif BOOST_PP_SLOT_TEMP_3 == 1 +# define BOOST_PP_SLOT_5_DIGIT_3 1 +# elif BOOST_PP_SLOT_TEMP_3 == 2 +# define BOOST_PP_SLOT_5_DIGIT_3 2 +# elif BOOST_PP_SLOT_TEMP_3 == 3 +# define BOOST_PP_SLOT_5_DIGIT_3 3 +# elif BOOST_PP_SLOT_TEMP_3 == 4 +# define BOOST_PP_SLOT_5_DIGIT_3 4 +# elif BOOST_PP_SLOT_TEMP_3 == 5 +# define BOOST_PP_SLOT_5_DIGIT_3 5 +# elif BOOST_PP_SLOT_TEMP_3 == 6 +# define BOOST_PP_SLOT_5_DIGIT_3 6 +# elif BOOST_PP_SLOT_TEMP_3 == 7 +# define BOOST_PP_SLOT_5_DIGIT_3 7 +# elif BOOST_PP_SLOT_TEMP_3 == 8 +# define BOOST_PP_SLOT_5_DIGIT_3 8 +# elif BOOST_PP_SLOT_TEMP_3 == 9 +# define BOOST_PP_SLOT_5_DIGIT_3 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_2 == 0 +# define BOOST_PP_SLOT_5_DIGIT_2 0 +# elif BOOST_PP_SLOT_TEMP_2 == 1 +# define BOOST_PP_SLOT_5_DIGIT_2 1 +# elif BOOST_PP_SLOT_TEMP_2 == 2 +# define BOOST_PP_SLOT_5_DIGIT_2 2 +# elif BOOST_PP_SLOT_TEMP_2 == 3 +# define BOOST_PP_SLOT_5_DIGIT_2 3 +# elif BOOST_PP_SLOT_TEMP_2 == 4 +# define BOOST_PP_SLOT_5_DIGIT_2 4 +# elif BOOST_PP_SLOT_TEMP_2 == 5 +# define BOOST_PP_SLOT_5_DIGIT_2 5 +# elif BOOST_PP_SLOT_TEMP_2 == 6 +# define BOOST_PP_SLOT_5_DIGIT_2 6 +# elif BOOST_PP_SLOT_TEMP_2 == 7 +# define BOOST_PP_SLOT_5_DIGIT_2 7 +# elif BOOST_PP_SLOT_TEMP_2 == 8 +# define BOOST_PP_SLOT_5_DIGIT_2 8 +# elif BOOST_PP_SLOT_TEMP_2 == 9 +# define BOOST_PP_SLOT_5_DIGIT_2 9 +# endif +# +# if BOOST_PP_SLOT_TEMP_1 == 0 +# define BOOST_PP_SLOT_5_DIGIT_1 0 +# elif BOOST_PP_SLOT_TEMP_1 == 1 +# define BOOST_PP_SLOT_5_DIGIT_1 1 +# elif BOOST_PP_SLOT_TEMP_1 == 2 +# define BOOST_PP_SLOT_5_DIGIT_1 2 +# elif BOOST_PP_SLOT_TEMP_1 == 3 +# define BOOST_PP_SLOT_5_DIGIT_1 3 +# elif BOOST_PP_SLOT_TEMP_1 == 4 +# define BOOST_PP_SLOT_5_DIGIT_1 4 +# elif BOOST_PP_SLOT_TEMP_1 == 5 +# define BOOST_PP_SLOT_5_DIGIT_1 5 +# elif BOOST_PP_SLOT_TEMP_1 == 6 +# define BOOST_PP_SLOT_5_DIGIT_1 6 +# elif BOOST_PP_SLOT_TEMP_1 == 7 +# define BOOST_PP_SLOT_5_DIGIT_1 7 +# elif BOOST_PP_SLOT_TEMP_1 == 8 +# define BOOST_PP_SLOT_5_DIGIT_1 8 +# elif BOOST_PP_SLOT_TEMP_1 == 9 +# define BOOST_PP_SLOT_5_DIGIT_1 9 +# endif +# +# if BOOST_PP_SLOT_5_DIGIT_10 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_10(BOOST_PP_SLOT_5_DIGIT_10, BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_9 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_9(BOOST_PP_SLOT_5_DIGIT_9, BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_8 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_8(BOOST_PP_SLOT_5_DIGIT_8, BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_7 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_7(BOOST_PP_SLOT_5_DIGIT_7, BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_6 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_6(BOOST_PP_SLOT_5_DIGIT_6, BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_5 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_5(BOOST_PP_SLOT_5_DIGIT_5, BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_4 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_4(BOOST_PP_SLOT_5_DIGIT_4, BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_3 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_3(BOOST_PP_SLOT_5_DIGIT_3, BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# elif BOOST_PP_SLOT_5_DIGIT_2 +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_CC_2(BOOST_PP_SLOT_5_DIGIT_2, BOOST_PP_SLOT_5_DIGIT_1) +# else +# define BOOST_PP_SLOT_5() BOOST_PP_SLOT_5_DIGIT_1 +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/slot.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/slot.hpp new file mode 100644 index 0000000..13127ee --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/slot/slot.hpp @@ -0,0 +1,32 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2002. +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SLOT_SLOT_HPP +# define BOOST_PREPROCESSOR_SLOT_SLOT_HPP +# +# include +# include +# +# /* BOOST_PP_ASSIGN_SLOT */ +# +# define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i) +# +# define BOOST_PP_ASSIGN_SLOT_1 +# define BOOST_PP_ASSIGN_SLOT_2 +# define BOOST_PP_ASSIGN_SLOT_3 +# define BOOST_PP_ASSIGN_SLOT_4 +# define BOOST_PP_ASSIGN_SLOT_5 +# +# /* BOOST_PP_SLOT */ +# +# define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)() +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/stringize.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/stringize.hpp new file mode 100644 index 0000000..db3127e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/stringize.hpp @@ -0,0 +1,33 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_STRINGIZE_HPP +# define BOOST_PREPROCESSOR_STRINGIZE_HPP +# +# include +# +# /* BOOST_PP_STRINGIZE */ +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_A((text)) +# define BOOST_PP_STRINGIZE_A(arg) BOOST_PP_STRINGIZE_I arg +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_OO((text)) +# define BOOST_PP_STRINGIZE_OO(par) BOOST_PP_STRINGIZE_I ## par +# else +# define BOOST_PP_STRINGIZE(text) BOOST_PP_STRINGIZE_I(text) +# endif +# +# define BOOST_PP_STRINGIZE_I(text) #text +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple.hpp new file mode 100644 index 0000000..fb93491 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple.hpp @@ -0,0 +1,24 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_HPP +# define BOOST_PREPROCESSOR_TUPLE_HPP +# +# include +# include +# include +# include +# include +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/eat.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/eat.hpp new file mode 100644 index 0000000..44683d0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/eat.hpp @@ -0,0 +1,57 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_EAT_HPP +# define BOOST_PREPROCESSOR_TUPLE_EAT_HPP +# +# include +# +# /* BOOST_PP_TUPLE_EAT */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_I(size) +# else +# define BOOST_PP_TUPLE_EAT(size) BOOST_PP_TUPLE_EAT_OO((size)) +# define BOOST_PP_TUPLE_EAT_OO(par) BOOST_PP_TUPLE_EAT_I ## par +# endif +# +# define BOOST_PP_TUPLE_EAT_I(size) BOOST_PP_TUPLE_EAT_ ## size +# +# define BOOST_PP_TUPLE_EAT_0() +# define BOOST_PP_TUPLE_EAT_1(a) +# define BOOST_PP_TUPLE_EAT_2(a, b) +# define BOOST_PP_TUPLE_EAT_3(a, b, c) +# define BOOST_PP_TUPLE_EAT_4(a, b, c, d) +# define BOOST_PP_TUPLE_EAT_5(a, b, c, d, e) +# define BOOST_PP_TUPLE_EAT_6(a, b, c, d, e, f) +# define BOOST_PP_TUPLE_EAT_7(a, b, c, d, e, f, g) +# define BOOST_PP_TUPLE_EAT_8(a, b, c, d, e, f, g, h) +# define BOOST_PP_TUPLE_EAT_9(a, b, c, d, e, f, g, h, i) +# define BOOST_PP_TUPLE_EAT_10(a, b, c, d, e, f, g, h, i, j) +# define BOOST_PP_TUPLE_EAT_11(a, b, c, d, e, f, g, h, i, j, k) +# define BOOST_PP_TUPLE_EAT_12(a, b, c, d, e, f, g, h, i, j, k, l) +# define BOOST_PP_TUPLE_EAT_13(a, b, c, d, e, f, g, h, i, j, k, l, m) +# define BOOST_PP_TUPLE_EAT_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) +# define BOOST_PP_TUPLE_EAT_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) +# define BOOST_PP_TUPLE_EAT_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) +# define BOOST_PP_TUPLE_EAT_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) +# define BOOST_PP_TUPLE_EAT_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) +# define BOOST_PP_TUPLE_EAT_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) +# define BOOST_PP_TUPLE_EAT_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) +# define BOOST_PP_TUPLE_EAT_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) +# define BOOST_PP_TUPLE_EAT_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) +# define BOOST_PP_TUPLE_EAT_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) +# define BOOST_PP_TUPLE_EAT_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) +# define BOOST_PP_TUPLE_EAT_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/elem.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/elem.hpp new file mode 100644 index 0000000..c301729 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/elem.hpp @@ -0,0 +1,385 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_ELEM_HPP +# define BOOST_PREPROCESSOR_TUPLE_ELEM_HPP +# +# include +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_I(size, index, tuple) +# else +# define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_OO((size, index, tuple)) +# define BOOST_PP_TUPLE_ELEM_OO(par) BOOST_PP_TUPLE_ELEM_I ## par +# endif +# +# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i ## t +# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_II(BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t) +# define BOOST_PP_TUPLE_ELEM_II(res) res +# else +# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_ ## s ## _ ## i t +# endif +# +# define BOOST_PP_TUPLE_ELEM_1_0(a) a +# +# define BOOST_PP_TUPLE_ELEM_2_0(a, b) a +# define BOOST_PP_TUPLE_ELEM_2_1(a, b) b +# +# define BOOST_PP_TUPLE_ELEM_3_0(a, b, c) a +# define BOOST_PP_TUPLE_ELEM_3_1(a, b, c) b +# define BOOST_PP_TUPLE_ELEM_3_2(a, b, c) c +# +# define BOOST_PP_TUPLE_ELEM_4_0(a, b, c, d) a +# define BOOST_PP_TUPLE_ELEM_4_1(a, b, c, d) b +# define BOOST_PP_TUPLE_ELEM_4_2(a, b, c, d) c +# define BOOST_PP_TUPLE_ELEM_4_3(a, b, c, d) d +# +# define BOOST_PP_TUPLE_ELEM_5_0(a, b, c, d, e) a +# define BOOST_PP_TUPLE_ELEM_5_1(a, b, c, d, e) b +# define BOOST_PP_TUPLE_ELEM_5_2(a, b, c, d, e) c +# define BOOST_PP_TUPLE_ELEM_5_3(a, b, c, d, e) d +# define BOOST_PP_TUPLE_ELEM_5_4(a, b, c, d, e) e +# +# define BOOST_PP_TUPLE_ELEM_6_0(a, b, c, d, e, f) a +# define BOOST_PP_TUPLE_ELEM_6_1(a, b, c, d, e, f) b +# define BOOST_PP_TUPLE_ELEM_6_2(a, b, c, d, e, f) c +# define BOOST_PP_TUPLE_ELEM_6_3(a, b, c, d, e, f) d +# define BOOST_PP_TUPLE_ELEM_6_4(a, b, c, d, e, f) e +# define BOOST_PP_TUPLE_ELEM_6_5(a, b, c, d, e, f) f +# +# define BOOST_PP_TUPLE_ELEM_7_0(a, b, c, d, e, f, g) a +# define BOOST_PP_TUPLE_ELEM_7_1(a, b, c, d, e, f, g) b +# define BOOST_PP_TUPLE_ELEM_7_2(a, b, c, d, e, f, g) c +# define BOOST_PP_TUPLE_ELEM_7_3(a, b, c, d, e, f, g) d +# define BOOST_PP_TUPLE_ELEM_7_4(a, b, c, d, e, f, g) e +# define BOOST_PP_TUPLE_ELEM_7_5(a, b, c, d, e, f, g) f +# define BOOST_PP_TUPLE_ELEM_7_6(a, b, c, d, e, f, g) g +# +# define BOOST_PP_TUPLE_ELEM_8_0(a, b, c, d, e, f, g, h) a +# define BOOST_PP_TUPLE_ELEM_8_1(a, b, c, d, e, f, g, h) b +# define BOOST_PP_TUPLE_ELEM_8_2(a, b, c, d, e, f, g, h) c +# define BOOST_PP_TUPLE_ELEM_8_3(a, b, c, d, e, f, g, h) d +# define BOOST_PP_TUPLE_ELEM_8_4(a, b, c, d, e, f, g, h) e +# define BOOST_PP_TUPLE_ELEM_8_5(a, b, c, d, e, f, g, h) f +# define BOOST_PP_TUPLE_ELEM_8_6(a, b, c, d, e, f, g, h) g +# define BOOST_PP_TUPLE_ELEM_8_7(a, b, c, d, e, f, g, h) h +# +# define BOOST_PP_TUPLE_ELEM_9_0(a, b, c, d, e, f, g, h, i) a +# define BOOST_PP_TUPLE_ELEM_9_1(a, b, c, d, e, f, g, h, i) b +# define BOOST_PP_TUPLE_ELEM_9_2(a, b, c, d, e, f, g, h, i) c +# define BOOST_PP_TUPLE_ELEM_9_3(a, b, c, d, e, f, g, h, i) d +# define BOOST_PP_TUPLE_ELEM_9_4(a, b, c, d, e, f, g, h, i) e +# define BOOST_PP_TUPLE_ELEM_9_5(a, b, c, d, e, f, g, h, i) f +# define BOOST_PP_TUPLE_ELEM_9_6(a, b, c, d, e, f, g, h, i) g +# define BOOST_PP_TUPLE_ELEM_9_7(a, b, c, d, e, f, g, h, i) h +# define BOOST_PP_TUPLE_ELEM_9_8(a, b, c, d, e, f, g, h, i) i +# +# define BOOST_PP_TUPLE_ELEM_10_0(a, b, c, d, e, f, g, h, i, j) a +# define BOOST_PP_TUPLE_ELEM_10_1(a, b, c, d, e, f, g, h, i, j) b +# define BOOST_PP_TUPLE_ELEM_10_2(a, b, c, d, e, f, g, h, i, j) c +# define BOOST_PP_TUPLE_ELEM_10_3(a, b, c, d, e, f, g, h, i, j) d +# define BOOST_PP_TUPLE_ELEM_10_4(a, b, c, d, e, f, g, h, i, j) e +# define BOOST_PP_TUPLE_ELEM_10_5(a, b, c, d, e, f, g, h, i, j) f +# define BOOST_PP_TUPLE_ELEM_10_6(a, b, c, d, e, f, g, h, i, j) g +# define BOOST_PP_TUPLE_ELEM_10_7(a, b, c, d, e, f, g, h, i, j) h +# define BOOST_PP_TUPLE_ELEM_10_8(a, b, c, d, e, f, g, h, i, j) i +# define BOOST_PP_TUPLE_ELEM_10_9(a, b, c, d, e, f, g, h, i, j) j +# +# define BOOST_PP_TUPLE_ELEM_11_0(a, b, c, d, e, f, g, h, i, j, k) a +# define BOOST_PP_TUPLE_ELEM_11_1(a, b, c, d, e, f, g, h, i, j, k) b +# define BOOST_PP_TUPLE_ELEM_11_2(a, b, c, d, e, f, g, h, i, j, k) c +# define BOOST_PP_TUPLE_ELEM_11_3(a, b, c, d, e, f, g, h, i, j, k) d +# define BOOST_PP_TUPLE_ELEM_11_4(a, b, c, d, e, f, g, h, i, j, k) e +# define BOOST_PP_TUPLE_ELEM_11_5(a, b, c, d, e, f, g, h, i, j, k) f +# define BOOST_PP_TUPLE_ELEM_11_6(a, b, c, d, e, f, g, h, i, j, k) g +# define BOOST_PP_TUPLE_ELEM_11_7(a, b, c, d, e, f, g, h, i, j, k) h +# define BOOST_PP_TUPLE_ELEM_11_8(a, b, c, d, e, f, g, h, i, j, k) i +# define BOOST_PP_TUPLE_ELEM_11_9(a, b, c, d, e, f, g, h, i, j, k) j +# define BOOST_PP_TUPLE_ELEM_11_10(a, b, c, d, e, f, g, h, i, j, k) k +# +# define BOOST_PP_TUPLE_ELEM_12_0(a, b, c, d, e, f, g, h, i, j, k, l) a +# define BOOST_PP_TUPLE_ELEM_12_1(a, b, c, d, e, f, g, h, i, j, k, l) b +# define BOOST_PP_TUPLE_ELEM_12_2(a, b, c, d, e, f, g, h, i, j, k, l) c +# define BOOST_PP_TUPLE_ELEM_12_3(a, b, c, d, e, f, g, h, i, j, k, l) d +# define BOOST_PP_TUPLE_ELEM_12_4(a, b, c, d, e, f, g, h, i, j, k, l) e +# define BOOST_PP_TUPLE_ELEM_12_5(a, b, c, d, e, f, g, h, i, j, k, l) f +# define BOOST_PP_TUPLE_ELEM_12_6(a, b, c, d, e, f, g, h, i, j, k, l) g +# define BOOST_PP_TUPLE_ELEM_12_7(a, b, c, d, e, f, g, h, i, j, k, l) h +# define BOOST_PP_TUPLE_ELEM_12_8(a, b, c, d, e, f, g, h, i, j, k, l) i +# define BOOST_PP_TUPLE_ELEM_12_9(a, b, c, d, e, f, g, h, i, j, k, l) j +# define BOOST_PP_TUPLE_ELEM_12_10(a, b, c, d, e, f, g, h, i, j, k, l) k +# define BOOST_PP_TUPLE_ELEM_12_11(a, b, c, d, e, f, g, h, i, j, k, l) l +# +# define BOOST_PP_TUPLE_ELEM_13_0(a, b, c, d, e, f, g, h, i, j, k, l, m) a +# define BOOST_PP_TUPLE_ELEM_13_1(a, b, c, d, e, f, g, h, i, j, k, l, m) b +# define BOOST_PP_TUPLE_ELEM_13_2(a, b, c, d, e, f, g, h, i, j, k, l, m) c +# define BOOST_PP_TUPLE_ELEM_13_3(a, b, c, d, e, f, g, h, i, j, k, l, m) d +# define BOOST_PP_TUPLE_ELEM_13_4(a, b, c, d, e, f, g, h, i, j, k, l, m) e +# define BOOST_PP_TUPLE_ELEM_13_5(a, b, c, d, e, f, g, h, i, j, k, l, m) f +# define BOOST_PP_TUPLE_ELEM_13_6(a, b, c, d, e, f, g, h, i, j, k, l, m) g +# define BOOST_PP_TUPLE_ELEM_13_7(a, b, c, d, e, f, g, h, i, j, k, l, m) h +# define BOOST_PP_TUPLE_ELEM_13_8(a, b, c, d, e, f, g, h, i, j, k, l, m) i +# define BOOST_PP_TUPLE_ELEM_13_9(a, b, c, d, e, f, g, h, i, j, k, l, m) j +# define BOOST_PP_TUPLE_ELEM_13_10(a, b, c, d, e, f, g, h, i, j, k, l, m) k +# define BOOST_PP_TUPLE_ELEM_13_11(a, b, c, d, e, f, g, h, i, j, k, l, m) l +# define BOOST_PP_TUPLE_ELEM_13_12(a, b, c, d, e, f, g, h, i, j, k, l, m) m +# +# define BOOST_PP_TUPLE_ELEM_14_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a +# define BOOST_PP_TUPLE_ELEM_14_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n) b +# define BOOST_PP_TUPLE_ELEM_14_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n) c +# define BOOST_PP_TUPLE_ELEM_14_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n) d +# define BOOST_PP_TUPLE_ELEM_14_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n) e +# define BOOST_PP_TUPLE_ELEM_14_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n) f +# define BOOST_PP_TUPLE_ELEM_14_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n) g +# define BOOST_PP_TUPLE_ELEM_14_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n) h +# define BOOST_PP_TUPLE_ELEM_14_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n) i +# define BOOST_PP_TUPLE_ELEM_14_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n) j +# define BOOST_PP_TUPLE_ELEM_14_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n) k +# define BOOST_PP_TUPLE_ELEM_14_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n) l +# define BOOST_PP_TUPLE_ELEM_14_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n) m +# define BOOST_PP_TUPLE_ELEM_14_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n) n +# +# define BOOST_PP_TUPLE_ELEM_15_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a +# define BOOST_PP_TUPLE_ELEM_15_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) b +# define BOOST_PP_TUPLE_ELEM_15_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) c +# define BOOST_PP_TUPLE_ELEM_15_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) d +# define BOOST_PP_TUPLE_ELEM_15_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) e +# define BOOST_PP_TUPLE_ELEM_15_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) f +# define BOOST_PP_TUPLE_ELEM_15_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) g +# define BOOST_PP_TUPLE_ELEM_15_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) h +# define BOOST_PP_TUPLE_ELEM_15_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) i +# define BOOST_PP_TUPLE_ELEM_15_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) j +# define BOOST_PP_TUPLE_ELEM_15_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) k +# define BOOST_PP_TUPLE_ELEM_15_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) l +# define BOOST_PP_TUPLE_ELEM_15_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) m +# define BOOST_PP_TUPLE_ELEM_15_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) n +# define BOOST_PP_TUPLE_ELEM_15_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) o +# +# define BOOST_PP_TUPLE_ELEM_16_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a +# define BOOST_PP_TUPLE_ELEM_16_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) b +# define BOOST_PP_TUPLE_ELEM_16_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) c +# define BOOST_PP_TUPLE_ELEM_16_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) d +# define BOOST_PP_TUPLE_ELEM_16_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) e +# define BOOST_PP_TUPLE_ELEM_16_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) f +# define BOOST_PP_TUPLE_ELEM_16_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) g +# define BOOST_PP_TUPLE_ELEM_16_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) h +# define BOOST_PP_TUPLE_ELEM_16_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) i +# define BOOST_PP_TUPLE_ELEM_16_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) j +# define BOOST_PP_TUPLE_ELEM_16_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) k +# define BOOST_PP_TUPLE_ELEM_16_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) l +# define BOOST_PP_TUPLE_ELEM_16_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) m +# define BOOST_PP_TUPLE_ELEM_16_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) n +# define BOOST_PP_TUPLE_ELEM_16_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) o +# define BOOST_PP_TUPLE_ELEM_16_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) p +# +# define BOOST_PP_TUPLE_ELEM_17_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) a +# define BOOST_PP_TUPLE_ELEM_17_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) b +# define BOOST_PP_TUPLE_ELEM_17_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) c +# define BOOST_PP_TUPLE_ELEM_17_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) d +# define BOOST_PP_TUPLE_ELEM_17_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) e +# define BOOST_PP_TUPLE_ELEM_17_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) f +# define BOOST_PP_TUPLE_ELEM_17_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) g +# define BOOST_PP_TUPLE_ELEM_17_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) h +# define BOOST_PP_TUPLE_ELEM_17_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) i +# define BOOST_PP_TUPLE_ELEM_17_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) j +# define BOOST_PP_TUPLE_ELEM_17_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) k +# define BOOST_PP_TUPLE_ELEM_17_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) l +# define BOOST_PP_TUPLE_ELEM_17_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) m +# define BOOST_PP_TUPLE_ELEM_17_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) n +# define BOOST_PP_TUPLE_ELEM_17_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) o +# define BOOST_PP_TUPLE_ELEM_17_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) p +# define BOOST_PP_TUPLE_ELEM_17_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) q +# +# define BOOST_PP_TUPLE_ELEM_18_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) a +# define BOOST_PP_TUPLE_ELEM_18_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) b +# define BOOST_PP_TUPLE_ELEM_18_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) c +# define BOOST_PP_TUPLE_ELEM_18_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) d +# define BOOST_PP_TUPLE_ELEM_18_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) e +# define BOOST_PP_TUPLE_ELEM_18_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) f +# define BOOST_PP_TUPLE_ELEM_18_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) g +# define BOOST_PP_TUPLE_ELEM_18_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) h +# define BOOST_PP_TUPLE_ELEM_18_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) i +# define BOOST_PP_TUPLE_ELEM_18_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) j +# define BOOST_PP_TUPLE_ELEM_18_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) k +# define BOOST_PP_TUPLE_ELEM_18_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) l +# define BOOST_PP_TUPLE_ELEM_18_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) m +# define BOOST_PP_TUPLE_ELEM_18_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) n +# define BOOST_PP_TUPLE_ELEM_18_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) o +# define BOOST_PP_TUPLE_ELEM_18_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) p +# define BOOST_PP_TUPLE_ELEM_18_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) q +# define BOOST_PP_TUPLE_ELEM_18_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) r +# +# define BOOST_PP_TUPLE_ELEM_19_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) a +# define BOOST_PP_TUPLE_ELEM_19_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) b +# define BOOST_PP_TUPLE_ELEM_19_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) c +# define BOOST_PP_TUPLE_ELEM_19_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) d +# define BOOST_PP_TUPLE_ELEM_19_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) e +# define BOOST_PP_TUPLE_ELEM_19_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) f +# define BOOST_PP_TUPLE_ELEM_19_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) g +# define BOOST_PP_TUPLE_ELEM_19_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) h +# define BOOST_PP_TUPLE_ELEM_19_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) i +# define BOOST_PP_TUPLE_ELEM_19_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) j +# define BOOST_PP_TUPLE_ELEM_19_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) k +# define BOOST_PP_TUPLE_ELEM_19_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) l +# define BOOST_PP_TUPLE_ELEM_19_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) m +# define BOOST_PP_TUPLE_ELEM_19_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) n +# define BOOST_PP_TUPLE_ELEM_19_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) o +# define BOOST_PP_TUPLE_ELEM_19_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) p +# define BOOST_PP_TUPLE_ELEM_19_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) q +# define BOOST_PP_TUPLE_ELEM_19_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) r +# define BOOST_PP_TUPLE_ELEM_19_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) s +# +# define BOOST_PP_TUPLE_ELEM_20_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) a +# define BOOST_PP_TUPLE_ELEM_20_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) b +# define BOOST_PP_TUPLE_ELEM_20_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) c +# define BOOST_PP_TUPLE_ELEM_20_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) d +# define BOOST_PP_TUPLE_ELEM_20_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) e +# define BOOST_PP_TUPLE_ELEM_20_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) f +# define BOOST_PP_TUPLE_ELEM_20_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) g +# define BOOST_PP_TUPLE_ELEM_20_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) h +# define BOOST_PP_TUPLE_ELEM_20_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) i +# define BOOST_PP_TUPLE_ELEM_20_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) j +# define BOOST_PP_TUPLE_ELEM_20_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) k +# define BOOST_PP_TUPLE_ELEM_20_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) l +# define BOOST_PP_TUPLE_ELEM_20_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) m +# define BOOST_PP_TUPLE_ELEM_20_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) n +# define BOOST_PP_TUPLE_ELEM_20_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) o +# define BOOST_PP_TUPLE_ELEM_20_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) p +# define BOOST_PP_TUPLE_ELEM_20_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) q +# define BOOST_PP_TUPLE_ELEM_20_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) r +# define BOOST_PP_TUPLE_ELEM_20_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) s +# define BOOST_PP_TUPLE_ELEM_20_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) t +# +# define BOOST_PP_TUPLE_ELEM_21_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) a +# define BOOST_PP_TUPLE_ELEM_21_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) b +# define BOOST_PP_TUPLE_ELEM_21_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) c +# define BOOST_PP_TUPLE_ELEM_21_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) d +# define BOOST_PP_TUPLE_ELEM_21_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) e +# define BOOST_PP_TUPLE_ELEM_21_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) f +# define BOOST_PP_TUPLE_ELEM_21_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) g +# define BOOST_PP_TUPLE_ELEM_21_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) h +# define BOOST_PP_TUPLE_ELEM_21_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) i +# define BOOST_PP_TUPLE_ELEM_21_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) j +# define BOOST_PP_TUPLE_ELEM_21_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) k +# define BOOST_PP_TUPLE_ELEM_21_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) l +# define BOOST_PP_TUPLE_ELEM_21_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) m +# define BOOST_PP_TUPLE_ELEM_21_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) n +# define BOOST_PP_TUPLE_ELEM_21_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) o +# define BOOST_PP_TUPLE_ELEM_21_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) p +# define BOOST_PP_TUPLE_ELEM_21_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) q +# define BOOST_PP_TUPLE_ELEM_21_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) r +# define BOOST_PP_TUPLE_ELEM_21_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) s +# define BOOST_PP_TUPLE_ELEM_21_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) t +# define BOOST_PP_TUPLE_ELEM_21_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) u +# +# define BOOST_PP_TUPLE_ELEM_22_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) a +# define BOOST_PP_TUPLE_ELEM_22_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) b +# define BOOST_PP_TUPLE_ELEM_22_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) c +# define BOOST_PP_TUPLE_ELEM_22_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) d +# define BOOST_PP_TUPLE_ELEM_22_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) e +# define BOOST_PP_TUPLE_ELEM_22_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) f +# define BOOST_PP_TUPLE_ELEM_22_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) g +# define BOOST_PP_TUPLE_ELEM_22_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) h +# define BOOST_PP_TUPLE_ELEM_22_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) i +# define BOOST_PP_TUPLE_ELEM_22_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) j +# define BOOST_PP_TUPLE_ELEM_22_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) k +# define BOOST_PP_TUPLE_ELEM_22_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) l +# define BOOST_PP_TUPLE_ELEM_22_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) m +# define BOOST_PP_TUPLE_ELEM_22_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) n +# define BOOST_PP_TUPLE_ELEM_22_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) o +# define BOOST_PP_TUPLE_ELEM_22_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) p +# define BOOST_PP_TUPLE_ELEM_22_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) q +# define BOOST_PP_TUPLE_ELEM_22_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) r +# define BOOST_PP_TUPLE_ELEM_22_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) s +# define BOOST_PP_TUPLE_ELEM_22_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) t +# define BOOST_PP_TUPLE_ELEM_22_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) u +# define BOOST_PP_TUPLE_ELEM_22_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) v +# +# define BOOST_PP_TUPLE_ELEM_23_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) a +# define BOOST_PP_TUPLE_ELEM_23_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) b +# define BOOST_PP_TUPLE_ELEM_23_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) c +# define BOOST_PP_TUPLE_ELEM_23_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) d +# define BOOST_PP_TUPLE_ELEM_23_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) e +# define BOOST_PP_TUPLE_ELEM_23_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) f +# define BOOST_PP_TUPLE_ELEM_23_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) g +# define BOOST_PP_TUPLE_ELEM_23_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) h +# define BOOST_PP_TUPLE_ELEM_23_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) i +# define BOOST_PP_TUPLE_ELEM_23_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) j +# define BOOST_PP_TUPLE_ELEM_23_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) k +# define BOOST_PP_TUPLE_ELEM_23_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) l +# define BOOST_PP_TUPLE_ELEM_23_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) m +# define BOOST_PP_TUPLE_ELEM_23_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) n +# define BOOST_PP_TUPLE_ELEM_23_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) o +# define BOOST_PP_TUPLE_ELEM_23_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) p +# define BOOST_PP_TUPLE_ELEM_23_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) q +# define BOOST_PP_TUPLE_ELEM_23_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) r +# define BOOST_PP_TUPLE_ELEM_23_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) s +# define BOOST_PP_TUPLE_ELEM_23_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) t +# define BOOST_PP_TUPLE_ELEM_23_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) u +# define BOOST_PP_TUPLE_ELEM_23_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) v +# define BOOST_PP_TUPLE_ELEM_23_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) w +# +# define BOOST_PP_TUPLE_ELEM_24_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) a +# define BOOST_PP_TUPLE_ELEM_24_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) b +# define BOOST_PP_TUPLE_ELEM_24_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) c +# define BOOST_PP_TUPLE_ELEM_24_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) d +# define BOOST_PP_TUPLE_ELEM_24_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) e +# define BOOST_PP_TUPLE_ELEM_24_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) f +# define BOOST_PP_TUPLE_ELEM_24_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) g +# define BOOST_PP_TUPLE_ELEM_24_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) h +# define BOOST_PP_TUPLE_ELEM_24_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) i +# define BOOST_PP_TUPLE_ELEM_24_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) j +# define BOOST_PP_TUPLE_ELEM_24_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) k +# define BOOST_PP_TUPLE_ELEM_24_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) l +# define BOOST_PP_TUPLE_ELEM_24_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) m +# define BOOST_PP_TUPLE_ELEM_24_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) n +# define BOOST_PP_TUPLE_ELEM_24_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) o +# define BOOST_PP_TUPLE_ELEM_24_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) p +# define BOOST_PP_TUPLE_ELEM_24_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) q +# define BOOST_PP_TUPLE_ELEM_24_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) r +# define BOOST_PP_TUPLE_ELEM_24_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) s +# define BOOST_PP_TUPLE_ELEM_24_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) t +# define BOOST_PP_TUPLE_ELEM_24_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) u +# define BOOST_PP_TUPLE_ELEM_24_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) v +# define BOOST_PP_TUPLE_ELEM_24_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) w +# define BOOST_PP_TUPLE_ELEM_24_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) x +# +# define BOOST_PP_TUPLE_ELEM_25_0(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) a +# define BOOST_PP_TUPLE_ELEM_25_1(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) b +# define BOOST_PP_TUPLE_ELEM_25_2(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) c +# define BOOST_PP_TUPLE_ELEM_25_3(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) d +# define BOOST_PP_TUPLE_ELEM_25_4(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) e +# define BOOST_PP_TUPLE_ELEM_25_5(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) f +# define BOOST_PP_TUPLE_ELEM_25_6(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) g +# define BOOST_PP_TUPLE_ELEM_25_7(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) h +# define BOOST_PP_TUPLE_ELEM_25_8(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) i +# define BOOST_PP_TUPLE_ELEM_25_9(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) j +# define BOOST_PP_TUPLE_ELEM_25_10(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) k +# define BOOST_PP_TUPLE_ELEM_25_11(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) l +# define BOOST_PP_TUPLE_ELEM_25_12(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) m +# define BOOST_PP_TUPLE_ELEM_25_13(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) n +# define BOOST_PP_TUPLE_ELEM_25_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) o +# define BOOST_PP_TUPLE_ELEM_25_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) p +# define BOOST_PP_TUPLE_ELEM_25_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) q +# define BOOST_PP_TUPLE_ELEM_25_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) r +# define BOOST_PP_TUPLE_ELEM_25_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) s +# define BOOST_PP_TUPLE_ELEM_25_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) t +# define BOOST_PP_TUPLE_ELEM_25_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) u +# define BOOST_PP_TUPLE_ELEM_25_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) v +# define BOOST_PP_TUPLE_ELEM_25_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) w +# define BOOST_PP_TUPLE_ELEM_25_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) x +# define BOOST_PP_TUPLE_ELEM_25_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) y +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/rem.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/rem.hpp new file mode 100644 index 0000000..93b1f3a --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/rem.hpp @@ -0,0 +1,72 @@ +# /* ************************************************************************** +# * * +# * (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_TUPLE_REM_HPP +# define BOOST_PREPROCESSOR_TUPLE_REM_HPP +# +# include +# +# /* BOOST_PP_TUPLE_REM */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_I(size) +# else +# define BOOST_PP_TUPLE_REM(size) BOOST_PP_TUPLE_REM_OO((size)) +# define BOOST_PP_TUPLE_REM_OO(par) BOOST_PP_TUPLE_REM_I ## par +# endif +# +# define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size +# +# define BOOST_PP_TUPLE_REM_0() +# define BOOST_PP_TUPLE_REM_1(a) a +# define BOOST_PP_TUPLE_REM_2(a, b) a, b +# define BOOST_PP_TUPLE_REM_3(a, b, c) a, b, c +# define BOOST_PP_TUPLE_REM_4(a, b, c, d) a, b, c, d +# define BOOST_PP_TUPLE_REM_5(a, b, c, d, e) a, b, c, d, e +# define BOOST_PP_TUPLE_REM_6(a, b, c, d, e, f) a, b, c, d, e, f +# define BOOST_PP_TUPLE_REM_7(a, b, c, d, e, f, g) a, b, c, d, e, f, g +# define BOOST_PP_TUPLE_REM_8(a, b, c, d, e, f, g, h) a, b, c, d, e, f, g, h +# define BOOST_PP_TUPLE_REM_9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i +# define BOOST_PP_TUPLE_REM_10(a, b, c, d, e, f, g, h, i, j) a, b, c, d, e, f, g, h, i, j +# define BOOST_PP_TUPLE_REM_11(a, b, c, d, e, f, g, h, i, j, k) a, b, c, d, e, f, g, h, i, j, k +# define BOOST_PP_TUPLE_REM_12(a, b, c, d, e, f, g, h, i, j, k, l) a, b, c, d, e, f, g, h, i, j, k, l +# define BOOST_PP_TUPLE_REM_13(a, b, c, d, e, f, g, h, i, j, k, l, m) a, b, c, d, e, f, g, h, i, j, k, l, m +# define BOOST_PP_TUPLE_REM_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) a, b, c, d, e, f, g, h, i, j, k, l, m, n +# define BOOST_PP_TUPLE_REM_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o +# define BOOST_PP_TUPLE_REM_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p +# define BOOST_PP_TUPLE_REM_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q +# define BOOST_PP_TUPLE_REM_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r +# define BOOST_PP_TUPLE_REM_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s +# define BOOST_PP_TUPLE_REM_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t +# define BOOST_PP_TUPLE_REM_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u +# define BOOST_PP_TUPLE_REM_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v +# define BOOST_PP_TUPLE_REM_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w +# define BOOST_PP_TUPLE_REM_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x +# define BOOST_PP_TUPLE_REM_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y +# +# /* BOOST_PP_TUPLE_REM_CTOR */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() +# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) +# else +# define BOOST_PP_TUPLE_REM_CTOR(size, tuple) BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) +# define BOOST_PP_TUPLE_REM_CTOR_D(size, tuple) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_TUPLE_REM(size), tuple) +# endif +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) ext tuple +# else +# define BOOST_PP_TUPLE_REM_CTOR_I(ext, tuple) BOOST_PP_TUPLE_REM_CTOR_OO((ext, tuple)) +# define BOOST_PP_TUPLE_REM_CTOR_OO(par) BOOST_PP_TUPLE_REM_CTOR_II ## par +# define BOOST_PP_TUPLE_REM_CTOR_II(ext, tuple) ext ## tuple +# endif +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/reverse.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/reverse.hpp new file mode 100644 index 0000000..563e237 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/reverse.hpp @@ -0,0 +1,62 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP +# define BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP +# +# include +# +# /* BOOST_PP_TUPLE_REVERSE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_I(size, tuple) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s t +# else +# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_II(BOOST_PP_TUPLE_REVERSE_ ## s t) +# define BOOST_PP_TUPLE_REVERSE_II(res) res +# endif +# else +# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_OO((size, tuple)) +# define BOOST_PP_TUPLE_REVERSE_OO(par) BOOST_PP_TUPLE_REVERSE_I ## par +# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s ## t +# endif +# +# define BOOST_PP_TUPLE_REVERSE_0() () +# define BOOST_PP_TUPLE_REVERSE_1(a) (a) +# define BOOST_PP_TUPLE_REVERSE_2(a, b) (b, a) +# define BOOST_PP_TUPLE_REVERSE_3(a, b, c) (c, b, a) +# define BOOST_PP_TUPLE_REVERSE_4(a, b, c, d) (d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_5(a, b, c, d, e) (e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_6(a, b, c, d, e, f) (f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_7(a, b, c, d, e, f, g) (g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_8(a, b, c, d, e, f, g, h) (h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_9(a, b, c, d, e, f, g, h, i) (i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_10(a, b, c, d, e, f, g, h, i, j) (j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_11(a, b, c, d, e, f, g, h, i, j, k) (k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_12(a, b, c, d, e, f, g, h, i, j, k, l) (l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# define BOOST_PP_TUPLE_REVERSE_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (y, x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, h, g, f, e, d, c, b, a) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_list.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_list.hpp new file mode 100644 index 0000000..6c4a5f4 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_list.hpp @@ -0,0 +1,62 @@ +# /* Copyright (C) 2001 +# * Housemarque Oy +# * http://www.housemarque.com +# * +# * Distributed under the Boost Software License, Version 1.0. (See +# * accompanying file LICENSE_1_0.txt or copy at +# * http://www.boost.org/LICENSE_1_0.txt) +# */ +# +# /* Revised by Paul Mensonides (2002) */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_LIST_HPP +# +# include +# +# /* BOOST_PP_TUPLE_TO_LIST */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_I(size, tuple) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s t +# else +# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_II(BOOST_PP_TUPLE_TO_LIST_ ## s t) +# define BOOST_PP_TUPLE_TO_LIST_II(res) res +# endif +# else +# define BOOST_PP_TUPLE_TO_LIST(size, tuple) BOOST_PP_TUPLE_TO_LIST_OO((size, tuple)) +# define BOOST_PP_TUPLE_TO_LIST_OO(par) BOOST_PP_TUPLE_TO_LIST_I ## par +# define BOOST_PP_TUPLE_TO_LIST_I(s, t) BOOST_PP_TUPLE_TO_LIST_ ## s ## t +# endif +# +# define BOOST_PP_TUPLE_TO_LIST_0() BOOST_PP_NIL +# define BOOST_PP_TUPLE_TO_LIST_1(a) (a, BOOST_PP_NIL) +# define BOOST_PP_TUPLE_TO_LIST_2(a, b) (a, (b, BOOST_PP_NIL)) +# define BOOST_PP_TUPLE_TO_LIST_3(a, b, c) (a, (b, (c, BOOST_PP_NIL))) +# define BOOST_PP_TUPLE_TO_LIST_4(a, b, c, d) (a, (b, (c, (d, BOOST_PP_NIL)))) +# define BOOST_PP_TUPLE_TO_LIST_5(a, b, c, d, e) (a, (b, (c, (d, (e, BOOST_PP_NIL))))) +# define BOOST_PP_TUPLE_TO_LIST_6(a, b, c, d, e, f) (a, (b, (c, (d, (e, (f, BOOST_PP_NIL)))))) +# define BOOST_PP_TUPLE_TO_LIST_7(a, b, c, d, e, f, g) (a, (b, (c, (d, (e, (f, (g, BOOST_PP_NIL))))))) +# define BOOST_PP_TUPLE_TO_LIST_8(a, b, c, d, e, f, g, h) (a, (b, (c, (d, (e, (f, (g, (h, BOOST_PP_NIL)))))))) +# define BOOST_PP_TUPLE_TO_LIST_9(a, b, c, d, e, f, g, h, i) (a, (b, (c, (d, (e, (f, (g, (h, (i, BOOST_PP_NIL))))))))) +# define BOOST_PP_TUPLE_TO_LIST_10(a, b, c, d, e, f, g, h, i, j) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, BOOST_PP_NIL)))))))))) +# define BOOST_PP_TUPLE_TO_LIST_11(a, b, c, d, e, f, g, h, i, j, k) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, BOOST_PP_NIL))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_12(a, b, c, d, e, f, g, h, i, j, k, l) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, BOOST_PP_NIL)))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, BOOST_PP_NIL))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, BOOST_PP_NIL)))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, BOOST_PP_NIL))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, BOOST_PP_NIL)))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, BOOST_PP_NIL))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, BOOST_PP_NIL)))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, BOOST_PP_NIL))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, BOOST_PP_NIL)))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, BOOST_PP_NIL))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, BOOST_PP_NIL)))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, BOOST_PP_NIL))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, BOOST_PP_NIL)))))))))))))))))))))))) +# define BOOST_PP_TUPLE_TO_LIST_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (a, (b, (c, (d, (e, (f, (g, (h, (i, (j, (k, (l, (m, (n, (o, (p, (q, (r, (s, (t, (u, (v, (w, (x, (y, BOOST_PP_NIL))))))))))))))))))))))))) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_seq.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_seq.hpp new file mode 100644 index 0000000..efb421f --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/tuple/to_seq.hpp @@ -0,0 +1,60 @@ +# /* ************************************************************************** +# * * +# * (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_TUPLE_TO_SEQ_HPP +# define BOOST_PREPROCESSOR_TUPLE_TO_SEQ_HPP +# +# include +# +# /* BOOST_PP_TUPLE_TO_SEQ */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_I(size, tuple) +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() +# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s t +# else +# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_II(BOOST_PP_TUPLE_TO_SEQ_ ## s t) +# define BOOST_PP_TUPLE_TO_SEQ_II(res) res +# endif +# else +# define BOOST_PP_TUPLE_TO_SEQ(size, tuple) BOOST_PP_TUPLE_TO_SEQ_OO((size, tuple)) +# define BOOST_PP_TUPLE_TO_SEQ_OO(par) BOOST_PP_TUPLE_TO_SEQ_I ## par +# define BOOST_PP_TUPLE_TO_SEQ_I(s, t) BOOST_PP_TUPLE_TO_SEQ_ ## s ## t +# endif +# +# define BOOST_PP_TUPLE_TO_SEQ_0() +# define BOOST_PP_TUPLE_TO_SEQ_1(a) (a) +# define BOOST_PP_TUPLE_TO_SEQ_2(a, b) (a)(b) +# define BOOST_PP_TUPLE_TO_SEQ_3(a, b, c) (a)(b)(c) +# define BOOST_PP_TUPLE_TO_SEQ_4(a, b, c, d) (a)(b)(c)(d) +# define BOOST_PP_TUPLE_TO_SEQ_5(a, b, c, d, e) (a)(b)(c)(d)(e) +# define BOOST_PP_TUPLE_TO_SEQ_6(a, b, c, d, e, f) (a)(b)(c)(d)(e)(f) +# define BOOST_PP_TUPLE_TO_SEQ_7(a, b, c, d, e, f, g) (a)(b)(c)(d)(e)(f)(g) +# define BOOST_PP_TUPLE_TO_SEQ_8(a, b, c, d, e, f, g, h) (a)(b)(c)(d)(e)(f)(g)(h) +# define BOOST_PP_TUPLE_TO_SEQ_9(a, b, c, d, e, f, g, h, i) (a)(b)(c)(d)(e)(f)(g)(h)(i) +# define BOOST_PP_TUPLE_TO_SEQ_10(a, b, c, d, e, f, g, h, i, j) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j) +# define BOOST_PP_TUPLE_TO_SEQ_11(a, b, c, d, e, f, g, h, i, j, k) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k) +# define BOOST_PP_TUPLE_TO_SEQ_12(a, b, c, d, e, f, g, h, i, j, k, l) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l) +# define BOOST_PP_TUPLE_TO_SEQ_13(a, b, c, d, e, f, g, h, i, j, k, l, m) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m) +# define BOOST_PP_TUPLE_TO_SEQ_14(a, b, c, d, e, f, g, h, i, j, k, l, m, n) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n) +# define BOOST_PP_TUPLE_TO_SEQ_15(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o) +# define BOOST_PP_TUPLE_TO_SEQ_16(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p) +# define BOOST_PP_TUPLE_TO_SEQ_17(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q) +# define BOOST_PP_TUPLE_TO_SEQ_18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r) +# define BOOST_PP_TUPLE_TO_SEQ_19(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s) +# define BOOST_PP_TUPLE_TO_SEQ_20(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t) +# define BOOST_PP_TUPLE_TO_SEQ_21(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u) +# define BOOST_PP_TUPLE_TO_SEQ_22(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v) +# define BOOST_PP_TUPLE_TO_SEQ_23(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w) +# define BOOST_PP_TUPLE_TO_SEQ_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x) +# define BOOST_PP_TUPLE_TO_SEQ_25(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) (a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y) +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/while.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/while.hpp new file mode 100644 index 0000000..5cf06ce --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/while.hpp @@ -0,0 +1,17 @@ +# /* ************************************************************************** +# * * +# * (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_WHILE_HPP +# define BOOST_PREPROCESSOR_WHILE_HPP +# +# include +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/wstringize.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/wstringize.hpp new file mode 100644 index 0000000..126b43e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/preprocessor/wstringize.hpp @@ -0,0 +1,29 @@ +# /* ************************************************************************** +# * * +# * (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_WSTRINGIZE_HPP +# define BOOST_PREPROCESSOR_WSTRINGIZE_HPP +# +# include +# +# /* BOOST_PP_WSTRINGIZE */ +# +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() +# define BOOST_PP_WSTRINGIZE(text) BOOST_PP_WSTRINGIZE_I(text) +# else +# define BOOST_PP_WSTRINGIZE(text) BOOST_PP_WSTRINGIZE_OO((text)) +# define BOOST_PP_WSTRINGIZE_OO(par) BOOST_PP_WSTRINGIZE_I ## par +# endif +# +# define BOOST_PP_WSTRINGIZE_I(text) BOOST_PP_WSTRINGIZE_II(#text) +# define BOOST_PP_WSTRINGIZE_II(str) L ## str +# +# endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options.hpp new file mode 100644 index 0000000..26dce90 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options.hpp @@ -0,0 +1,25 @@ +// Copyright Vladimir Prus 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 www.boost.org/libs/program_options for documentation. + +#ifndef PROGRAM_OPTIONS_VP_2003_05_19 +#define PROGRAM_OPTIONS_VP_2003_05_19 + +#if _MSC_VER >= 1020 +#pragma once +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/cmdline.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/cmdline.hpp new file mode 100644 index 0000000..926d2c0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/cmdline.hpp @@ -0,0 +1,90 @@ +// Copyright Vladimir Prus 2004. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_CMDLINE_HPP_VP_2004_03_13 +#define BOOST_CMDLINE_HPP_VP_2004_03_13 + +namespace boost { namespace program_options { namespace command_line_style { + /** Various possible styles of options. + + There are "long" options, which start with "--" and "short", + which start with either "-" or "/". Both kinds can be allowed or + disallowed, see allow_long and allow_short. The allowed character + for short options is also configurable. + + Option's value can be specified in the same token as name + ("--foo=bar"), or in the next token. + + It's possible to introduce long options by the same character as + short options, see allow_long_disguise. + + Finally, guessing (specifying only prefix of option) and case + insensitive processing are supported. + */ + enum style_t { + /// Allow "--long_name" style + allow_long = 1, + /// Allow "--foo=10 + */ + allow_long_disguise = short_case_insensitive << 1, + /** The more-or-less traditional unix style. */ + unix_style = (allow_short | short_allow_adjacent | short_allow_next + | allow_long | long_allow_adjacent | long_allow_next + | allow_sticky | allow_guessing + | allow_dash_for_short), + /** The default style. */ + default_style = unix_style + }; +}}} + + +#endif + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/config.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/config.hpp new file mode 100644 index 0000000..48bda83 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/config.hpp @@ -0,0 +1,55 @@ +// Copyright (c) 2004 Hartmut Kaiser +// +// Use, modification and distribution is subject to the Boost Software +// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + +#ifndef BOOST_PROGRAM_OPTIONS_CONFIG_HK_2004_01_11 +#define BOOST_PROGRAM_OPTIONS_CONFIG_HK_2004_01_11 + +#include +#include + +// Support for autolinking. +#if BOOST_VERSION >= 103100 // works beginning from Boost V1.31.0 + +/////////////////////////////////////////////////////////////////////////////// +// enable automatic library variant selection +#if !defined(BOOST_PROGRAM_OPTIONS_SOURCE) && !defined(BOOST_ALL_NO_LIB) && \ + !defined(BOOST_PROGRAM_OPTIONS_NO_LIB) + +// Set the name of our library, this will get undef'ed by auto_link.hpp +// once it's done with it: +#define BOOST_LIB_NAME boost_program_options +// tell the auto-link code to select a dll when required: +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_PROGRAM_OPTIONS_DYN_LINK) +# define BOOST_DYN_LINK +#endif + +// And include the header that does the work: +#include + +#endif // auto-linking disabled + +#endif // BOOST_VERSION + +/////////////////////////////////////////////////////////////////////////////// +// Windows DLL suport +#ifdef BOOST_HAS_DECLSPEC +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_PROGRAM_OPTIONS_DYN_LINK) +// export if this is our own source, otherwise import: +#ifdef BOOST_PROGRAM_OPTIONS_SOURCE +# define BOOST_PROGRAM_OPTIONS_DECL __declspec(dllexport) +#else +# define BOOST_PROGRAM_OPTIONS_DECL __declspec(dllimport) +#endif // BOOST_PROGRAM_OPTIONS_SOURCE +#endif // DYN_LINK +#endif // BOOST_HAS_DECLSPEC + +#ifndef BOOST_PROGRAM_OPTIONS_DECL +#define BOOST_PROGRAM_OPTIONS_DECL +#endif + + +#endif // PROGRAM_OPTIONS_CONFIG_HK_2004_01_11 + diff --git a/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/cmdline.hpp b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/cmdline.hpp new file mode 100644 index 0000000..9265fe6 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/include/boost/program_options/detail/cmdline.hpp @@ -0,0 +1,138 @@ +// Copyright Vladimir Prus 2002-2004. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt +// or copy at http://www.boost.org/LICENSE_1_0.txt) + + +#ifndef BOOST_CMDLINE_VP_2003_05_19 +#define BOOST_CMDLINE_VP_2003_05_19 + +#include +#include +#include +#include +#include +#include + + +#include + +#include + +#include +#include + +namespace boost { namespace program_options { namespace detail { + + /** Command line parser class. Main requirements were: + - Powerful enough to support all common uses. + - Simple and easy to learn/use. + - Minimal code size and external dependencies. + - Extensible for custom syntaxes. + + First all options are registered. After that, elements of command line + are extracted using operator++. + + For each element, user can find + - if it's an option or an argument + - name of the option + - index of the option + - option value(s), if any + + Sometimes the registered option name is not equal to the encountered + one, for example, because name abbreviation is supported. Therefore + two option names can be obtained: + - the registered one + - the one found at the command line + + There are lot of style options, which can be used to tune the command + line parsing. In addition, it's possible to install additional parser + which will process custom option styles. + + @todo mininal match length for guessing? + */ + class BOOST_PROGRAM_OPTIONS_DECL cmdline { + public: + + typedef ::boost::program_options::command_line_style::style_t style_t; + + typedef function1, + const std::string&> + additional_parser; + + typedef function1, std::vector&> + style_parser; + + /** Constructs a command line parser for (argc, argv) pair. Uses + style options passed in 'style', which should be binary or'ed values + of style_t enum. It can also be zero, in which case a "default" + style will be used. If 'allow_unregistered' is true, then allows + unregistered options. They will be assigned index 1 and are + assumed to have optional parameter. + */ + cmdline(const std::vector& args); + + /** @overload */ + cmdline(int argc, const char*const * argv); + + void style(int style); + void allow_unregistered(); + + void set_options_description(const options_description& desc); + void set_positional_options( + const positional_options_description& m_positional); + + std::vector

    jJIn$thbo{cFb^c)c1jo7NAzdo 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 z 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 Pq-yrJ?w+znGu`-qw;>tn literal 0 HcmV?d00001 diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.m b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.m new file mode 100755 index 0000000..6dad5c1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.m @@ -0,0 +1,59 @@ +%STC_PM2_DLS_EMBED Embeds message in a cover object with +-2 changes - DLS. +% +%[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D) +% implements Distortion Limited Sender. Embeds as many bits as possible +% into cover object X, such that the cost of stego object Y is around +% TARG_D with changes limited to +-2. Uses default constraint height +% h=10, expected coding loss 5% and INF for cost of wet elements. Outputs +% distortion caused by embedding D, stego object Y, number of message +% bits in each layer of LSBs NUM_MSG_BITS and coding loss L. See [1] for +% more details. +% +%[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D, EXP_L) +% the same as above, but uses expected coding loss EXP_L - see [1]. +% +%[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D, EXP_L, H) +% the same as above, but uses STCs with constraint height H - see [1]. +% +%[D Y NUM_MSG_BITS L] = STC_PM2_DLS_EMBED(X, COSTS, MSG, TARG_D, EXP_L, H, W) +% the same as above, but uses W as the cost of wet elements - see [1]. +% +% COSTS array must be 5xN, where N=numel(X). +% COSTS(1,i) = cost of changing X(i) by -2 +% COSTS(2,i) = cost of changing X(i) by -1 +% COSTS(3,i) = cost of changing X(i) by 0 +% COSTS(4,i) = cost of changing X(i) by +1 +% COSTS(5,i) = cost of changing X(i) by +2 +% +% NUM_MSG_BITS contains number of bits embedded in different layers +% NUM_MSG_BITS(end) - # of bits in LSBs +% NUM_MSG_BITS(end-1) - # of bits in 2LSBs +% sum(NUM_MSG_BITS) = total number of embedded bits. This can be less +% than numel(MSG). +% +% Use STC_ML_EXTRACT(Y, NUM_MSG_BITS, H) to extract the message back. +% +% Author: Tomas Filler email: tomas.filler@gmail.com +% www: http://dde.binghamton.edu/filler +% +% STC Toolbox website: http://dde.binghamton.edu/filler/stc +% +% References: +% [1] T. Filler, J. Judas, J. Fridrich, "Minimizing Additive Distortion in +% Steganography using Syndrome-Trellis Codes", submitted to IEEE +% Transactions on Information Forensics and Security, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10tifs-stc.pdf +% +% [2] T. Filler, J. Judas, J. Fridrich, "Minimizing Embedding Impact in +% Steganography using Trellis-Coded Quantization", Proc. SPIE, +% Electronic Imaging, Media Forensics and Security XII, San Jose, CA, +% January 18-20, 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10spie-syndrome-trellis-codes.pdf +% +% [3] T. Filler, J. Fridrich, "Minimizing Additive Distortion Functions +% With Non-Binary Embedding Operation in Steganography", 2nd IEEE +% Workshop on Information Forensics and Security, December 2010. +% http://dde.binghamton.edu/filler/pdf/Fill10wifs-multi-layer-stc.pdf +% +% See also STC_ML_EXTRACT, STC_PM1_PLS_EMBED, STC_PM1_DLS_EMBED +% STC_PM2_PLS_EMBED, STC_EMBED, STC_EXTRACT. \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.mexa64 b/stc/exp/ml_stc_linux_make_v1.0/matlab/stc_pm2_dls_embed.mexa64 new file mode 100755 index 0000000000000000000000000000000000000000..cd3daf57ecd245bad17989bda70e861bced9a120 GIT binary patch literal 74260 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 S3c#FH&HmQiQ`Tsv8~+dKdK&ov literal 0 HcmV?d00001 diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.cpp new file mode 100644 index 0000000..afbac2e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/coding_loss.cpp @@ -0,0 +1,97 @@ +#include +#include +#include +#include "coding_loss.h" + +// binary entropy function in double precission +inline double binary_entropy(double x) { + + double const LOG2 = log(2.0); + double const EPS = std::numeric_limits::epsilon(); + double z; + + if ((x::infinity(); + + beta2 = -1; // initial value - error + beta1 = 0; dist1 = 0; + for(i=0;iavg_distortion) { + beta3 *= 2; + for(i=0;i100) { + // beta is probably unbounded => it seems that we cannot find beta such that + // relative distortion will be smaller than requested. Binary search does not make sense here. + return -1; + } + } + while ( (dist1-dist3>(avg_distortion/1000.0)) ) { // iterative search for parameter beta + beta2 = beta1+(beta3-beta1)/2; dist2 = 0; + for(i=0;i +#include + +typedef unsigned char u8; + +double calc_coding_loss(const u8 *cover, unsigned int cover_length, unsigned int message_length, const double *costs, const u8 *stego); +double calculate_beta_from_distortion(const double *costs, unsigned int n, double avg_distortion); + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.cpp new file mode 100644 index 0000000..f45dd54 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.cpp @@ -0,0 +1,177 @@ +#include +#include +#include +#include "common.h" + +#include +#include +#include + +u32 mats[] = { +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +109, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +109, 79, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +89, 127, 99, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +95, 75, 121, 71, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +71, 117, 127, 75, 89, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +111, 83, 127, 97, 77, 117, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +113, 111, 87, 93, 99, 73, 117, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +89, 97, 115, 81, 77, 117, 87, 127, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +95, 107, 109, 79, 117, 67, 121, 123, 103, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +117, 71, 109, 79, 101, 115, 123, 81, 77, 95, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, +119, 73, 81, 125, 123, 103, 99, 127, 109, 69, 89, 107, 0, 0, 0, 0, 0, 0, 0, 0, +87, 127, 117, 81, 97, 67, 101, 93, 105, 109, 75, 115, 123, 0, 0, 0, 0, 0, 0, 0, +93, 107, 115, 95, 121, 81, 75, 99, 111, 85, 79, 119, 105, 65, 0, 0, 0, 0, 0, 0, +123, 85, 79, 87, 127, 65, 115, 93, 101, 111, 73, 119, 105, 99, 91, 0, 0, 0, 0, 0, +127, 99, 121, 111, 71, 109, 103, 117, 113, 65, 105, 87, 101, 75, 93, 123, 0, 0, 0, 0, +89, 93, 111, 117, 103, 127, 77, 95, 85, 105, 67, 69, 113, 123, 99, 75, 119, 0, 0, 0, +65, 99, 77, 85, 101, 91, 125, 103, 127, 111, 69, 93, 75, 95, 119, 113, 105, 115, 0, 0, +91, 117, 77, 107, 101, 127, 115, 83, 85, 119, 105, 113, 93, 71, 111, 121, 97, 73, 81, 0, +95, 111, 117, 83, 97, 75, 87, 127, 85, 93, 105, 115, 77, 101, 99, 89, 71, 121, 67, 123, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +247, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +143, 187, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +235, 141, 161, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +219, 185, 151, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +251, 159, 217, 167, 221, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +201, 143, 231, 251, 189, 169, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +143, 245, 177, 253, 217, 163, 155, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +233, 145, 219, 185, 231, 215, 173, 129, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +139, 201, 177, 167, 213, 253, 227, 199, 185, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +183, 145, 223, 199, 245, 139, 187, 157, 217, 237, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, +223, 145, 137, 219, 197, 243, 247, 189, 135, 181, 207, 235, 0, 0, 0, 0, 0, 0, 0, 0, +229, 205, 237, 187, 135, 241, 183, 163, 151, 243, 213, 137, 159, 0, 0, 0, 0, 0, 0, 0, +205, 165, 239, 211, 231, 247, 133, 227, 219, 189, 249, 185, 149, 129, 0, 0, 0, 0, 0, 0, +131, 213, 255, 207, 227, 221, 173, 185, 197, 147, 235, 247, 217, 143, 229, 0, 0, 0, 0, 0, +247, 139, 157, 223, 187, 147, 177, 249, 165, 153, 161, 227, 237, 255, 207, 197, 0, 0, 0, 0, +205, 139, 239, 183, 147, 187, 249, 225, 253, 163, 173, 233, 209, 159, 255, 149, 197, 0, 0, 0, +177, 173, 195, 137, 211, 249, 191, 135, 175, 155, 229, 215, 203, 225, 247, 237, 221, 227, 0, 0, +159, 189, 195, 163, 255, 147, 219, 247, 231, 157, 139, 173, 185, 197, 207, 245, 193, 241, 233, 0, +235, 179, 219, 253, 241, 131, 213, 231, 247, 223, 201, 193, 191, 249, 145, 237, 155, 165, 141, 173, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +339, 489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +469, 441, 379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +371, 439, 277, 479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +413, 489, 443, 327, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +509, 453, 363, 409, 425, 303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +377, 337, 443, 487, 467, 421, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +497, 349, 279, 395, 365, 427, 399, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +435, 373, 395, 507, 441, 325, 279, 289, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +301, 379, 509, 411, 293, 467, 455, 261, 343, 447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +367, 289, 445, 397, 491, 279, 373, 315, 435, 473, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, +465, 379, 319, 275, 293, 407, 373, 427, 445, 497, 347, 417, 0, 0, 0, 0, 0, 0, 0, 0, +473, 401, 267, 311, 359, 347, 333, 441, 405, 381, 497, 463, 269, 0, 0, 0, 0, 0, 0, 0, +467, 283, 405, 303, 269, 337, 385, 441, 511, 361, 455, 355, 353, 311, 0, 0, 0, 0, 0, 0, +489, 311, 259, 287, 445, 471, 419, 345, 289, 391, 405, 411, 371, 457, 331, 0, 0, 0, 0, 0, +493, 427, 305, 309, 339, 447, 381, 335, 323, 423, 453, 457, 443, 313, 371, 353, 0, 0, 0, 0, +271, 301, 483, 401, 369, 367, 435, 329, 319, 473, 441, 491, 325, 455, 389, 341, 317, 0, 0, 0, +333, 311, 509, 319, 391, 441, 279, 467, 263, 487, 393, 405, 473, 303, 353, 337, 451, 365, 0, 0, +301, 477, 361, 445, 505, 363, 375, 277, 271, 353, 337, 503, 457, 357, 287, 323, 435, 345, 497, 0, +281, 361, 413, 287, 475, 359, 483, 351, 337, 425, 453, 423, 301, 309, 331, 499, 507, 277, 375, 471, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +519, 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +579, 943, 781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +685, 663, 947, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +959, 729, 679, 609, 843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +959, 973, 793, 747, 573, 659, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +631, 559, 1023, 805, 709, 913, 979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +607, 867, 731, 1013, 625, 973, 825, 925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +743, 727, 851, 961, 813, 605, 527, 563, 867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +863, 921, 943, 523, 653, 969, 563, 597, 753, 621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +729, 747, 901, 839, 815, 935, 777, 641, 1011, 603, 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, +581, 831, 659, 877, 781, 929, 1003, 1021, 655, 729, 983, 611, 0, 0, 0, 0, 0, 0, 0, 0, +873, 1013, 859, 887, 579, 697, 769, 927, 679, 683, 911, 753, 733, 0, 0, 0, 0, 0, 0, 0, +991, 767, 845, 977, 923, 609, 633, 769, 533, 829, 859, 759, 687, 657, 0, 0, 0, 0, 0, 0, +781, 663, 731, 829, 851, 941, 601, 997, 719, 675, 947, 939, 657, 549, 647, 0, 0, 0, 0, 0, +619, 879, 681, 601, 1015, 797, 737, 841, 839, 869, 931, 789, 767, 547, 823, 635, 0, 0, 0, 0, +855, 567, 591, 1019, 745, 945, 769, 671, 803, 799, 925, 701, 517, 653, 885, 731, 581, 0, 0, 0, +887, 643, 785, 611, 905, 669, 703, 1017, 575, 763, 625, 869, 731, 861, 847, 941, 933, 577, 0, 0, +867, 991, 1021, 709, 599, 741, 933, 921, 619, 789, 957, 791, 969, 525, 591, 763, 657, 683, 829, 0, +1009, 1003, 901, 715, 643, 803, 805, 975, 667, 619, 569, 769, 685, 767, 853, 671, 881, 907, 955, 523, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1655, 1493, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1859, 1481, 1119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1395, 1737, 1973, 1259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1339, 1067, 1679, 1641, 2021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1657, 1331, 1783, 2043, 1097, 1485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1611, 1141, 1849, 2001, 1511, 1359, 1245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1215, 1733, 1461, 2025, 1251, 1945, 1649, 1851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1275, 1373, 1841, 1509, 1631, 1737, 1055, 1891, 1041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1715, 1117, 1503, 2025, 1027, 1959, 1365, 1739, 1301, 1233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1101, 1127, 1145, 1157, 1195, 1747, 1885, 1527, 1325, 2033, 1935, 0, 0, 0, 0, 0, 0, 0, 0, 0, +1369, 1255, 1809, 1889, 1183, 1495, 1223, 1781, 2029, 1327, 1075, 1065, 0, 0, 0, 0, 0, 0, 0, 0, +1157, 1499, 1871, 1365, 1559, 1149, 1293, 1571, 1641, 1971, 1807, 1673, 2023, 0, 0, 0, 0, 0, 0, 0, +1929, 1533, 1135, 1359, 1547, 1723, 1529, 1107, 1273, 1879, 1709, 1141, 1897, 1161, 0, 0, 0, 0, 0, 0, +1861, 1801, 1675, 1699, 1103, 1665, 1657, 1287, 1459, 2047, 1181, 1835, 1085, 1377, 1511, 0, 0, 0, 0, 0, +1915, 1753, 1945, 1391, 1205, 1867, 1895, 1439, 1719, 1185, 1685, 1139, 1229, 1791, 1821, 1295, 0, 0, 0, 0, +1193, 1951, 1469, 1737, 1047, 1227, 1989, 1717, 1735, 1643, 1857, 1965, 1405, 1575, 1907, 1173, 1299, 0, 0, 0, +1641, 1887, 1129, 1357, 1543, 1279, 1687, 1975, 1839, 1775, 1109, 1337, 1081, 1435, 1603, 2037, 1249, 1153, 0, 0, +1999, 1065, 1387, 1977, 1555, 1915, 1219, 1469, 1889, 1933, 1819, 1315, 1319, 1693, 1143, 1361, 1815, 1109, 1631, 0, +1253, 1051, 1827, 1871, 1613, 1759, 2015, 1229, 1585, 1057, 1409, 1831, 1943, 1491, 1557, 1195, 1339, 1449, 1675, 1679, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +3475, 2685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +3865, 2883, 2519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +4019, 3383, 3029, 2397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +2725, 3703, 3391, 2235, 2669, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +2489, 3151, 2695, 3353, 4029, 3867, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +2467, 2137, 3047, 3881, 3125, 2683, 3631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +2739, 3163, 2137, 4031, 2967, 3413, 3749, 2301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +3443, 2305, 3365, 2231, 2127, 3697, 3535, 4041, 2621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +3641, 2777, 2789, 2357, 3003, 2729, 3229, 2925, 3443, 2291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +3567, 2361, 2061, 2219, 3905, 2285, 2871, 3187, 2455, 2783, 2685, 0, 0, 0, 0, 0, 0, 0, 0, 0, +4043, 2615, 2385, 3911, 3267, 2871, 3667, 3037, 2905, 2921, 2129, 2299, 0, 0, 0, 0, 0, 0, 0, 0, +2315, 2997, 3743, 2729, 3117, 2297, 2585, 3141, 3283, 3943, 3613, 3345, 4047, 0, 0, 0, 0, 0, 0, 0, +3967, 3069, 3377, 3909, 3691, 2439, 2533, 3075, 2129, 3319, 3433, 3035, 2745, 2631, 0, 0, 0, 0, 0, 0, +3023, 3349, 2111, 2385, 3907, 3959, 3425, 3801, 2135, 2671, 2637, 2977, 2999, 3107, 2277, 0, 0, 0, 0, 0, +2713, 2695, 3447, 2537, 2685, 3755, 3953, 3901, 3193, 3107, 2407, 3485, 2097, 3091, 2139, 2261, 0, 0, 0, 0, +3065, 4059, 2813, 3043, 2849, 3477, 3205, 3381, 2747, 3203, 3937, 3603, 3625, 3559, 3831, 2243, 2343, 0, 0, 0, +3999, 3183, 2717, 2307, 2103, 3353, 2761, 2541, 2375, 2327, 3277, 2607, 3867, 3037, 2163, 2261, 3649, 2929, 0, 0, +2543, 2415, 3867, 3709, 3161, 2369, 4087, 2205, 3785, 2515, 2133, 2913, 3941, 3371, 2605, 3269, 3385, 3025, 2323, 0, +2939, 2775, 3663, 2413, 2573, 2205, 3821, 3513, 2699, 3379, 2479, 2663, 2367, 2517, 3027, 3201, 3177, 3281, 4069, 2069, +}; + +u32 *getMatrix(int width, int height) { + u32 *cols; + cols = (u32*)malloc(width * sizeof(u32)); + + if(width >= 2 && width <= 20 && height >= 7 && height <= 12) { // get it from the array + memcpy(cols, &mats[(height - 7) * 400 + (width - 1) * 20], width * sizeof(u32)); + } else { // generate a random one + int i, j; + u32 r, mask, bop; + + /* This was here because random submatrices designed with the same columns are known to be bad. But sometimes the + * payload is so small that there is no other way. + * + * Modified by Tomas Filler. + */ + + boost::mt19937 generator( 1 ); + boost::variate_generator< boost::mt19937&, boost::uniform_int< > > rng( generator, boost::uniform_int< >( 0, RAND_MAX ) ); + + mask = (1 << (height - 2)) - 1; + bop = (1 << (height - 1)) + 1; + if((1 << (height - 2)) < width) { + // fprintf(stderr, "Cannot generate matrix for this payload. Choose a higher constraint height.\n"); + // generate the columns randomly but let first and last row be full of 1s. + // I know, there will be identical columns. + for(i = 0; i < width; i++) { + r = ((rng() & mask) << 1) + bop; + cols[i] = r; + } + } else { + for(i = 0; i < width; i++) { + for(j = -1; j < i;) { + r = ((rng() & mask) << 1) + bop; + for(j = 0; j < i; j++) { + if(cols[j] == r) + break; + } + } + cols[i] = r; + } + } + + } + return cols; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.h b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.h new file mode 100644 index 0000000..d84e69e --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/common.h @@ -0,0 +1,35 @@ +#ifndef COMMON_H +#define COMMON_H + +#include + +typedef unsigned int u32; +typedef unsigned short u16; +typedef unsigned char u8; + +extern u32 mats[]; + +/* Simple class for throwing exceptions */ +class stc_exception : public std::exception { +public: + stc_exception(std::string message, u32 error_id) { this->message = message; this->error_id = error_id; } + virtual ~stc_exception() throw() {} + virtual const char* what() const throw() { return message.c_str(); } + u32 error_id; +private: + std::string message; +}; + +/* + The following error_ids are in use: + 1 = Submatrix height must not exceed 31. + 2 = Not enough memory. + 3 = The message cannot be longer than the cover object. + 4 = No solution exists. - This happen when there are too many Inf values in cost vector and thus the solution does not exist due to sparse parity-check matrix. + 5 = Price vector limit exceeded. - There is a limit to cost elements when you use integer version of the algorithm. Try to use costs in double. + 6 = Maximum number of trials in layered construction exceeded. + */ + +u32 *getMatrix(int width, int height); + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/compile.m b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/compile.m new file mode 100644 index 0000000..f4535d5 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/compile.m @@ -0,0 +1,25 @@ +clc; +fprintf('compiling stc_ml_extract ... '); +mex -output stc_ml_extract mex_stc_ml_extract.cpp stc_ml_c.cpp stc_embed_c.cpp stc_extract_c.cpp common.cpp -I../include +fprintf('done\n'); +fprintf('compiling stc_pm1_pls_embed ... '); +mex -output stc_pm1_pls_embed mex_stc_pm1_pls_embed.cpp stc_ml_c.cpp stc_embed_c.cpp stc_extract_c.cpp common.cpp -I../include +fprintf('done\n'); +fprintf('compiling stc_pm1_dls_embed ... '); +mex -output stc_pm1_dls_embed mex_stc_pm1_dls_embed.cpp stc_ml_c.cpp stc_embed_c.cpp stc_extract_c.cpp common.cpp -I../include +fprintf('done\n'); +fprintf('compiling stc_pm2_pls_embed ... '); +mex -output stc_pm2_pls_embed mex_stc_pm2_pls_embed.cpp stc_ml_c.cpp stc_embed_c.cpp stc_extract_c.cpp common.cpp -I../include +fprintf('done\n'); +fprintf('compiling stc_pm2_dls_embed ... '); +mex -output stc_pm2_dls_embed mex_stc_pm2_dls_embed.cpp stc_ml_c.cpp stc_embed_c.cpp stc_extract_c.cpp common.cpp -I../include +fprintf('done\n'); +fprintf('compiling stc_embed ... '); +mex -output stc_embed stc_embed.cpp common.cpp -I../include +fprintf('done\n'); +fprintf('compiling stc_extract ... '); +mex -output stc_extract stc_extract.cpp common.cpp -I../include +fprintf('done\n'); + +movefile('./*.mex*','../matlab'); +fprintf('All compiled MEX files were moved to ../matlab folder.\n'); \ No newline at end of file diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example1_ml_stc.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example1_ml_stc.cpp new file mode 100644 index 0000000..c93d498 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/example1_ml_stc.cpp @@ -0,0 +1,95 @@ +#include +#include +#include +#include +#include + +#include "stc_ml_c.h" + +int main() { + + const float payload = 0.5; // + const uint n = 1e+5; // cover size + uint h = 10; // constraint height of STC code + uint m = floor(payload*n); // number of message bits to embed + uint trials = 10; // if the message cannot be embedded due to large amount of + // wet pixels, then try again with smaller message. Try at most 10 times. + + srand(0); + // srand(time(NULL)); + + // generate random 8bit cover + int* cover = new int[n]; + for (uint i=0; i change to -1 is forbidden + costs[3*i+1] = 0; // cost of changing pixel by 0 + costs[3*i+2] = 1; // cost of changing pixel by +1 + } else if (cover[i]==255) { + costs[3*i+0] = 1; // cost of changing pixel by -1 + costs[3*i+1] = 0; // cost of changing pixel by 0 + costs[3*i+2] = F_INF; // cost of changing pixel by +1 is infinity => change to +1 is forbidden + } else { + costs[3*i+0] = 1; // cost of changing pixel by -1 + costs[3*i+1] = 0; // cost of changing pixel by 0 + costs[3*i+2] = 1; // cost of changing pixel by +1 + } + } + + unsigned char* message = new unsigned char[m]; + unsigned char* extracted_message = new unsigned char[m]; + for (uint i=0; i " << num_msg_bits[1] << " bits in 2LSBs and " << num_msg_bits[0] << " bits in LSBs.\n"; + std::cout << "STC constraint height h = " << h << " bits\n"; + std::cout << " Coding loss l = " << coding_loss*100 << "%.\n"; + std::cout << " Processing speed t = " << (double)n/t << " cover elements/second without coding loss calculation\n"; + + bool msg_ok = true; + for (uint i=0; i +#include +#include +#include +#include + +#include "stc_ml_c.h" + +int main() { + + const float payload = 0.5; // + const uint n = 1e+5; // cover size + uint h = 10; // constraint height of STC code + uint m = floor(payload*n); // number of message bits to embed + uint trials = 10; // if the message cannot be embedded due to large amount of + // wet pixels, then try again with smaller message. Try at most 10 times. + + srand(0); + // srand(time(NULL)); + + // generate random 8bit cover + int* cover = new int[n]; + for (uint i=0; i=0) && (cover[i]+j<=255) ) { + switch (j) { + case -2: + case 2: + costs[5*i+2+j] = 4; // cost of changing pixel by +-2 + break; + case -1: + case 1: + costs[5*i+2+j] = 1; // cost of changing pixel by +-1 + break; + default: + costs[5*i+2+j] = 0; // cost of changing pixel by 0 + } + } + } + } + + unsigned char* message = new unsigned char[m]; + unsigned char* extracted_message = new unsigned char[m]; + for (uint i=0; i " << num_msg_bits[2] << " bits in 3LSBs, " << num_msg_bits[1] << " bits in 2LSBs and " << num_msg_bits[0] << " bits in LSBs.\n"; + std::cout << "STC constraint height h = " << h << " bits\n"; + std::cout << " Coding loss l = " << coding_loss*100 << "%.\n"; + std::cout << " Processing speed t = " << (double)n/t << " cover elements/second without coding loss calculation\n"; + + bool msg_ok = true; + for (uint i=0; i1 || mxGetN(IN_STEGO)==1) mexErrMsgTxt("Vector of stego elements must be a row vector."); + if (!mxIsClass(IN_STEGO, "int32")) mexErrMsgTxt("Vector of stego elements must be of type int32."); + stego = (int*)mxGetPr(IN_STEGO); + n = mxGetN(IN_STEGO); + + if (mxGetM(IN_NUM_MSG_BITS)>1 || (!mxIsClass(IN_NUM_MSG_BITS, "uint32"))) mexErrMsgTxt("Vector of number of embedded bits must be uint32 row vector."); + uint* num_msg_bits = (uint*)mxGetPr(IN_NUM_MSG_BITS); + uint num_of_layers = mxGetN(IN_NUM_MSG_BITS); + + // get constraint length + h = 10; // default value + if (nrhs>2) { + if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value."); + h = (uint)mxGetScalar(IN_CONSTRAINT_H); + } + uint m = 0; + for (uint i=0; i1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector."); + if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32."); + cover = (int*)mxGetPr(IN_COVER); + n = mxGetN(IN_COVER); + + if (mxGetM(IN_COSTS)!=3 || mxGetN(IN_COSTS)!=mxGetN(IN_COVER)) mexErrMsgTxt("Matrix of costs must be 3xn, where n is number of cover elements."); + if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single."); + costs = (float*)mxGetPr(IN_COSTS); + + if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector."); + if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8."); + message = (u8*)mxGetPr(IN_MESSAGE); + m = mxGetN(IN_MESSAGE); + + if (mxGetM(IN_TARGET_DIST)>1 || mxGetN(IN_TARGET_DIST)>1) mexErrMsgTxt("Target distortion must be scalar value."); + target_dist = (float)mxGetScalar(IN_TARGET_DIST); + + // get constraint height + expected_coding_loss = 0.05; // default value + if (nrhs>4) { + if (mxGetM(IN_EXP_CODING_LOSS)>1 || mxGetN(IN_EXP_CODING_LOSS)>1) mexErrMsgTxt("Expected coding loss must be scalar value."); + expected_coding_loss = (float)mxGetScalar(IN_EXP_CODING_LOSS); + } + // get constraint height + h = 10; // default value + if (nrhs>5) { + if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value."); + h = (uint)mxGetScalar(IN_CONSTRAINT_H); + } + // wet cost + float wet_cost = F_INF; // default value is infinity + if (nrhs>6) { + if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value."); + if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single."); + wet_cost = (float)mxGetScalar(IN_WET_COST); + } + + coding_loss = 0; // this is optional output argument + if (nlhs>3) { + OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL); + coding_loss = (float*)mxGetPr(OUT_CODING_LOSS); + } + + OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL); + double* dist = mxGetPr(OUT_DISTORTION); + OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL); + stego = (int*)mxGetPr(OUT_STEGO); + OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 2, mxUINT32_CLASS, mxREAL); + uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS); + + *dist = stc_pm1_dls_embed(n, cover, costs, m, message, target_dist, h, expected_coding_loss, wet_cost, stego, num_msg_bits, trials, coding_loss); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_pls_embed.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_pls_embed.cpp new file mode 100644 index 0000000..0628888 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm1_pls_embed.cpp @@ -0,0 +1,68 @@ +#include "stc_ml_c.h" +#include "mex.h" + +// input and output arguments +#define OUT_DISTORTION plhs[0] // extracted message represented as uint8 array +#define OUT_STEGO plhs[1] // +#define OUT_NUM_MSG_BITS plhs[2] // array describing the number of bits embedded in every layer +#define OUT_CODING_LOSS plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm + +#define IN_COVER prhs[0] // array of cover elements +#define IN_COSTS prhs[1] // array of costs of changing each element by +-1 or 0 +#define IN_MESSAGE prhs[2] // array with message bits in uint8 +#define IN_CONSTRAINT_H prhs[3] // constraint height of STC codes, default = 10 +#define IN_WET_COST prhs[4] // cost used to represent forbidden stego element, default = Inf + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { + + uint h, n, m, trials = 10; + int *stego, *cover; + float *costs, *coding_loss; + u8* message; + + // check for proper number of input and output arguments + if (nrhs<3) { mexErrMsgTxt("At least three input arguments are required."); } + + if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector."); + if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32."); + cover = (int*)mxGetPr(IN_COVER); + n = mxGetN(IN_COVER); + + if (mxGetM(IN_COSTS)!=3 || mxGetN(IN_COSTS)!=mxGetN(IN_COVER)) mexErrMsgTxt("Matrix of costs must be 3xn, where n is number of cover elements."); + if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single."); + costs = (float*)mxGetPr(IN_COSTS); + + if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector."); + if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8."); + message = (u8*)mxGetPr(IN_MESSAGE); + m = mxGetN(IN_MESSAGE); + + // get constraint length + h = 10; // default value + if (nrhs>3) { + if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value."); + h = (uint)mxGetScalar(IN_CONSTRAINT_H); + } + // wet cost + float wet_cost = F_INF; // default value is infinity + if (nrhs>4) { + if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value."); + if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single."); + wet_cost = (float)mxGetScalar(IN_WET_COST); + } + + coding_loss = 0; // this is optional output argument + if (nlhs>3) { + OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL); + coding_loss = (float*)mxGetPr(OUT_CODING_LOSS); + } + + OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL); + double* dist = mxGetPr(OUT_DISTORTION); + OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL); + stego = (int*)mxGetPr(OUT_STEGO); + OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 2, mxUINT32_CLASS, mxREAL); + uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS); + + *dist = stc_pm1_pls_embed(n, cover, costs, m, message, h, wet_cost, stego, num_msg_bits, trials, coding_loss); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_dls_embed.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_dls_embed.cpp new file mode 100644 index 0000000..db6d7a2 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_dls_embed.cpp @@ -0,0 +1,79 @@ +#include "stc_ml_c.h" +#include "mex.h" + +// input and output arguments +#define OUT_DISTORTION plhs[0] // extracted message represented as uint8 array +#define OUT_STEGO plhs[1] // array of stego elements with embedded message +#define OUT_NUM_MSG_BITS plhs[2] // array describing the number of bits embedded in every layer +#define OUT_CODING_LOSS plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm + +#define IN_COVER prhs[0] // array of cover elements +#define IN_COSTS prhs[1] // array of costs of changing each element by +-2 or 0 +#define IN_MESSAGE prhs[2] // array with message bits in uint8 +#define IN_TARGET_DIST prhs[3] // target distortion of distortion limited sender +#define IN_EXP_CODING_LOSS prhs[4] // OPTIONAL coding loss applied when embedding to accomodate the loss of practical algorithm, default = 5% +#define IN_CONSTRAINT_H prhs[5] // OPTIONAL constraint height of STC codes, default = 10 +#define IN_WET_COST prhs[6] // OPTIONAL cost used to represent forbidden stego element, default = Inf + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { + + uint h, n, m, trials = 10; + int *stego, *cover; + float *costs, *coding_loss, target_dist, expected_coding_loss; + u8* message; + + // check for proper number of input and output arguments + if (nrhs<4) { mexErrMsgTxt("At least four input arguments are required."); } + + if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector."); + if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32."); + cover = (int*)mxGetPr(IN_COVER); + n = mxGetN(IN_COVER); + + if (mxGetM(IN_COSTS)!=5 || mxGetN(IN_COSTS)!=mxGetN(IN_COVER)) mexErrMsgTxt("Matrix of costs must be 5xn, where n is number of cover elements."); + if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single."); + costs = (float*)mxGetPr(IN_COSTS); + + if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector."); + if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8."); + message = (u8*)mxGetPr(IN_MESSAGE); + m = mxGetN(IN_MESSAGE); + + if (mxGetM(IN_TARGET_DIST)>1 || mxGetN(IN_TARGET_DIST)>1) mexErrMsgTxt("Target distortion must be scalar value."); + target_dist = (float)mxGetScalar(IN_TARGET_DIST); + + // get constraint height + expected_coding_loss = 0.05; // default value + if (nrhs>4) { + if (mxGetM(IN_EXP_CODING_LOSS)>1 || mxGetN(IN_EXP_CODING_LOSS)>1) mexErrMsgTxt("Expected coding loss must be scalar value."); + expected_coding_loss = (float)mxGetScalar(IN_EXP_CODING_LOSS); + } + // get constraint height + h = 10; // default value + if (nrhs>5) { + if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value."); + h = (uint)mxGetScalar(IN_CONSTRAINT_H); + } + // wet cost + float wet_cost = F_INF; // default value is infinity + if (nrhs>6) { + if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value."); + if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single."); + wet_cost = (float)mxGetScalar(IN_WET_COST); + } + + coding_loss = 0; // this is optional output argument + if (nlhs>3) { + OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL); + coding_loss = (float*)mxGetPr(OUT_CODING_LOSS); + } + + OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL); + double* dist = mxGetPr(OUT_DISTORTION); + OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL); + stego = (int*)mxGetPr(OUT_STEGO); + OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 3, mxUINT32_CLASS, mxREAL); + uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS); + + *dist = stc_pm2_dls_embed(n, cover, costs, m, message, target_dist, h, expected_coding_loss, wet_cost, stego, num_msg_bits, trials, coding_loss); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_pls_embed.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_pls_embed.cpp new file mode 100644 index 0000000..7dc0c62 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/mex_stc_pm2_pls_embed.cpp @@ -0,0 +1,68 @@ +#include "stc_ml_c.h" +#include "mex.h" + +// input and output arguments +#define OUT_DISTORTION plhs[0] // extracted message represented as uint8 array +#define OUT_STEGO plhs[1] // +#define OUT_NUM_MSG_BITS plhs[2] // array describing the number of bits embedded in every layer +#define OUT_CODING_LOSS plhs[3] // OPTIONAL - describes the loss introduced by practical algorithm + +#define IN_COVER prhs[0] // array of cover elements +#define IN_COSTS prhs[1] // array of costs of changing each element by +-1 or 0 +#define IN_MESSAGE prhs[2] // array with message bits in uint8 +#define IN_CONSTRAINT_H prhs[3] // constraint height of STC codes, default = 10 +#define IN_WET_COST prhs[4] // cost used to represent forbidden stego element, default = Inf + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { + + uint h, n, m, trials = 10; + int *stego, *cover; + float *costs, *coding_loss; + u8* message; + + // check for proper number of input and output arguments + if (nrhs<3) { mexErrMsgTxt("At least three input arguments are required."); } + + if (mxGetM(IN_COVER)>1 || mxGetN(IN_COVER)==1) mexErrMsgTxt("Vector of cover elements must be a row vector."); + if (!mxIsClass(IN_COVER, "int32")) mexErrMsgTxt("Vector of cover elements must be of type int32."); + cover = (int*)mxGetPr(IN_COVER); + n = mxGetN(IN_COVER); + + if (mxGetM(IN_COSTS)!=5 || mxGetN(IN_COSTS)!=mxGetN(IN_COVER)) mexErrMsgTxt("Matrix of costs must be 5xn, where n is number of cover elements."); + if (!mxIsClass(IN_COSTS, "single")) mexErrMsgTxt("Matrix of costs must be of type single."); + costs = (float*)mxGetPr(IN_COSTS); + + if (mxGetM(IN_MESSAGE)!=1) mexErrMsgTxt("Message vector must be a row vector."); + if (!mxIsClass(IN_MESSAGE, "uint8")) mexErrMsgTxt("Message array must be of type uint8."); + message = (u8*)mxGetPr(IN_MESSAGE); + m = mxGetN(IN_MESSAGE); + + // get constraint length + h = 10; // default value + if (nrhs>3) { + if (mxGetM(IN_CONSTRAINT_H)>1 || mxGetN(IN_CONSTRAINT_H)>1) mexErrMsgTxt("Constraint height of the STC must be scalar integer value."); + h = (uint)mxGetScalar(IN_CONSTRAINT_H); + } + // wet cost + float wet_cost = F_INF; // default value is infinity + if (nrhs>4) { + if (mxGetM(IN_WET_COST)>1 || mxGetN(IN_WET_COST)>1) mexErrMsgTxt("Wet cost must be scalar value."); + if (!mxIsClass(IN_WET_COST, "single")) mexErrMsgTxt("Wet cost must be of type single."); + wet_cost = (float)mxGetScalar(IN_WET_COST); + } + + coding_loss = 0; // this is optional output argument + if (nlhs>3) { + OUT_CODING_LOSS = mxCreateNumericMatrix(1, 1, mxSINGLE_CLASS, mxREAL); + coding_loss = (float*)mxGetPr(OUT_CODING_LOSS); + } + + OUT_DISTORTION = mxCreateNumericMatrix(1, 1, mxDOUBLE_CLASS, mxREAL); + double* dist = mxGetPr(OUT_DISTORTION); + OUT_STEGO = mxCreateNumericMatrix(1, n, mxINT32_CLASS, mxREAL); + stego = (int*)mxGetPr(OUT_STEGO); + OUT_NUM_MSG_BITS = mxCreateNumericMatrix(1, 3, mxUINT32_CLASS, mxREAL); + uint *num_msg_bits = (uint*)mxGetPr(OUT_NUM_MSG_BITS); + + *dist = stc_pm2_pls_embed(n, cover, costs, m, message, h, wet_cost, stego, num_msg_bits, trials, coding_loss); +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/sse_mathfun.h b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/sse_mathfun.h new file mode 100644 index 0000000..9773e29 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/sse_mathfun.h @@ -0,0 +1,762 @@ +/* SIMD (SSE1+MMX or SSE2) implementation of sin, cos, exp and log + + Inspired by Intel Approximate Math library, and based on the + corresponding algorithms of the cephes math library + + The default is to use the SSE1 version. If you define USE_SSE2 the + the SSE2 intrinsics will be used in place of the MMX intrinsics. Do + not expect any significant performance improvement with SSE2. +*/ + +/* Copyright (C) 2007 Julien Pommier + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + (this is the zlib license) +*/ + +#include + +/* yes I know, the top of this file is quite ugly */ + +#define USE_SSE2 // use SSE2 version + +#ifdef _MSC_VER /* visual c++ */ +# define ALIGN16_BEG __declspec(align(16)) +# define ALIGN16_END +#else /* gcc or icc */ +# define ALIGN16_BEG +# define ALIGN16_END __attribute__((aligned(16))) +#endif + +/* __m128 is ugly to write */ +typedef __m128 v4sf; // vector of 4 float (sse1) + +#ifdef USE_SSE2 +# include +typedef __m128i v4si; // vector of 4 int (sse2) +#else +typedef __m64 v2si; // vector of 2 int (mmx) +#endif + +/* declare some SSE constants -- why can't I figure a better way to do that? */ +#define _PS_CONST(Name, Val) \ + static const ALIGN16_BEG float _ps_##Name[4] ALIGN16_END = { Val, Val, Val, Val } +#define _PI32_CONST(Name, Val) \ + static const ALIGN16_BEG int _pi32_##Name[4] ALIGN16_END = { Val, Val, Val, Val } +#define _PS_CONST_TYPE(Name, Type, Val) \ + static const ALIGN16_BEG Type _ps_##Name[4] ALIGN16_END = { Val, Val, Val, Val } + +_PS_CONST(1 , 1.0f); +_PS_CONST(0p5, 0.5f); +/* the smallest non denormalized float number */ +_PS_CONST_TYPE(min_norm_pos, int, 0x00800000); +_PS_CONST_TYPE(mant_mask, int, 0x7f800000); +_PS_CONST_TYPE(inv_mant_mask, int, ~0x7f800000); + +_PS_CONST_TYPE(sign_mask, int, 0x80000000); +_PS_CONST_TYPE(inv_sign_mask, int, ~0x80000000); + +_PI32_CONST(1, 1); +_PI32_CONST(inv1, ~1); +_PI32_CONST(2, 2); +_PI32_CONST(4, 4); +_PI32_CONST(0x7f, 0x7f); + +_PS_CONST(cephes_SQRTHF, 0.707106781186547524); +_PS_CONST(cephes_log_p0, 7.0376836292E-2); +_PS_CONST(cephes_log_p1, - 1.1514610310E-1); +_PS_CONST(cephes_log_p2, 1.1676998740E-1); +_PS_CONST(cephes_log_p3, - 1.2420140846E-1); +_PS_CONST(cephes_log_p4, + 1.4249322787E-1); +_PS_CONST(cephes_log_p5, - 1.6668057665E-1); +_PS_CONST(cephes_log_p6, + 2.0000714765E-1); +_PS_CONST(cephes_log_p7, - 2.4999993993E-1); +_PS_CONST(cephes_log_p8, + 3.3333331174E-1); +_PS_CONST(cephes_log_q1, -2.12194440e-4); +_PS_CONST(cephes_log_q2, 0.693359375); + +#if defined (__MINGW32__) + +/* the ugly part below: many versions of gcc used to be completely buggy with respect to some intrinsics + The movehl_ps is fixed in mingw 3.4.5, but I found out that all the _mm_cmp* intrinsics were completely + broken on my mingw gcc 3.4.5 ... + + Note that the bug on _mm_cmp* does occur only at -O0 optimization level +*/ + +inline __m128 my_movehl_ps(__m128 a, const __m128 b) { + asm ( + "movhlps %2,%0\n\t" + : "=x" (a) + : "0" (a), "x"(b) + ); + return a; } +#warning "redefined _mm_movehl_ps (see gcc bug 21179)" +#define _mm_movehl_ps my_movehl_ps + +inline __m128 my_cmplt_ps(__m128 a, const __m128 b) { + asm ( + "cmpltps %2,%0\n\t" + : "=x" (a) + : "0" (a), "x"(b) + ); + return a; + } +inline __m128 my_cmpgt_ps(__m128 a, const __m128 b) { + asm ( + "cmpnleps %2,%0\n\t" + : "=x" (a) + : "0" (a), "x"(b) + ); + return a; +} +inline __m128 my_cmpeq_ps(__m128 a, const __m128 b) { + asm ( + "cmpeqps %2,%0\n\t" + : "=x" (a) + : "0" (a), "x"(b) + ); + return a; +} +#warning "redefined _mm_cmpxx_ps functions..." +#define _mm_cmplt_ps my_cmplt_ps +#define _mm_cmpgt_ps my_cmpgt_ps +#define _mm_cmpeq_ps my_cmpeq_ps +#endif + +#ifndef USE_SSE2 +typedef union xmm_mm_union { + __m128 xmm; + __m64 mm[2]; +} xmm_mm_union; + +#define COPY_XMM_TO_MM(xmm_, mm0_, mm1_) { \ + xmm_mm_union u; u.xmm = xmm_; \ + mm0_ = u.mm[0]; \ + mm1_ = u.mm[1]; \ +} + +#define COPY_MM_TO_XMM(mm0_, mm1_, xmm_) { \ + xmm_mm_union u; u.mm[0]=mm0_; u.mm[1]=mm1_; xmm_ = u.xmm; \ + } + +#endif // USE_SSE2 + +/* natural logarithm computed for 4 simultaneous float + return NaN for x <= 0 +*/ +v4sf log_ps(v4sf x) { +#ifdef USE_SSE2 + v4si emm0; +#else + v2si mm0, mm1; +#endif + v4sf one = *(v4sf*)_ps_1; + + v4sf invalid_mask = _mm_cmple_ps(x, _mm_setzero_ps()); + + x = _mm_max_ps(x, *(v4sf*)_ps_min_norm_pos); /* cut off denormalized stuff */ + +#ifndef USE_SSE2 + /* part 1: x = frexpf(x, &e); */ + COPY_XMM_TO_MM(x, mm0, mm1); + mm0 = _mm_srli_pi32(mm0, 23); + mm1 = _mm_srli_pi32(mm1, 23); +#else + emm0 = _mm_srli_epi32(_mm_castps_si128(x), 23); +#endif + /* keep only the fractional part */ + x = _mm_and_ps(x, *(v4sf*)_ps_inv_mant_mask); + x = _mm_or_ps(x, *(v4sf*)_ps_0p5); + +#ifndef USE_SSE2 + /* now e=mm0:mm1 contain the really base-2 exponent */ + mm0 = _mm_sub_pi32(mm0, *(v2si*)_pi32_0x7f); + mm1 = _mm_sub_pi32(mm1, *(v2si*)_pi32_0x7f); + v4sf e = _mm_cvtpi32x2_ps(mm0, mm1); + _mm_empty(); /* bye bye mmx */ +#else + emm0 = _mm_sub_epi32(emm0, *(v4si*)_pi32_0x7f); + v4sf e = _mm_cvtepi32_ps(emm0); +#endif + + e = _mm_add_ps(e, one); + + /* part2: + if( x < SQRTHF ) { + e -= 1; + x = x + x - 1.0; + } else { x = x - 1.0; } + */ + v4sf mask = _mm_cmplt_ps(x, *(v4sf*)_ps_cephes_SQRTHF); + v4sf tmp = _mm_and_ps(x, mask); + x = _mm_sub_ps(x, one); + e = _mm_sub_ps(e, _mm_and_ps(one, mask)); + x = _mm_add_ps(x, tmp); + + + v4sf z = _mm_mul_ps(x,x); + + v4sf y = *(v4sf*)_ps_cephes_log_p0; + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p1); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p2); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p3); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p4); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p5); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p6); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p7); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_log_p8); + y = _mm_mul_ps(y, x); + + y = _mm_mul_ps(y, z); + + + tmp = _mm_mul_ps(e, *(v4sf*)_ps_cephes_log_q1); + y = _mm_add_ps(y, tmp); + + + tmp = _mm_mul_ps(z, *(v4sf*)_ps_0p5); + y = _mm_sub_ps(y, tmp); + + tmp = _mm_mul_ps(e, *(v4sf*)_ps_cephes_log_q2); + x = _mm_add_ps(x, y); + x = _mm_add_ps(x, tmp); + x = _mm_or_ps(x, invalid_mask); // negative arg will be NAN + return x; +} + +_PS_CONST(exp_hi, 88.3762626647949f); +_PS_CONST(exp_lo, -88.3762626647949f); + +_PS_CONST(cephes_LOG2EF, 1.44269504088896341); +_PS_CONST(cephes_exp_C1, 0.693359375); +_PS_CONST(cephes_exp_C2, -2.12194440e-4); + +_PS_CONST(cephes_exp_p0, 1.9875691500E-4); +_PS_CONST(cephes_exp_p1, 1.3981999507E-3); +_PS_CONST(cephes_exp_p2, 8.3334519073E-3); +_PS_CONST(cephes_exp_p3, 4.1665795894E-2); +_PS_CONST(cephes_exp_p4, 1.6666665459E-1); +_PS_CONST(cephes_exp_p5, 5.0000001201E-1); + +v4sf exp_ps(v4sf x) { + v4sf tmp = _mm_setzero_ps(), fx; +#ifdef USE_SSE2 + v4si emm0; +#else + v2si mm0, mm1; +#endif + v4sf one = *(v4sf*)_ps_1; + + x = _mm_min_ps(x, *(v4sf*)_ps_exp_hi); + x = _mm_max_ps(x, *(v4sf*)_ps_exp_lo); + + /* express exp(x) as exp(g + n*log(2)) */ + fx = _mm_mul_ps(x, *(v4sf*)_ps_cephes_LOG2EF); + fx = _mm_add_ps(fx, *(v4sf*)_ps_0p5); + + /* how to perform a floorf with SSE: just below */ +#ifndef USE_SSE2 + /* step 1 : cast to int */ + tmp = _mm_movehl_ps(tmp, fx); + mm0 = _mm_cvttps_pi32(fx); + mm1 = _mm_cvttps_pi32(tmp); + /* step 2 : cast back to float */ + tmp = _mm_cvtpi32x2_ps(mm0, mm1); +#else + emm0 = _mm_cvttps_epi32(fx); + tmp = _mm_cvtepi32_ps(emm0); +#endif + /* if greater, substract 1 */ + v4sf mask = _mm_cmpgt_ps(tmp, fx); + mask = _mm_and_ps(mask, one); + fx = _mm_sub_ps(tmp, mask); + + tmp = _mm_mul_ps(fx, *(v4sf*)_ps_cephes_exp_C1); + v4sf z = _mm_mul_ps(fx, *(v4sf*)_ps_cephes_exp_C2); + x = _mm_sub_ps(x, tmp); + x = _mm_sub_ps(x, z); + + z = _mm_mul_ps(x,x); + + v4sf y = *(v4sf*)_ps_cephes_exp_p0; + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_exp_p1); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_exp_p2); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_exp_p3); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_exp_p4); + y = _mm_mul_ps(y, x); + y = _mm_add_ps(y, *(v4sf*)_ps_cephes_exp_p5); + y = _mm_mul_ps(y, z); + y = _mm_add_ps(y, x); + y = _mm_add_ps(y, one); + + /* build 2^n */ +#ifndef USE_SSE2 + z = _mm_movehl_ps(z, fx); + mm0 = _mm_cvttps_pi32(fx); + mm1 = _mm_cvttps_pi32(z); + mm0 = _mm_add_pi32(mm0, *(v2si*)_pi32_0x7f); + mm1 = _mm_add_pi32(mm1, *(v2si*)_pi32_0x7f); + mm0 = _mm_slli_pi32(mm0, 23); + mm1 = _mm_slli_pi32(mm1, 23); + + v4sf pow2n; + COPY_MM_TO_XMM(mm0, mm1, pow2n); + _mm_empty(); +#else + emm0 = _mm_cvttps_epi32(fx); + emm0 = _mm_add_epi32(emm0, *(v4si*)_pi32_0x7f); + emm0 = _mm_slli_epi32(emm0, 23); + v4sf pow2n = _mm_castsi128_ps(emm0); +#endif + y = _mm_mul_ps(y, pow2n); + return y; +} + +_PS_CONST(minus_cephes_DP1, -0.78515625); +_PS_CONST(minus_cephes_DP2, -2.4187564849853515625e-4); +_PS_CONST(minus_cephes_DP3, -3.77489497744594108e-8); +_PS_CONST(sincof_p0, -1.9515295891E-4); +_PS_CONST(sincof_p1, 8.3321608736E-3); +_PS_CONST(sincof_p2, -1.6666654611E-1); +_PS_CONST(coscof_p0, 2.443315711809948E-005); +_PS_CONST(coscof_p1, -1.388731625493765E-003); +_PS_CONST(coscof_p2, 4.166664568298827E-002); +_PS_CONST(cephes_FOPI, 1.27323954473516); // 4 / M_PI + + +/* evaluation of 4 sines at onces, using only SSE1+MMX intrinsics so + it runs also on old athlons XPs and the pentium III of your grand + mother. + + The code is the exact rewriting of the cephes sinf function. + Precision is excellent as long as x < 8192 (I did not bother to + take into account the special handling they have for greater values + -- it does not return garbage for arguments over 8192, though, but + the extra precision is missing). + + Note that it is such that sinf((float)M_PI) = 8.74e-8, which is the + surprising but correct result. + + Performance is also surprisingly good, 1.33 times faster than the + macos vsinf SSE2 function, and 1.5 times faster than the + __vrs4_sinf of amd's ACML (which is only available in 64 bits). Not + too bad for an SSE1 function (with no special tuning) ! + However the latter libraries probably have a much better handling of NaN, + Inf, denormalized and other special arguments.. + + On my core 1 duo, the execution of this function takes approximately 95 cycles. + + From what I have observed on the experiments with Intel AMath lib, switching to an + SSE2 version would improve the perf by only 10%. + + Since it is based on SSE intrinsics, it has to be compiled at -O2 to + deliver full speed. +*/ +v4sf sin_ps(v4sf x) { // any x + v4sf xmm1, xmm2 = _mm_setzero_ps(), xmm3, sign_bit, y; + +#ifdef USE_SSE2 + v4si emm0, emm2; +#else + v2si mm0, mm1, mm2, mm3; +#endif + sign_bit = x; + /* take the absolute value */ + x = _mm_and_ps(x, *(v4sf*)_ps_inv_sign_mask); + /* extract the sign bit (upper one) */ + sign_bit = _mm_and_ps(sign_bit, *(v4sf*)_ps_sign_mask); + + /* scale by 4/Pi */ + y = _mm_mul_ps(x, *(v4sf*)_ps_cephes_FOPI); + + //printf("plop:"); print4(y); +#ifdef USE_SSE2 + /* store the integer part of y in mm0 */ + emm2 = _mm_cvttps_epi32(y); + /* j=(j+1) & (~1) (see the cephes sources) */ + emm2 = _mm_add_epi32(emm2, *(v4si*)_pi32_1); + emm2 = _mm_and_si128(emm2, *(v4si*)_pi32_inv1); + y = _mm_cvtepi32_ps(emm2); + /* get the swap sign flag */ + emm0 = _mm_and_si128(emm2, *(v4si*)_pi32_4); + emm0 = _mm_slli_epi32(emm0, 29); + /* get the polynom selection mask + there is one polynom for 0 <= x <= Pi/4 + and another one for Pi/4 +#include +#include +#include +#include +#include +#include "mex.h" +#include "common.h" + +#define MATLAB_in_cover 0 +#define MATLAB_in_message 1 +#define MATLAB_in_pricevec 2 +#define MATLAB_in_constrLength 3 + +#define MATLAB_out_price 0 +#define MATLAB_out_stego 1 + +void *aligned_malloc(unsigned int bytes, int align) +{ + int shift; + char *temp = (char *)malloc(bytes + align); + + if(temp == NULL) + return temp; + shift = align - (int)(((unsigned long long)temp) & (align - 1)); + temp = temp + shift; + temp[-1] = shift; + return (void *)temp; +} + +void aligned_free(void *vptr) +{ + char *ptr = (char *)vptr; + free(ptr - ptr[-1]); + return; +} + +inline __m128i maxLessThan255(const __m128i v1, const __m128i v2) +{ + register __m128i mask = _mm_set1_epi32(0xffffffff); + return _mm_max_epu8(_mm_andnot_si128(_mm_cmpeq_epi8(v1, mask), v1), _mm_andnot_si128(_mm_cmpeq_epi8(v2, mask), v2)); +} + +inline u8 max16B(__m128i maxp) +{ + u8 mtemp[4]; + maxp = _mm_max_epu8(maxp, _mm_srli_si128(maxp, 8)); + maxp = _mm_max_epu8(maxp, _mm_srli_si128(maxp, 4)); + *((int*)mtemp) = _mm_cvtsi128_si32(maxp); + if(mtemp[2] > mtemp[0]) + mtemp[0] = mtemp[2]; + if(mtemp[3] > mtemp[1]) + mtemp[1] = mtemp[3]; + if(mtemp[1] > mtemp[0]) + return mtemp[1]; + else + return mtemp[0]; +} + +inline u8 min16B(__m128i minp) +{ + u8 mtemp[4]; + minp = _mm_min_epu8(minp, _mm_srli_si128(minp, 8)); + minp = _mm_min_epu8(minp, _mm_srli_si128(minp, 4)); + *((int*)mtemp) = _mm_cvtsi128_si32(minp); + if(mtemp[2] < mtemp[0]) + mtemp[0] = mtemp[2]; + if(mtemp[3] < mtemp[1]) + mtemp[1] = mtemp[3]; + if(mtemp[1] < mtemp[0]) + return mtemp[1]; + else + return mtemp[0]; +} + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) +{ + int matrixheight, vectorlength, height, i, j, k, l, index, index2, parts, m, sseheight, altm, pathindex, syndromelength, matrixwidth; + u32 column, colmask, state; + double totalprice; + bool usefloat; + + void *temp, *pricevectorv; + u8 *vector, *syndrome, *closestData, *ssedone, *stepdown; + u32 *path, *columns[2]; + int *matrices, *widths; + + if(nrhs < 3) { + mexErrMsgTxt("Too few input parameters (3 or 4 expected)"); + return; + } + + if(!mxIsUint8(prhs[MATLAB_in_cover])) { + mexErrMsgTxt("The input vector must be of type uint8."); + return; + } + vector = (u8*)mxGetPr(prhs[MATLAB_in_cover]); + vectorlength = (int)mxGetM(prhs[MATLAB_in_cover]); + + if(!mxIsUint8(prhs[MATLAB_in_message])) { + mexErrMsgTxt("The syndrome must be of type uint8."); + return; + } + syndrome = (u8*)mxGetPr(prhs[MATLAB_in_message]); + syndromelength = (int)mxGetM(prhs[MATLAB_in_message]); + + if(!mxIsDouble(prhs[MATLAB_in_pricevec])) { + if(!mxIsUint8(prhs[MATLAB_in_pricevec])) { + mexErrMsgTxt("The price vector must be of type double or uint8."); + return; + } else { + usefloat = false; + } + } else { + usefloat = true; + } + pricevectorv = (void*)mxGetPr(prhs[MATLAB_in_pricevec]); + + if(nrhs > 3) + matrixheight = (int)mxGetScalar(prhs[MATLAB_in_constrLength]); + else + matrixheight = 10; + + // end of MATLAB interface + + if(matrixheight > 31) { + mexErrMsgTxt("Submatrix height must not exceed 31."); + return; + } + + height = 1 << matrixheight; + colmask = height - 1; + height = (height + 31) & (~31); + + parts = height >> 5; + + if(nlhs > 1) { + path = (u32*)malloc(vectorlength * parts * sizeof(u32)); + if(path == NULL) { + char errmsg[100]; + sprintf(errmsg, "Not enough memory (%u byte array could not be allocated).\n", vectorlength * parts * sizeof(u32)); + mexErrMsgTxt(errmsg); + return; + } + pathindex = 0; + } + + { + int shorter, longer, worm; + double invalpha; + + matrices = (int *)malloc(syndromelength * sizeof(int)); + widths = (int *)malloc(syndromelength * sizeof(int)); + + invalpha = (double)vectorlength / syndromelength; + if(invalpha < 1) { + free(matrices); + free(widths); + if(nlhs > 1) + free(path); + mexErrMsgTxt("The message cannot be longer than the cover object.\n"); + return; + } + if(invalpha < 2) { + mexWarnMsgTxt("The relative payload is greater than 1/2. This may result in poor embedding efficiency.\n"); + } + shorter = (int)floor(invalpha); + longer = (int)ceil(invalpha); + if((columns[0] = getMatrix(shorter, matrixheight)) == NULL) { + free(matrices); + free(widths); + if(nlhs > 1) + free(path); + return; + } + if((columns[1] = getMatrix(longer, matrixheight)) == NULL) { + free(columns[0]); + free(matrices); + free(widths); + if(nlhs > 1) + free(path); + return; + } + worm = 0; + for(i = 0; i < syndromelength; i++) { + if(worm + longer <= (i + 1) * invalpha + 0.5) { + matrices[i] = 1; + widths[i] = longer; + worm += longer; + } else { + matrices[i] = 0; + widths[i] = shorter; + worm += shorter; + } + } + } + + if(usefloat) { + /* + SSE FLOAT VERSION + */ + int pathindex8 = 0; + int shift[2] = {0, 4}; + u8 mask[2] = {0xf0, 0x0f}; + float *prices; + u8 *path8 = (u8*)path; + double *pricevector = (double*)pricevectorv; + double total = 0; + double inf = std::numeric_limits::infinity(); + + sseheight = height >> 2; + ssedone = (u8*)malloc(sseheight * sizeof(u8)); + prices = (float*)aligned_malloc(height * sizeof(float), 16); + + { + __m128 fillval = _mm_set1_ps(inf); + for(i = 0; i < height; i+= 4) { + _mm_store_ps(&prices[i], fillval); + ssedone[i >> 2] = 0; + } + } + + prices[0] = 0.0f; + + for(index = 0, index2 = 0; index2 < syndromelength; index2++) { + register __m128 c1, c2; + + for(k = 0; k < widths[index2]; k++, index++) { + column = columns[matrices[index2]][k] & colmask; + + if(vector[index] == 0) { + c1 = _mm_setzero_ps(); + c2 = _mm_set1_ps((float)pricevector[index]); + } else { + c1 = _mm_set1_ps((float)pricevector[index]); + c2 = _mm_setzero_ps(); + } + + total += pricevector[index]; + + for(m = 0; m < sseheight; m++) { + if(!ssedone[m]) { + register __m128 v1, v2, v3, v4; + altm = (m ^ (column >> 2)); + v1 = _mm_load_ps(&prices[m << 2]); + v2 = _mm_load_ps(&prices[altm << 2]); + v3 = v1; + v4 = v2; + ssedone[m] = 1; + ssedone[altm] = 1; + switch(column & 3) { + case 0: + break; + case 1: + v2 = _mm_shuffle_ps(v2, v2, 0xb1); + v3 = _mm_shuffle_ps(v3, v3, 0xb1); + break; + case 2: + v2 = _mm_shuffle_ps(v2, v2, 0x4e); + v3 = _mm_shuffle_ps(v3, v3, 0x4e); + break; + case 3: + v2 = _mm_shuffle_ps(v2, v2, 0x1b); + v3 = _mm_shuffle_ps(v3, v3, 0x1b); + break; + } + v1 = _mm_add_ps(v1, c1); + v2 = _mm_add_ps(v2, c2); + v3 = _mm_add_ps(v3, c2); + v4 = _mm_add_ps(v4, c1); + + v1 = _mm_min_ps(v1, v2); + v4 = _mm_min_ps(v3, v4); + + _mm_store_ps(&prices[m << 2], v1); + _mm_store_ps(&prices[altm << 2], v4); + + if(nlhs > 1) { + v2 = _mm_cmpeq_ps(v1, v2); + v3 = _mm_cmpeq_ps(v3, v4); + path8[pathindex8 + (m >> 1)] = (path8[pathindex8 + (m >> 1)] & mask[m & 1]) | (_mm_movemask_ps(v2) << shift[m & 1]); + path8[pathindex8 + (altm >> 1)] = (path8[pathindex8 + (altm >> 1)] & mask[altm & 1]) | (_mm_movemask_ps(v3) << shift[altm & 1]); + } + } + } + + for(i = 0; i < sseheight; i++) { + ssedone[i] = 0; + } + + pathindex += parts; + pathindex8 += parts << 2; + } + + if(syndrome[index2] == 0) { + for(i = 0, l = 0; i < sseheight; i+= 2, l += 4) { + _mm_store_ps(&prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0x88)); + } + } else { + for(i = 0, l = 0; i < sseheight; i+= 2, l += 4) { + _mm_store_ps(&prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0xdd)); + } + } + + if(syndromelength - index2 <= matrixheight) + colmask >>= 1; + + { + register __m128 fillval = _mm_set1_ps(inf); + for(l >>= 2; l < sseheight; l++) { + _mm_store_ps(&prices[l << 2], fillval); + } + } + } + + totalprice = prices[0]; + + aligned_free(prices); + free(ssedone); + + if(totalprice >= total) { + free(matrices); + free(widths); + free(columns[0]); + free(columns[1]); + if(nlhs > 1) + free(path); + mexErrMsgTxt("The syndrome is not in the range of the syndrome matrix.\n"); + return; + } + } else { + /* + SSE UINT8 VERSION + */ + int pathindex16 = 0, subprice = 0; + u8 maxc = 0, minc = 0; + u8 *prices, *pricevector = (u8*)pricevectorv; + u16 *path16 = (u16 *)path; + __m128i *prices16B; + + sseheight = height >> 4; + ssedone = (u8*)malloc(sseheight * sizeof(u8)); + prices = (u8*)aligned_malloc(height * sizeof(u8), 16); + prices16B = (__m128i*)prices; + + { + __m128i napln = _mm_set1_epi32(0xffffffff); + for(i = 0; i < sseheight; i++) { + _mm_store_si128(&prices16B[i], napln); + ssedone[i] = 0; + } + } + + prices[0] = 0; + + for(index = 0, index2 = 0; index2 < syndromelength; index2++) { + register __m128i c1, c2, maxp, minp; + + if((u32)maxc + pricevector[index] >= 254) { + aligned_free(path); + free(ssedone); + free(matrices); + free(widths); + free(columns[0]); + free(columns[1]); + if(nlhs > 1) + free(path); + mexErrMsgTxt("Price vector limit exceeded."); + return; + } + + for(k = 0; k < widths[index2]; k++, index++) { + column = columns[matrices[index2]][k] & colmask; + + if(vector[index] == 0) { + c1 = _mm_setzero_si128(); + c2 = _mm_set1_epi8(pricevector[index]); + } else { + c1 = _mm_set1_epi8(pricevector[index]); + c2 = _mm_setzero_si128(); + } + + minp = _mm_set1_epi8(-1); + maxp = _mm_setzero_si128(); + + for(m = 0; m < sseheight; m++) { + if(!ssedone[m]) { + register __m128i v1, v2, v3, v4; + altm = (m ^ (column >> 4)); + v1 = _mm_load_si128(&prices16B[m]); + v2 = _mm_load_si128(&prices16B[altm]); + v3 = v1; + v4 = v2; + ssedone[m] = 1; + ssedone[altm] = 1; + if(column & 8) { + v2 = _mm_shuffle_epi32(v2, 0x4e); + v3 = _mm_shuffle_epi32(v3, 0x4e); + } + if(column & 4) { + v2 = _mm_shuffle_epi32(v2, 0xb1); + v3 = _mm_shuffle_epi32(v3, 0xb1); + } + if(column & 2) { + v2 = _mm_shufflehi_epi16(v2, 0xb1); + v3 = _mm_shufflehi_epi16(v3, 0xb1); + v2 = _mm_shufflelo_epi16(v2, 0xb1); + v3 = _mm_shufflelo_epi16(v3, 0xb1); + } + if(column & 1) { + v2 = _mm_or_si128(_mm_srli_epi16(v2, 8), _mm_slli_epi16(v2, 8)); + v3 = _mm_or_si128(_mm_srli_epi16(v3, 8), _mm_slli_epi16(v3, 8)); + } + v1 = _mm_adds_epu8(v1, c1); + v2 = _mm_adds_epu8(v2, c2); + v3 = _mm_adds_epu8(v3, c2); + v4 = _mm_adds_epu8(v4, c1); + + v1 = _mm_min_epu8(v1, v2); + v4 = _mm_min_epu8(v3, v4); + + _mm_store_si128(&prices16B[m], v1); + _mm_store_si128(&prices16B[altm], v4); + + minp = _mm_min_epu8(minp, _mm_min_epu8(v1, v4)); + maxp = _mm_max_epu8(maxp, maxLessThan255(v1, v4)); + + if(nlhs > 1) { + v2 = _mm_cmpeq_epi8(v1, v2); + v3 = _mm_cmpeq_epi8(v3, v4); + path16[pathindex16 + m] = (u16)_mm_movemask_epi8(v2); + path16[pathindex16 + altm] = (u16)_mm_movemask_epi8(v3); + } + } + } + + maxc = max16B(maxp); + minc = min16B(minp); + + maxc -= minc; + subprice += minc; + { + register __m128i mask = _mm_set1_epi32(0xffffffff); + register __m128i m = _mm_set1_epi8(minc); + for(i = 0; i < sseheight; i++) { + register __m128i res; + register __m128i pr = prices16B[i]; + res = _mm_andnot_si128(_mm_cmpeq_epi8(pr, mask), m); + prices16B[i] = _mm_sub_epi8(pr, res); + ssedone[i] = 0; + } + } + + pathindex += parts; + pathindex16 += parts << 1; + } + + { + register __m128i mask = _mm_set1_epi32(0x00ff00ff); + + if(minc == 255) { + aligned_free(path); + free(ssedone); + free(matrices); + free(widths); + free(columns[0]); + free(columns[1]); + if(nlhs > 1) + free(path); + mexErrMsgTxt("The syndrome is not in the syndrome matrix range.\n"); + return; + } + + if(syndrome[index2] == 0) { + for(i = 0, l = 0; i < sseheight; i += 2, l++) { + _mm_store_si128(&prices16B[l], _mm_packus_epi16(_mm_and_si128(_mm_load_si128(&prices16B[i]), mask), + _mm_and_si128(_mm_load_si128(&prices16B[i + 1]), mask))); + } + } else { + for(i = 0, l = 0; i < sseheight; i += 2, l++) { + _mm_store_si128(&prices16B[l], _mm_packus_epi16(_mm_and_si128(_mm_srli_si128(_mm_load_si128(&prices16B[i]), 1), mask), + _mm_and_si128(_mm_srli_si128(_mm_load_si128(&prices16B[i + 1]), 1), mask))); + } + } + + if(syndromelength - index2 <= matrixheight) + colmask >>= 1; + + register __m128i fillval = _mm_set1_epi32(0xffffffff); + for(; l < sseheight; l++) + _mm_store_si128(&prices16B[l], fillval); + } + } + + totalprice = subprice + prices[0]; + + aligned_free(prices); + free(ssedone); + } + + if(nlhs > 1) { + int size[2]; + u8 *closestData; + mxArray *closest; + + size[0] = vectorlength; + size[1] = 1; + + closest = mxCreateNumericArray(2, size, mxUINT8_CLASS, mxREAL); + closestData = (u8*)mxGetPr(closest); + + pathindex -= parts; + index--; + index2--; + state = 0; + + int h = syndromelength; + state = 0; + colmask = 0; + for(; index2 >= 0; index2--) { + for(k = widths[index2] - 1; k >= 0; k--, index--) { + if(k == widths[index2] - 1) { + state = (state << 1) | syndrome[index2]; + if(syndromelength - index2 <= matrixheight) + colmask = (colmask << 1) | 1; + } + + if(path[pathindex + (state >> 5)] & (1 << (state & 31))) { + closestData[index] = 1; + state = state ^ (columns[matrices[index2]][k] & colmask); + } else { + closestData[index] = 0; + } + + pathindex -= parts; + } + } + plhs[MATLAB_out_stego] = closest; + free(path); + } + + free(matrices); + free(widths); + free(columns[0]); + free(columns[1]); + + if(nlhs > 0) { + int size[2]; + mxArray *arr; + + size[0] = size[1] = 1; + arr = mxCreateNumericArray(2, size, mxDOUBLE_CLASS, mxREAL); + (mxGetPr(arr))[0] = totalprice; + plhs[MATLAB_out_price] = arr; + } + + return; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.cpp new file mode 100644 index 0000000..6ca1ce9 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.cpp @@ -0,0 +1,464 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include "stc_embed_c.h" + +void *aligned_malloc( unsigned int bytes, int align ) { + int shift; + char *temp = (char *) malloc( bytes + align ); + + if ( temp == NULL ) return temp; + shift = align - (int) (((unsigned long long) temp) & (align - 1)); + temp = temp + shift; + temp[-1] = shift; + return (void *) temp; +} + +void aligned_free( void *vptr ) { + char *ptr = (char *) vptr; + free( ptr - ptr[-1] ); + return; +} + +inline __m128i maxLessThan255( const __m128i v1, const __m128i v2 ) { + register __m128i mask = _mm_set1_epi32( 0xffffffff ); + return _mm_max_epu8( _mm_andnot_si128( _mm_cmpeq_epi8( v1, mask ), v1 ), _mm_andnot_si128( _mm_cmpeq_epi8( v2, mask ), v2 ) ); +} + +inline u8 max16B( __m128i maxp ) { + u8 mtemp[4]; + maxp = _mm_max_epu8( maxp, _mm_srli_si128(maxp, 8) ); + maxp = _mm_max_epu8( maxp, _mm_srli_si128(maxp, 4) ); + *((int*) mtemp) = _mm_cvtsi128_si32( maxp ); + if ( mtemp[2] > mtemp[0] ) mtemp[0] = mtemp[2]; + if ( mtemp[3] > mtemp[1] ) mtemp[1] = mtemp[3]; + if ( mtemp[1] > mtemp[0] ) return mtemp[1]; + else return mtemp[0]; +} + +inline u8 min16B( __m128i minp ) { + u8 mtemp[4]; + minp = _mm_min_epu8( minp, _mm_srli_si128(minp, 8) ); + minp = _mm_min_epu8( minp, _mm_srli_si128(minp, 4) ); + *((int*) mtemp) = _mm_cvtsi128_si32( minp ); + if ( mtemp[2] < mtemp[0] ) mtemp[0] = mtemp[2]; + if ( mtemp[3] < mtemp[1] ) mtemp[1] = mtemp[3]; + if ( mtemp[1] < mtemp[0] ) return mtemp[1]; + else return mtemp[0]; +} + +double stc_embed( const u8 *vector, int vectorlength, const u8 *syndrome, int syndromelength, const void *pricevectorv, bool usefloat, + u8 *stego, int matrixheight ) { + int height, i, k, l, index, index2, parts, m, sseheight, altm, pathindex; + u32 column, colmask, state; + double totalprice; + + u8 *ssedone; + u32 *path, *columns[2]; + int *matrices, *widths; + + if ( matrixheight > 31 ) throw stc_exception( "Submatrix height must not exceed 31.", 1 ); + + height = 1 << matrixheight; + colmask = height - 1; + height = (height + 31) & (~31); + + parts = height >> 5; + + if ( stego != NULL ) { + path = (u32*) malloc( vectorlength * parts * sizeof(u32) ); + if ( path == NULL ) { + std::stringstream ss; + ss << "Not enough memory (" << (unsigned int) (vectorlength * parts * sizeof(u32)) << " byte array could not be allocated)."; + throw stc_exception( ss.str(), 2 ); + } + pathindex = 0; + } + + { + int shorter, longer, worm; + double invalpha; + + matrices = (int *) malloc( syndromelength * sizeof(int) ); + widths = (int *) malloc( syndromelength * sizeof(int) ); + + invalpha = (double) vectorlength / syndromelength; + if ( invalpha < 1 ) { + free( matrices ); + free( widths ); + if ( stego != NULL ) free( path ); + throw stc_exception( "The message cannot be longer than the cover object.", 3 ); + } + /* THIS IS OBSOLETE. Algorithm still works for alpha >1/2. You need to take care of cases with too many Infs in cost vector. + if(invalpha < 2) { + printf("The relative payload is greater than 1/2. This may result in poor embedding efficiency.\n"); + } + */ + shorter = (int) floor( invalpha ); + longer = (int) ceil( invalpha ); + if ( (columns[0] = getMatrix( shorter, matrixheight )) == NULL ) { + free( matrices ); + free( widths ); + if ( stego != NULL ) free( path ); + return -1; + } + if ( (columns[1] = getMatrix( longer, matrixheight )) == NULL ) { + free( columns[0] ); + free( matrices ); + free( widths ); + if ( stego != NULL ) free( path ); + return -1; + } + worm = 0; + for ( i = 0; i < syndromelength; i++ ) { + if ( worm + longer <= (i + 1) * invalpha + 0.5 ) { + matrices[i] = 1; + widths[i] = longer; + worm += longer; + } else { + matrices[i] = 0; + widths[i] = shorter; + worm += shorter; + } + } + } + + if ( usefloat ) { + /* + SSE FLOAT VERSION + */ + int pathindex8 = 0; + int shift[2] = { 0, 4 }; + u8 mask[2] = { 0xf0, 0x0f }; + float *prices; + u8 *path8 = (u8*) path; + double *pricevector = (double*) pricevectorv; + double total = 0; + float inf = std::numeric_limits< float >::infinity(); + + sseheight = height >> 2; + ssedone = (u8*) malloc( sseheight * sizeof(u8) ); + prices = (float*) aligned_malloc( height * sizeof(float), 16 ); + + { + __m128 fillval = _mm_set1_ps( inf ); + for ( i = 0; i < height; i += 4 ) { + _mm_store_ps( &prices[i], fillval ); + ssedone[i >> 2] = 0; + } + } + + prices[0] = 0.0f; + + for ( index = 0, index2 = 0; index2 < syndromelength; index2++ ) { + register __m128 c1, c2; + + for ( k = 0; k < widths[index2]; k++, index++ ) { + column = columns[matrices[index2]][k] & colmask; + + if ( vector[index] == 0 ) { + c1 = _mm_setzero_ps(); + c2 = _mm_set1_ps( (float) pricevector[index] ); + } else { + c1 = _mm_set1_ps( (float) pricevector[index] ); + c2 = _mm_setzero_ps(); + } + + total += pricevector[index]; + + for ( m = 0; m < sseheight; m++ ) { + if ( !ssedone[m] ) { + register __m128 v1, v2, v3, v4; + altm = (m ^ (column >> 2)); + v1 = _mm_load_ps( &prices[m << 2] ); + v2 = _mm_load_ps( &prices[altm << 2] ); + v3 = v1; + v4 = v2; + ssedone[m] = 1; + ssedone[altm] = 1; + switch ( column & 3 ) { + case 0: + break; + case 1: + v2 = _mm_shuffle_ps(v2, v2, 0xb1); + v3 = _mm_shuffle_ps(v3, v3, 0xb1); + break; + case 2: + v2 = _mm_shuffle_ps(v2, v2, 0x4e); + v3 = _mm_shuffle_ps(v3, v3, 0x4e); + break; + case 3: + v2 = _mm_shuffle_ps(v2, v2, 0x1b); + v3 = _mm_shuffle_ps(v3, v3, 0x1b); + break; + } + v1 = _mm_add_ps( v1, c1 ); + v2 = _mm_add_ps( v2, c2 ); + v3 = _mm_add_ps( v3, c2 ); + v4 = _mm_add_ps( v4, c1 ); + + v1 = _mm_min_ps( v1, v2 ); + v4 = _mm_min_ps( v3, v4 ); + + _mm_store_ps( &prices[m << 2], v1 ); + _mm_store_ps( &prices[altm << 2], v4 ); + + if ( stego != NULL ) { + v2 = _mm_cmpeq_ps( v1, v2 ); + v3 = _mm_cmpeq_ps( v3, v4 ); + path8[pathindex8 + (m >> 1)] = (path8[pathindex8 + (m >> 1)] & mask[m & 1]) | (_mm_movemask_ps( v2 ) << shift[m + & 1]); + path8[pathindex8 + (altm >> 1)] = (path8[pathindex8 + (altm >> 1)] & mask[altm & 1]) | (_mm_movemask_ps( v3 ) + << shift[altm & 1]); + } + } + } + + for ( i = 0; i < sseheight; i++ ) { + ssedone[i] = 0; + } + + pathindex += parts; + pathindex8 += parts << 2; + } + + if ( syndrome[index2] == 0 ) { + for ( i = 0, l = 0; i < sseheight; i += 2, l += 4 ) { + _mm_store_ps( &prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0x88) ); + } + } else { + for ( i = 0, l = 0; i < sseheight; i += 2, l += 4 ) { + _mm_store_ps( &prices[l], _mm_shuffle_ps(_mm_load_ps(&prices[i << 2]), _mm_load_ps(&prices[(i + 1) << 2]), 0xdd) ); + } + } + + if ( syndromelength - index2 <= matrixheight ) colmask >>= 1; + + { + register __m128 fillval = _mm_set1_ps( inf ); + for ( l >>= 2; l < sseheight; l++ ) { + _mm_store_ps( &prices[l << 2], fillval ); + } + } + } + + totalprice = prices[0]; + + aligned_free( prices ); + free( ssedone ); + + if ( totalprice >= total ) { + free( matrices ); + free( widths ); + free( columns[0] ); + free( columns[1] ); + if ( stego != NULL ) free( path ); + throw stc_exception( "No solution exist.", 4 ); + } + } else { + /* + SSE UINT8 VERSION + */ + int pathindex16 = 0, subprice = 0; + u8 maxc = 0, minc = 0; + u8 *prices, *pricevector = (u8*) pricevectorv; + u16 *path16 = (u16 *) path; + __m128i *prices16B; + + sseheight = height >> 4; + ssedone = (u8*) malloc( sseheight * sizeof(u8) ); + prices = (u8*) aligned_malloc( height * sizeof(u8), 16 ); + prices16B = (__m128i *) prices; + + { + __m128i napln = _mm_set1_epi32( 0xffffffff ); + for ( i = 0; i < sseheight; i++ ) { + _mm_store_si128( &prices16B[i], napln ); + ssedone[i] = 0; + } + } + + prices[0] = 0; + + for ( index = 0, index2 = 0; index2 < syndromelength; index2++ ) { + register __m128i c1, c2, maxp, minp; + + if ( (u32) maxc + pricevector[index] >= 254 ) { + aligned_free( path ); + free( ssedone ); + free( matrices ); + free( widths ); + free( columns[0] ); + free( columns[1] ); + if ( stego != NULL ) free( path ); + throw stc_exception( "Price vector limit exceeded.", 5 ); + } + + for ( k = 0; k < widths[index2]; k++, index++ ) { + column = columns[matrices[index2]][k] & colmask; + + if ( vector[index] == 0 ) { + c1 = _mm_setzero_si128(); + c2 = _mm_set1_epi8( pricevector[index] ); + } else { + c1 = _mm_set1_epi8( pricevector[index] ); + c2 = _mm_setzero_si128(); + } + + minp = _mm_set1_epi8( -1 ); + maxp = _mm_setzero_si128(); + + for ( m = 0; m < sseheight; m++ ) { + if ( !ssedone[m] ) { + register __m128i v1, v2, v3, v4; + altm = (m ^ (column >> 4)); + v1 = _mm_load_si128( &prices16B[m] ); + v2 = _mm_load_si128( &prices16B[altm] ); + v3 = v1; + v4 = v2; + ssedone[m] = 1; + ssedone[altm] = 1; + if ( column & 8 ) { + v2 = _mm_shuffle_epi32(v2, 0x4e); + v3 = _mm_shuffle_epi32(v3, 0x4e); + } + if ( column & 4 ) { + v2 = _mm_shuffle_epi32(v2, 0xb1); + v3 = _mm_shuffle_epi32(v3, 0xb1); + } + if ( column & 2 ) { + v2 = _mm_shufflehi_epi16(v2, 0xb1); + v3 = _mm_shufflehi_epi16(v3, 0xb1); + v2 = _mm_shufflelo_epi16(v2, 0xb1); + v3 = _mm_shufflelo_epi16(v3, 0xb1); + } + if ( column & 1 ) { + v2 = _mm_or_si128( _mm_srli_epi16( v2, 8 ), _mm_slli_epi16( v2, 8 ) ); + v3 = _mm_or_si128( _mm_srli_epi16( v3, 8 ), _mm_slli_epi16( v3, 8 ) ); + } + v1 = _mm_adds_epu8( v1, c1 ); + v2 = _mm_adds_epu8( v2, c2 ); + v3 = _mm_adds_epu8( v3, c2 ); + v4 = _mm_adds_epu8( v4, c1 ); + + v1 = _mm_min_epu8( v1, v2 ); + v4 = _mm_min_epu8( v3, v4 ); + + _mm_store_si128( &prices16B[m], v1 ); + _mm_store_si128( &prices16B[altm], v4 ); + + minp = _mm_min_epu8( minp, _mm_min_epu8( v1, v4 ) ); + maxp = _mm_max_epu8( maxp, maxLessThan255( v1, v4 ) ); + + if ( stego != NULL ) { + v2 = _mm_cmpeq_epi8( v1, v2 ); + v3 = _mm_cmpeq_epi8( v3, v4 ); + path16[pathindex16 + m] = (u16) _mm_movemask_epi8( v2 ); + path16[pathindex16 + altm] = (u16) _mm_movemask_epi8( v3 ); + } + } + } + + maxc = max16B( maxp ); + minc = min16B( minp ); + + maxc -= minc; + subprice += minc; + { + register __m128i mask = _mm_set1_epi32( 0xffffffff ); + register __m128i m = _mm_set1_epi8( minc ); + for ( i = 0; i < sseheight; i++ ) { + register __m128i res; + register __m128i pr = prices16B[i]; + res = _mm_andnot_si128( _mm_cmpeq_epi8( pr, mask ), m ); + prices16B[i] = _mm_sub_epi8( pr, res ); + ssedone[i] = 0; + } + } + + pathindex += parts; + pathindex16 += parts << 1; + } + + { + register __m128i mask = _mm_set1_epi32( 0x00ff00ff ); + + if ( minc == 255 ) { + aligned_free( path ); + free( ssedone ); + free( matrices ); + free( widths ); + free( columns[0] ); + free( columns[1] ); + if ( stego != NULL ) free( path ); + throw stc_exception( "The syndrome is not in the syndrome matrix range.", 4 ); + } + + if ( syndrome[index2] == 0 ) { + for ( i = 0, l = 0; i < sseheight; i += 2, l++ ) { + _mm_store_si128( &prices16B[l], _mm_packus_epi16( _mm_and_si128( _mm_load_si128( &prices16B[i] ), mask ), + _mm_and_si128( _mm_load_si128( &prices16B[i + 1] ), mask ) ) ); + } + } else { + for ( i = 0, l = 0; i < sseheight; i += 2, l++ ) { + _mm_store_si128( &prices16B[l], _mm_packus_epi16( _mm_and_si128( _mm_srli_si128(_mm_load_si128(&prices16B[i]), 1), + mask ), _mm_and_si128( _mm_srli_si128(_mm_load_si128(&prices16B[i + 1]), 1), mask ) ) ); + } + } + + if ( syndromelength - index2 <= matrixheight ) colmask >>= 1; + + register __m128i fillval = _mm_set1_epi32( 0xffffffff ); + for ( ; l < sseheight; l++ ) + _mm_store_si128( &prices16B[l], fillval ); + } + } + + totalprice = subprice + prices[0]; + + aligned_free( prices ); + free( ssedone ); + } + + if ( stego != NULL ) { + pathindex -= parts; + index--; + index2--; + state = 0; + + // unused + // int h = syndromelength; + state = 0; + colmask = 0; + for ( ; index2 >= 0; index2-- ) { + for ( k = widths[index2] - 1; k >= 0; k--, index-- ) { + if ( k == widths[index2] - 1 ) { + state = (state << 1) | syndrome[index2]; + if ( syndromelength - index2 <= matrixheight ) colmask = (colmask << 1) | 1; + } + + if ( path[pathindex + (state >> 5)] & (1 << (state & 31)) ) { + stego[index] = 1; + state = state ^ (columns[matrices[index2]][k] & colmask); + } else { + stego[index] = 0; + } + + pathindex -= parts; + } + } + free( path ); + } + + free( matrices ); + free( widths ); + free( columns[0] ); + free( columns[1] ); + + return totalprice; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.h b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.h new file mode 100644 index 0000000..799d544 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_embed_c.h @@ -0,0 +1,22 @@ +#ifndef STC_EMBED_C_H +#define STC_EMBED_C_H + +#include "common.h" +/* Inputs: + cover - the binary cover vector + coverlength - length of the cover vector + message - the binary message to be hidden + messagelength - length of the message + profile - the vector of distortion weights (either double if usedouble = true, or u8 id usedouble = false) + usedouble - true = use double precision weight, false = use u8 weights + stego - pointer to an array of length 'coverlength' to receive the stego message; this parameter can be NULL + constr_height - the constraint height of the matrix; the higher, the better the efficiency but the greater the embedding time + +Return value: + On success, the function returns the total distortion introduced by the embedding. + On error, the function returns -1. +*/ + +double stc_embed(const u8 *cover, int coverlength, const u8 *message, int messagelength, const void *profile, bool usedouble, u8 *stego, int constr_height = 10); + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract.cpp new file mode 100644 index 0000000..7da2205 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract.cpp @@ -0,0 +1,139 @@ +// +// MEX-File: dv_extract +// Usage: +// uint8 vector msg = dv_extract(uint8 vector stego, int scalar msgLength, int scalar constrLength = 10) + +typedef unsigned int u32; +typedef unsigned short u16; +typedef unsigned char u8; + +#include +#include +#include +#include "mex.h" +#include "common.h" + +#define MATLAB_in_stego 0 +#define MATLAB_in_msgLength 1 +#define MATLAB_in_constrLength 2 + +#define MATLAB_out_msg 0 + +void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) +{ + int matrixheight, vectorlength, i, j, k, index, index2, syndromelength, matrixwidth, size[2], base, height; + + u8 *vector, *syndrome, *closestData, *ssedone, *stepdown, *binmat[2], *msgData; + int *matrices, *widths; + + mxArray *msg; + + if(nlhs == 0) + return; + + if(nrhs < 2) { + mexErrMsgTxt("Too few input parameters (2 or 3 expected)"); + return; + } + + if(!mxIsUint8(prhs[MATLAB_in_stego])) { + mexErrMsgTxt("The stego vector must be of type uint8."); + return; + } + vector = (u8*)mxGetPr(prhs[MATLAB_in_stego]); + vectorlength = (int)mxGetM(prhs[MATLAB_in_stego]); + + syndromelength = (int)mxGetScalar(prhs[MATLAB_in_msgLength]); + + if(nrhs > 2) + matrixheight = (int)mxGetScalar(prhs[MATLAB_in_constrLength]); + else + matrixheight = 10; + + // end of matlab interface + + height = matrixheight; + + if(matrixheight > 31) { + mexErrMsgTxt("Submatrix height must not exceed 31."); + return; + } + + { + double invalpha; + int shorter, longer, worm; + u32 *columns[2]; + + matrices = (int *)malloc(syndromelength * sizeof(int)); + widths = (int *)malloc(syndromelength * sizeof(int)); + + invalpha = (double)vectorlength / syndromelength; + if(invalpha < 1) { + mexErrMsgTxt("The message cannot be longer than the cover object.\n"); + return; + } + shorter = (int)floor(invalpha); + longer = (int)ceil(invalpha); + if((columns[0] = getMatrix(shorter, matrixheight)) == NULL) + return; + if((columns[1] = getMatrix(longer, matrixheight)) == NULL) + return; + worm = 0; + for(i = 0; i < syndromelength; i++) { + if(worm + longer <= (i + 1) * invalpha + 0.5) { + matrices[i] = 1; + widths[i] = longer; + worm += longer; + } else { + matrices[i] = 0; + widths[i] = shorter; + worm += shorter; + } + } + binmat[0] = (u8*)malloc(shorter * matrixheight * sizeof(u8)); + binmat[1] = (u8*)malloc(longer * matrixheight * sizeof(u8)); + for(i = 0, index = 0; i < shorter; i++) { + for(j = 0; j < matrixheight; j++, index++) { + binmat[0][index] = (columns[0][i] & (1 << j)) ? 1 : 0; + } + } + for(i = 0, index = 0; i < longer; i++) { + for(j = 0; j < matrixheight; j++, index++) { + binmat[1][index] = (columns[1][i] & (1 << j)) ? 1 : 0; + } + } + free(columns[0]); + free(columns[1]); + } + + size[0] = syndromelength; + size[1] = 1; + + msg = mxCreateNumericArray(2, size, mxUINT8_CLASS, mxREAL); + msgData = (u8*)mxGetPr(msg); + + for(i = 0; i < syndromelength; i++) { + msgData[i] = 0; + } + + for(index = 0, index2 = 0; index2 < syndromelength; index2++) { + for(k = 0, base = 0; k < widths[index2]; k++, index++, base += matrixheight) { + if(vector[index]) { + for(i = 0; i < height; i++) { + msgData[index2 + i] ^= binmat[matrices[index2]][base + i]; + } + } + } + if(syndromelength - index2 <= matrixheight) + height--; + } + + free(matrices); + free(widths); + free(binmat[0]); + free(binmat[1]); + + plhs[MATLAB_out_msg] = msg; + + return; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.cpp new file mode 100644 index 0000000..c3f2e4d --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.cpp @@ -0,0 +1,97 @@ +#include +#include +#include +#include +#include "stc_extract_c.h" + +int stc_extract(const u8 *vector, int vectorlength, u8 *message, int syndromelength, int matrixheight) +{ + int i, j, k, index, index2, base, height; + + u8 *binmat[2]; + int *matrices, *widths; + + height = matrixheight; + + if(matrixheight > 31) { + fprintf(stderr, "Submatrix height must not exceed 31."); + return -1; + } + + { + double invalpha; + int shorter, longer, worm; + u32 *columns[2]; + + matrices = (int *)malloc(syndromelength * sizeof(int)); + widths = (int *)malloc(syndromelength * sizeof(int)); + + invalpha = (double)vectorlength / syndromelength; + if(invalpha < 1) { + fprintf(stderr, "The message cannot be longer than the cover object.\n"); + return -1; + } + shorter = (int)floor(invalpha); + longer = (int)ceil(invalpha); + if((columns[0] = getMatrix(shorter, matrixheight)) == NULL) { + free(widths); + free(matrices); + return -1; + } + if((columns[1] = getMatrix(longer, matrixheight)) == NULL) { + free(columns[0]); + free(widths); + free(matrices); + return -1; + } + worm = 0; + for(i = 0; i < syndromelength; i++) { + if(worm + longer <= (i + 1) * invalpha + 0.5) { + matrices[i] = 1; + widths[i] = longer; + worm += longer; + } else { + matrices[i] = 0; + widths[i] = shorter; + worm += shorter; + } + } + binmat[0] = (u8*)malloc(shorter * matrixheight * sizeof(u8)); + binmat[1] = (u8*)malloc(longer * matrixheight * sizeof(u8)); + for(i = 0, index = 0; i < shorter; i++) { + for(j = 0; j < matrixheight; j++, index++) { + binmat[0][index] = (columns[0][i] & (1 << j)) ? 1 : 0; + } + } + for(i = 0, index = 0; i < longer; i++) { + for(j = 0; j < matrixheight; j++, index++) { + binmat[1][index] = (columns[1][i] & (1 << j)) ? 1 : 0; + } + } + free(columns[0]); + free(columns[1]); + } + + for(i = 0; i < syndromelength; i++) { + message[i] = 0; + } + + for(index = 0, index2 = 0; index2 < syndromelength; index2++) { + for(k = 0, base = 0; k < widths[index2]; k++, index++, base += matrixheight) { + if(vector[index]) { + for(i = 0; i < height; i++) { + message[index2 + i] ^= binmat[matrices[index2]][base + i]; + } + } + } + if(syndromelength - index2 <= matrixheight) + height--; + } + + free(matrices); + free(widths); + free(binmat[0]); + free(binmat[1]); + + return 0; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.h b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.h new file mode 100644 index 0000000..33231d0 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_extract_c.h @@ -0,0 +1,19 @@ +#ifndef STC_EXTRACT_C_H +#define STC_EXTRACT_C_H + +#include "common.h" + +/* Inputs: + stego - the binary stego vector + stegolength - the length of the stego vector + message - pointer to an array of legth 'messagelength' to receive the extracted message + messagelegth - the length of the embedded message + constr_height - the constraint height of the matrix used for embedding the message + +Return values: + 0 on succes, -1 on error +*/ + +int stc_extract(const u8 *stego, int stegolength, u8 *message, int messagelength, int constr_height = 10); + +#endif diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.cpp b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.cpp new file mode 100644 index 0000000..1206b62 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.cpp @@ -0,0 +1,888 @@ +#include "stc_ml_c.h" + +#include +#include +#include +#include +#include +#include +#include +#include // due to memcpy + +#include // this is required for Marsene-Twister random number generator +#include +#include + +#include "stc_embed_c.h" +#include "stc_extract_c.h" +#include "sse_mathfun.h" // library with optimized functions obtained from http://gruntthepeon.free.fr/ssemath/ +// SUPPORTING FUNCTIONS *********************************************************************************************************** +/********************************************************************************************************* + * DEBUGGING FUNCTIONS * + * used to write arrays and matrices to file * + *********************************************************************************************************/ +// write array into file +template< class T > void write_vector_to_file( uint n, T *ptr, const char* file_name ) { + + std::ofstream f( file_name ); + for ( uint i = 0; i < n; i++ ) + f << std::left << std::setw( 20 ) << i << std::left << std::setw( 20 ) << ptr[i] << std::endl; + f.close(); +} + +// write column-ordered matrix into file +template< class T > void write_matrix_to_file( uint rows, uint columns, T *ptr, const char* file_name ) { + + std::ofstream f( file_name ); + for ( uint i = 0; i < rows; i++ ) { + f << std::left << std::setw( 20 ) << i; + for ( uint j = 0; j < columns; j++ ) + f << std::left << std::setw( 20 ) << ptr[j * rows + i]; + f << std::endl; + } + f.close(); +} + +/********************************************************************************************************* + * Templates to handle aligned version of new and delete operators. * + * These functions are necessary for creating arrays aligned address of certain multiples, such as 16. * + *********************************************************************************************************/ +template< class T > T* align_new( unsigned int n, unsigned int align_size ) { + char *ptr, *ptr2, *aligned_ptr; + int align_mask = align_size - 1; + + ptr = new char[n * sizeof(T) + align_size + sizeof(int)]; + if ( ptr == 0 ) return 0; + + ptr2 = ptr + sizeof(int); + aligned_ptr = ptr2 + (align_size - ((size_t) ptr2 & align_mask)); + + ptr2 = aligned_ptr - sizeof(int); + *((int*) ptr2) = (int) (aligned_ptr - ptr); + + return (T*) aligned_ptr; +} + +template< class T > void align_delete( T *ptr ) { + int *ptr2 = (int*) ptr - 1; + char *p; + + p = (char*) ptr; + p -= *ptr2; + delete[] p; +} + +/* Generates random permutation of length n based on the MT random number generator with seed 'seed'. */ +void randperm( uint n, uint seed, uint* perm ) { + + boost::mt19937 *generator = new boost::mt19937( seed ); + boost::variate_generator< boost::mt19937, boost::uniform_int< > > *randi = new boost::variate_generator< boost::mt19937, + boost::uniform_int< > >( *generator, boost::uniform_int< >( 0, INT_MAX ) ); + + // generate random permutation - this is used to shuffle cover pixels to randomize the effect of different neighboring pixels + for ( uint i = 0; i < n; i++ ) + perm[i] = i; + for ( uint i = 0; i < n; i++ ) { + uint j = (*randi)() % (n - i); + uint tmp = perm[i]; + perm[i] = perm[i + j]; + perm[i + j] = tmp; + } + + delete generator; + delete randi; +} + +/* Other functions */ +inline float sum_inplace( __m128 x ) { + float y; + // add all 4 terms from x together + x = _mm_add_ps( x, _mm_shuffle_ps(x,x,_MM_SHUFFLE(1,0,3,2)) ); + x = _mm_add_ps( x, _mm_shuffle_ps(x,x,_MM_SHUFFLE(2,3,0,1)) ); + _mm_store_ss( &y, x ); + return y; +} + +float calc_entropy( uint n, uint k, float* costs, float lambda ) { + + float const LOG2 = log( 2.0 ); + __m128 inf = _mm_set1_ps( F_INF ); + __m128 v_lambda = _mm_set1_ps( -lambda ); + __m128 z, d, rho, p, entr, mask; + + entr = _mm_setzero_ps(); + for ( uint i = 0; i < n / 4; i++ ) { + z = _mm_setzero_ps(); + d = _mm_setzero_ps(); + for ( uint j = 0; j < k; j++ ) { + rho = _mm_load_ps( costs + j * n + 4 * i ); // costs array must be aligned in memory + p = exp_ps( _mm_mul_ps( v_lambda, rho ) ); + z = _mm_add_ps( z, p ); + + mask = _mm_cmpeq_ps( rho, inf ); // if p payload ) { + lambda3 *= 2; + p3 = calc_entropy( n, k, costs, lambda3 ); + j++; + iterations++; + // beta is probably unbounded => it seems that we cannot find beta such that + // relative payload will be smaller than requested. Binary search does not make sence here. + if ( j > 10 ) { + return lambda3; + } + } + while ( (p1 - p3) / n > payload / n * 1e-2 ) { // binary search for parameter lambda + lambda2 = lambda1 + (lambda3 - lambda1) / 2; + p2 = calc_entropy( n, k, costs, lambda2 ); + if ( p2 < payload ) { + lambda3 = lambda2; + p3 = p2; + } else { + lambda1 = lambda2; + p1 = p2; + } + iterations++; // this is for monitoring the number of iterations + } + return lambda1 + (lambda3 - lambda1) / 2; +} + +float calc_distortion( uint n, uint k, float* costs, float lambda ) { + + __m128 eps = _mm_set1_ps( std::numeric_limits< float >::epsilon() ); + __m128 v_lambda = _mm_set1_ps( -lambda ); + __m128 z, d, rho, p, dist, mask; + + dist = _mm_setzero_ps(); + for ( uint i = 0; i < n / 4; i++ ) { // n must be multiple of 4 + z = _mm_setzero_ps(); + d = _mm_setzero_ps(); + for ( uint j = 0; j < k; j++ ) { + rho = _mm_load_ps( costs + j * n + 4 * i ); // costs array must be aligned in memory + p = exp_ps( _mm_mul_ps( v_lambda, rho ) ); + z = _mm_add_ps( z, p ); + mask = _mm_cmplt_ps( p, eps ); // if p distortion ) { + lambda3 *= 2; + dist3 = calc_distortion( n, k, costs, lambda3 ); + j++; + iterations++; + // beta is probably unbounded => it seems that we cannot find beta such that + // relative payload will be smaller than requested. Binary search cannot converge. + if ( j > 10 ) { + return lambda3; + } + } + while ( (fabs( dist2 - distortion ) / n > precision) && (iterations < iter_limit) ) { // binary search for parameter lambda + lambda2 = lambda1 + (lambda3 - lambda1) / 2; + dist2 = calc_distortion( n, k, costs, lambda2 ); + if ( dist2 < distortion ) { + lambda3 = lambda2; + dist3 = dist2; + } else { + lambda1 = lambda2; + dist1 = dist2; + } + iterations++; // this is for monitoring the number of iterations + } + return lambda1 + (lambda3 - lambda1) / 2; +} + +float binary_entropy_array( uint n, float *prob ) { + + float h = 0; + float const LOG2 = log( 2.0 ); + float const EPS = std::numeric_limits< float >::epsilon(); + + for ( uint i = 0; i < n; i++ ) + if ( (prob[i] > EPS) && (1 - prob[i] > EPS) ) h -= prob[i] * log( prob[i] ) + (1 - prob[i]) * log( 1 - prob[i] ); + + return h / LOG2; +} + +float entropy_array( uint n, float* prob ) { + + double h = 0; + double const LOG2 = log( 2.0 ); + double const EPS = std::numeric_limits< double >::epsilon(); + + for ( uint i = 0; i < n; i++ ) + if ( prob[i] > EPS ) h -= prob[i] * log( prob[i] ); + + return h / LOG2; +} + +inline uint mod( int x, int m ) { + int tmp = x - (x / m) * m + m; + return tmp % m; +} + +// EMBEDDING ALGORITHMS *********************************************************************************************************** + +// INTERNAL EMBEDDING used in functions below +void stc_embed_trial( uint n, float* cover_bit_prob0, u8* message, uint stc_constraint_height, uint &num_msg_bits, uint* perm, u8* stego, + uint &trial, uint max_trials, const char* debugging_file = "cost.txt" ) { + + bool success = false; + u8* cover = new u8[n]; + double* cost = new double[n]; + while ( !success ) { + randperm( n, num_msg_bits, perm ); + for ( uint i = 0; i < n; i++ ) { + cover[perm[i]] = (cover_bit_prob0[i] < 0.5) ? 1 : 0; + cost[perm[i]] = -log( (1 / std::max( cover_bit_prob0[i], 1 - cover_bit_prob0[i] )) - 1 ); + if ( cost[perm[i]] != cost[perm[i]] ) // if p20[i]>1 due to numerical error (this is possible due to float data type) + cost[perm[i]] = D_INF; // then cost2[i] is NaN, it should be Inf + } + memcpy( stego, cover, n ); // initialize stego array by cover array + // debugging + // write_vector_to_file(n, cost, debugging_file); + try { + if ( num_msg_bits != 0 ) stc_embed( cover, n, message, num_msg_bits, (void*) cost, true, stego, stc_constraint_height ); + success = true; + } catch ( stc_exception& e ) { + if ( e.error_id != 4 ) { // error_id=4 means No solution exists, thus we try to embed with different permutation. + delete[] cost; + delete[] cover; + throw e; + } + num_msg_bits--; // by decreasing the number of bits, we change the permutation used to shuffle the bits + trial++; + if ( trial > max_trials ) { + delete[] cost; + delete[] cover; + throw stc_exception( "Maximum number of trials in layered construction exceeded.", 6 ); + } + } + } + delete[] cost; + delete[] cover; +} + +// SANITY CHECKS for cost arrays +void check_costs( uint n, uint k, float *costs ) { + + bool test_nan, test_non_inf, test_minus_inf; + for ( uint i = 0; i < n; i++ ) { + test_nan = false; // Is any element NaN? Should be FALSE + test_non_inf = false; // Is any element finite? Should be TRUE + test_minus_inf = false; // Is any element minus Inf? should be FALSE + for ( uint j = 0; j < k; j++ ) { + test_nan |= (costs[k * i + j] != costs[k * i + j]); + test_non_inf |= ((costs[k * i + j] != -F_INF) & (costs[k * i + j] != F_INF)); + test_minus_inf |= (costs[k * i + j] == -F_INF); + } + if ( test_nan ) { + std::stringstream ss; + ss << "Incorrect cost array." << i << "-th element contains NaN value. This is not a valid cost."; + throw stc_exception( ss.str(), 6 ); + } + if ( !test_non_inf ) { + std::stringstream ss; + ss << "Incorrect cost array." << i << "-th element does not contain any finite cost value. This is not a valid cost."; + throw stc_exception( ss.str(), 6 ); + } + if ( test_minus_inf ) { + std::stringstream ss; + ss << "Incorrect cost array." << i << "-th element contains -Inf value. This is not a valid cost."; + throw stc_exception( ss.str(), 6 ); + } + } +} + +// MULTI-LAYERED EMBEDDING for plus/minus one changes +// payload limited case - returns distortion +float stc_pm1_pls_embed( uint cover_length, int* cover, float* costs, uint message_length, u8* message, // input variables + uint stc_constraint_height, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output variables + + return stc_pm1_dls_embed( cover_length, cover, costs, message_length, message, F_INF, stc_constraint_height, 0, wet_cost, stego, + num_msg_bits, max_trials, coding_loss ); +} + +// distortion limited case - returns distortion +float stc_pm1_dls_embed( uint cover_length, int* cover, float* costs, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output variables + + check_costs( cover_length, 3, costs ); + float dist = 0; + + int *stego_values = new int[4 * cover_length]; + float *costs_ml2 = new float[4 * cover_length]; + for ( uint i = 0; i < cover_length; i++ ) { + costs_ml2[4 * i + mod( (cover[i] - 1 + 4), 4 )] = costs[3 * i + 0]; // set cost of changing by -1 + stego_values[4 * i + mod( (cover[i] - 1 + 4), 4 )] = cover[i] - 1; + costs_ml2[4 * i + mod( (cover[i] + 0 + 4), 4 )] = costs[3 * i + 1]; // set cost of changing by 0 + stego_values[4 * i + mod( (cover[i] + 0 + 4), 4 )] = cover[i]; + costs_ml2[4 * i + mod( (cover[i] + 1 + 4), 4 )] = costs[3 * i + 2]; // set cost of changing by +1 + stego_values[4 * i + mod( (cover[i] + 1 + 4), 4 )] = cover[i] + 1; + costs_ml2[4 * i + mod( (cover[i] + 2 + 4), 4 )] = wet_cost; // set cost of changing by +2 + stego_values[4 * i + mod( (cover[i] + 2 + 4), 4 )] = cover[i] + 2; + } + + // run general 2 layered embedding in distortion limited regime + dist = stc_ml2_embed( cover_length, costs_ml2, stego_values, message_length, message, target_distortion, stc_constraint_height, + expected_coding_loss, stego, num_msg_bits, max_trials, coding_loss ); + delete[] costs_ml2; + delete[] stego_values; + + return dist; +} + +// MULTI-LAYERED EMBEDDING for plus/minus one and two changes +// payload limited case - returns distortion +float stc_pm2_pls_embed( uint cover_length, int* cover, float* costs, uint message_length, u8* message, // input variables + uint stc_constraint_height, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output variables + + return stc_pm2_dls_embed( cover_length, cover, costs, message_length, message, F_INF, stc_constraint_height, 0, wet_cost, stego, + num_msg_bits, max_trials, coding_loss ); +} + +// distortion limited case - returns distortion +float stc_pm2_dls_embed( uint cover_length, int* cover, float* costs, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output variables + + check_costs( cover_length, 5, costs ); + int *stego_values = new int[8 * cover_length]; + float* costs_ml3 = new float[8 * cover_length]; + std::fill_n( costs_ml3, 8 * cover_length, wet_cost ); // initialize new cost array + + for ( uint i = 0; i < cover_length; i++ ) { + costs_ml3[8 * i + mod( (cover[i] - 2 + 8), 8 )] = costs[5 * i + 0]; // set cost of changing by -2 + stego_values[8 * i + mod( (cover[i] - 2 + 8), 8 )] = cover[i] - 2; + costs_ml3[8 * i + mod( (cover[i] - 1 + 8), 8 )] = costs[5 * i + 1]; // set cost of changing by -1 + stego_values[8 * i + mod( (cover[i] - 1 + 8), 8 )] = cover[i] - 1; + costs_ml3[8 * i + mod( (cover[i] + 0 + 8), 8 )] = costs[5 * i + 2]; // set cost of changing by 0 + stego_values[8 * i + mod( (cover[i] + 0 + 8), 8 )] = cover[i] + 0; + costs_ml3[8 * i + mod( (cover[i] + 1 + 8), 8 )] = costs[5 * i + 3]; // set cost of changing by +1 + stego_values[8 * i + mod( (cover[i] + 1 + 8), 8 )] = cover[i] + 1; + costs_ml3[8 * i + mod( (cover[i] + 2 + 8), 8 )] = costs[5 * i + 4]; // set cost of changing by +2 + stego_values[8 * i + mod( (cover[i] + 2 + 8), 8 )] = cover[i] + 2; + stego_values[8 * i + mod( (cover[i] + 3 + 8), 8 )] = cover[i] + 3; // these values are not used and are defined + stego_values[8 * i + mod( (cover[i] + 4 + 8), 8 )] = cover[i] + 4; // just to have the array complete + stego_values[8 * i + mod( (cover[i] + 5 + 8), 8 )] = cover[i] + 5; // + } + + // run general 3 layered embedding in distortion limited regime + float dist = stc_ml3_embed( cover_length, costs_ml3, stego_values, message_length, message, target_distortion, stc_constraint_height, + expected_coding_loss, stego, num_msg_bits, max_trials, coding_loss ); + delete[] costs_ml3; + delete[] stego_values; + + return dist; +} + +// GENERAL MULTI-LAYERED EMBEDDING + +// algorithm for embedding into 1 layer, both payload- and distortion-limited case +float stc_ml1_embed( uint cover_length, int* cover, short* direction, float* costs, uint message_length, u8* message, + float target_distortion,// input variables + uint stc_constraint_height, float expected_coding_loss, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output variables + + float distortion, lambda = 0, m_max = 0; + bool success = false; + uint m_actual = 0; + uint n = cover_length + 4 - (cover_length % 4); // cover length rounded to multiple of 4 + uint *perm1 = new uint[n]; + + float* c = align_new< float > ( 2 * n, 16 ); + std::fill_n( c, 2 * n, F_INF ); + std::fill_n( c, n, 0 ); + for ( uint i = 0; i < cover_length; i++ ) { // copy and transpose data for better reading via SSE instructions + c[mod( cover[i], 2 ) * n + i] = 0; // cost of not changing the element + c[mod( (cover[i] + 1), 2 ) * n + i] = costs[i]; // cost of changing the element + } + + if ( target_distortion != F_INF ) { // distortion-limited sender + lambda = get_lambda_distortion( n, 2, c, target_distortion, 2 ); // + m_max = (1 - expected_coding_loss) * calc_entropy( n, 2, c, lambda ); // + m_actual = std::min( message_length, (uint) floor( m_max ) ); // + } + if ( (target_distortion == F_INF) || (m_actual < floor( m_max )) ) { // payload-limited sender + m_actual = std::min( cover_length, message_length ); // or distortion-limited sender with + } + + /* SINGLE LAYER OF 1ST LSBs */ + num_msg_bits[0] = m_actual; + uint trial = 0; + u8* cover1 = new u8[cover_length]; + double* cost1 = new double[cover_length]; + u8* stego1 = new u8[cover_length]; + while ( !success ) { + randperm( cover_length, num_msg_bits[0], perm1 ); + for ( uint i = 0; i < cover_length; i++ ) { + cover1[perm1[i]] = mod( cover[i], 2 ); + cost1[perm1[i]] = costs[i]; + if ( cost1[perm1[i]] != cost1[perm1[i]] ) cost1[perm1[i]] = D_INF; + } + memcpy( stego1, cover1, cover_length ); // initialize stego array by cover array + // debugging + // write_vector_to_file(n, cost, debugging_file); + try { + if ( num_msg_bits[0] != 0 ) stc_embed( cover1, cover_length, message, num_msg_bits[0], (void*) cost1, true, stego1, + stc_constraint_height ); + success = true; + } catch ( stc_exception& e ) { + if ( e.error_id != 4 ) { // error_id=4 means No solution exists, thus we try to embed with different permutation. + delete[] cost1; + delete[] cover1; + delete[] stego1; + delete[] perm1; + delete[] c; + throw e; + } + num_msg_bits[0]--; // by decreasing the number of bits, we change the permutation used to shuffle the bits + trial++; + if ( trial > max_trials ) { + delete[] cost1; + delete[] cover1; + delete[] stego1; + delete[] perm1; + delete[] c; + throw stc_exception( "Maximum number of trials in layered construction exceeded.", 6 ); + } + } + } + + /* FINAL CALCULATIONS */ + distortion = 0; + for ( uint i = 0; i < cover_length; i++ ) { + stego[i] = (stego1[perm1[i]] == cover1[perm1[i]]) ? cover[i] : cover[i] + direction[i]; + distortion += (stego1[perm1[i]] == cover1[perm1[i]]) ? 0 : costs[i]; + } + if ( coding_loss != 0 ) { + float lambda_dist = get_lambda_distortion( n, 2, c, distortion, lambda, 0, 20 ); // use 20 iterations to make lambda_dist precise + float max_payload = calc_entropy( n, 2, c, lambda_dist ); + (*coding_loss) = (max_payload - m_actual) / max_payload; // fraction of max_payload lost due to practical coding scheme + } + max_trials = trial; + + delete[] cost1; + delete[] cover1; + delete[] stego1; + delete[] perm1; + align_delete< float > ( c ); + + return distortion; +} + +// algorithm for embedding into 2 layers with possibility to use only 1 layer, both payload- and distortion-limited cases +float stc_ml2_embed( uint cover_length, float* costs, int* stego_values, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output and optional variables + + float distortion, dist_coding_loss, lambda = 0, m_max = 0; + uint m_actual = 0; + uint n = cover_length + 4 - (cover_length % 4); // cover length rounded to multiple of 4 + + check_costs( cover_length, 4, costs ); + // if only binary embedding is sufficient, then use only 1st LSB layer + bool lsb1_only = true; + for ( uint i = 0; i < cover_length; i++ ) { + uint n_finite_costs = 0; // number of finite cost values + uint lsb_xor = 0; + for ( uint k = 0; k < 4; k++ ) + if ( costs[4 * i + k] != F_INF ) { + n_finite_costs++; + lsb_xor ^= (k % 2); + } + lsb1_only &= ((n_finite_costs <= 2) & (lsb_xor == 1)); + } + if ( lsb1_only ) { // use stc_ml1_embed method + distortion = 0; + int *cover = new int[cover_length]; + short *direction = new short[cover_length]; + float *costs_ml1 = new float[cover_length]; + for ( uint i = 0; i < cover_length; i++ ) { // normalize such that minimal element is 0 - this helps numerical stability + uint min_id = 0; + float f_min = F_INF; + for ( uint j = 0; j < 4; j++ ) + if ( f_min > costs[4 * i + j] ) { + f_min = costs[4 * i + j]; // minimum value + min_id = j; // index of the minimal entry + } + costs_ml1[i] = F_INF; + cover[i] = stego_values[4 * i + min_id]; + for ( uint j = 0; j < 4; j++ ) + if ( (costs[4 * i + j] != F_INF) && (min_id != j) ) { + distortion += f_min; + costs_ml1[i] = costs[4 * i + j] - f_min; + direction[i] = stego_values[4 * i + j] - cover[i]; + } + } + + distortion += stc_ml1_embed( cover_length, cover, direction, costs_ml1, message_length, message, target_distortion, + stc_constraint_height, expected_coding_loss, stego, num_msg_bits, max_trials, coding_loss ); + delete[] direction; + delete[] costs_ml1; + delete[] cover; + return distortion; + } + + // copy and transpose data for faster reading via SSE instructions + float* c = align_new< float > ( 4 * n, 16 ); + std::fill_n( c, 4 * n, F_INF ); + std::fill_n( c, n, 0 ); + for ( uint i = 0; i < 4 * cover_length; i++ ) + c[n * (i % 4) + i / 4] = costs[i]; + // write_matrix_to_file(n, 4, c, "cost_ml2.txt"); + for ( uint i = 0; i < n; i++ ) { // normalize such that minimal element is 0 - this helps numerical stability + float f_min = F_INF; + for ( uint j = 0; j < 4; j++ ) + f_min = std::min( f_min, c[j * n + i] ); + for ( uint j = 0; j < 4; j++ ) + c[j * n + i] -= f_min; + } + + if ( target_distortion != F_INF ) { + lambda = get_lambda_distortion( n, 4, c, target_distortion, 2 ); + m_max = (1 - expected_coding_loss) * calc_entropy( n, 4, c, lambda ); + m_actual = std::min( message_length, (uint) floor( m_max ) ); + } + if ( (target_distortion == F_INF) || (m_actual < floor( m_max )) ) { + m_actual = std::min( 2 * cover_length, message_length ); + lambda = get_lambda_entropy( n, 4, c, m_actual, 2 ); + } + /* + p = exp(-lambda*costs); + p = p./(ones(4,1)*sum(p)); + */ + float* p = align_new< float > ( 4 * n, 16 ); + __m128 v_lambda = _mm_set1_ps( -lambda ); + for ( uint i = 0; i < n / 4; i++ ) { + __m128 sum = _mm_setzero_ps(); + for ( uint j = 0; j < 4; j++ ) { + __m128 x = _mm_load_ps( c + j * n + 4 * i ); + x = exp_ps( _mm_mul_ps( v_lambda, x ) ); + _mm_store_ps( p + j * n + 4 * i, x ); + sum = _mm_add_ps( sum, x ); + } + for ( uint j = 0; j < 4; j++ ) { + __m128 x = _mm_load_ps( p + j * n + 4 * i ); + x = _mm_div_ps( x, sum ); + _mm_store_ps( p + j * n + 4 * i, x ); + } + } + // this is for debugging purposes + // float payload_dbg = entropy_array(4*n, p); + + uint trial = 0; + float* p10 = new float[cover_length]; + float* p20 = new float[cover_length]; + u8* stego1 = new u8[cover_length]; + u8* stego2 = new u8[cover_length]; + uint *perm1 = new uint[cover_length]; + uint *perm2 = new uint[cover_length]; + + /* LAYER OF 2ND LSBs */ + for ( uint i = 0; i < cover_length; i++ ) + p20[i] = p[i] + p[i + n]; // p20 = p(1,:)+p(2,:); % probability of 2nd LSB of stego equal 0 + num_msg_bits[1] = (uint) floor( binary_entropy_array( cover_length, p20 ) ); // msg_bits(2) = floor(sum(binary_entropy(p20))); % number of msg bits embedded into 2nd LSBs + try { + stc_embed_trial( cover_length, p20, message, stc_constraint_height, num_msg_bits[1], perm2, stego2, trial, max_trials, "cost2.txt" ); + } catch ( stc_exception& e ) { + delete[] p10; + delete[] p20; + delete[] perm1; + delete[] perm2; + delete[] stego1; + delete[] stego2; + align_delete< float > ( c ); + align_delete< float > ( p ); + throw e; + } + + /* LAYER OF 1ST LSBs */ + for ( uint i = 0; i < cover_length; i++ ) // + if ( stego2[perm2[i]] == 0 ) // % conditional probability of 1st LSB of stego equal 0 given LSB2=0 + p10[i] = p[i] / (p[i] + p[i + n]); // p10(i) = p(1,i)/(p(1,i)+p(2,i)); + else // % conditional probability of 1st LSB of stego equal 0 given LSB2=1 + p10[i] = p[i + 2 * n] / (p[i + 2 * n] + p[i + 3 * n]); // p10(i) = p(3,i)/(p(3,i)+p(4,i)); + num_msg_bits[0] = m_actual - num_msg_bits[1]; // msg_bits(1) = m_actual-msg_bits(2); % number of msg bits embedded into 1st LSBs + try { + stc_embed_trial( cover_length, p10, message + num_msg_bits[1], stc_constraint_height, num_msg_bits[0], perm1, stego1, trial, + max_trials, "cost1.txt" ); + } catch ( stc_exception& e ) { + delete[] p10; + delete[] p20; + delete[] perm1; + delete[] perm2; + delete[] stego1; + delete[] stego2; + align_delete< float > ( c ); + align_delete< float > ( p ); + throw e; + } + delete[] p10; + delete[] p20; + + /* FINAL CALCULATIONS */ + distortion = 0; + for ( uint i = 0; i < cover_length; i++ ) { + stego[i] = stego_values[4 * i + 2 * stego2[perm2[i]] + stego1[perm1[i]]]; + distortion += costs[4 * i + 2 * stego2[perm2[i]] + stego1[perm1[i]]]; + } + if ( coding_loss != 0 ) { + dist_coding_loss = 0; + for ( uint i = 0; i < cover_length; i++ ) + dist_coding_loss += c[i + n * (2 * stego2[perm2[i]] + stego1[perm1[i]])]; + float lambda_dist = get_lambda_distortion( n, 4, c, dist_coding_loss, lambda, 0, 20 ); // use 20 iterations to make lambda_dist precise + float max_payload = calc_entropy( n, 4, c, lambda_dist ); + (*coding_loss) = (max_payload - m_actual) / max_payload; // fraction of max_payload lost due to practical coding scheme + } + max_trials = trial; + + delete[] stego1; + delete[] stego2; + delete[] perm1; + delete[] perm2; + align_delete< float > ( c ); + align_delete< float > ( p ); + + return distortion; +} + +// algorithm for embedding into 3 layers, both payload- and distortion-limited case +float stc_ml3_embed( uint cover_length, float* costs, int* stego_values, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss ) { // output and optional variables + + float distortion, dist_coding_loss, lambda = 0, m_max = 0; + uint m_actual = 0; + uint n = cover_length + 4 - (cover_length % 4); // cover length rounded to multiple of 4 + + check_costs( cover_length, 8, costs ); + float* c = align_new< float > ( 8 * n, 16 ); + std::fill_n( c, 8 * n, F_INF ); + std::fill_n( c, n, 0 ); + for ( uint i = 0; i < 8 * cover_length; i++ ) + c[n * (i % 8) + i / 8] = costs[i]; // copy and transpose data for better reading via SSE instructions + // write_matrix_to_file(n, 8, c, "cost_ml3.txt"); + for ( uint i = 0; i < n; i++ ) { // normalize such that minimal element is 0 - this helps numerical stability + float f_min = F_INF; + for ( uint j = 0; j < 8; j++ ) + f_min = std::min( f_min, c[j * n + i] ); + for ( uint j = 0; j < 8; j++ ) + c[j * n + i] -= f_min; + } + + if ( target_distortion != F_INF ) { + lambda = get_lambda_distortion( n, 8, c, target_distortion, 2.0 ); + m_max = (1 - expected_coding_loss) * calc_entropy( n, 8, c, lambda ); + m_actual = std::min( message_length, (uint) floor( m_max ) ); + } + if ( (target_distortion == F_INF) || (m_actual < floor( m_max )) ) { + m_actual = std::min( 3 * cover_length, message_length ); + lambda = get_lambda_entropy( n, 8, c, m_actual, 2.0 ); + } + /* + p = exp(-lambda*costs); + p = p./(ones(8,1)*sum(p)); + */ + float* p = align_new< float > ( 8 * n, 16 ); + __m128 v_lambda = _mm_set1_ps( -lambda ); + for ( uint i = 0; i < n / 4; i++ ) { + __m128 sum = _mm_setzero_ps(); + for ( uint j = 0; j < 8; j++ ) { + __m128 x = _mm_load_ps( c + j * n + 4 * i ); + x = exp_ps( _mm_mul_ps( v_lambda, x ) ); + _mm_store_ps( p + j * n + 4 * i, x ); + sum = _mm_add_ps( sum, x ); + } + for ( uint j = 0; j < 8; j++ ) { + __m128 x = _mm_load_ps( p + j * n + 4 * i ); + x = _mm_div_ps( x, sum ); + _mm_store_ps( p + j * n + 4 * i, x ); + } + } + // this is for debugging + // float payload_dbg = entropy_array(8*n, p); + + uint trial = 0; + float* p10 = new float[cover_length]; + float* p20 = new float[cover_length]; + float* p30 = new float[cover_length]; + u8* stego1 = new u8[cover_length]; + u8* stego2 = new u8[cover_length]; + u8* stego3 = new u8[cover_length]; + uint *perm1 = new uint[cover_length]; + uint *perm2 = new uint[cover_length]; + uint *perm3 = new uint[cover_length]; + + /* LAYER OF 3RD LSBs */ + for ( uint i = 0; i < cover_length; i++ ) + p30[i] = p[i] + p[i + n] + p[i + 2 * n] + p[i + 3 * n]; // + num_msg_bits[2] = (uint) floor( binary_entropy_array( cover_length, p30 ) ); // + try { + stc_embed_trial( cover_length, p30, message, stc_constraint_height, num_msg_bits[2], perm3, stego3, trial, max_trials, "cost3.txt" ); + } catch ( stc_exception& e ) { + delete[] p10; + delete[] p20; + delete[] p30; + delete[] perm1; + delete[] perm2; + delete[] perm3; + delete[] stego1; + delete[] stego2; + delete[] stego3; + align_delete< float > ( c ); + align_delete< float > ( p ); + throw e; + } + + /* LAYER OF 2ND LSBs */ + for ( uint i = 0; i < cover_length; i++ ) { // + int s = 4 * stego3[perm3[i]]; // % conditional probability of 2nd LSB of stego equal 0 given LSB3 + p20[i] = (p[i + s * n] + p[i + (s + 1) * n]) / (p[i + s * n] + p[i + (s + 1) * n] + p[i + (s + 2) * n] + p[i + (s + 3) * n]); + } + num_msg_bits[1] = (uint) floor( binary_entropy_array( cover_length, p20 ) );// msg_bits(2) = floor(sum(binary_entropy(p20))); % number of msg bits embedded into 2nd LSBs + try { + stc_embed_trial( cover_length, p20, message + num_msg_bits[2], stc_constraint_height, num_msg_bits[1], perm2, stego2, trial, + max_trials, "cost2.txt" ); + } catch ( stc_exception& e ) { + delete[] p10; + delete[] p20; + delete[] p30; + delete[] perm1; + delete[] perm2; + delete[] perm3; + delete[] stego1; + delete[] stego2; + delete[] stego3; + align_delete< float > ( c ); + align_delete< float > ( p ); + throw e; + } + + /* LAYER OF 1ST LSBs */ + for ( uint i = 0; i < cover_length; i++ ) { // + int s = 4 * stego3[perm3[i]] + 2 * stego2[perm2[i]]; // % conditional probability of 1st LSB of stego equal 0 given LSB3 and LSB2 + p10[i] = p[i + s * n] / (p[i + s * n] + p[i + (s + 1) * n]); + } + num_msg_bits[0] = m_actual - num_msg_bits[1] - num_msg_bits[2]; // msg_bits(1) = m_actual-msg_bits(2)-msg_bits(3); % number of msg bits embedded into 1st LSBs + try { + stc_embed_trial( cover_length, p10, message + num_msg_bits[1] + num_msg_bits[2], stc_constraint_height, num_msg_bits[0], perm1, + stego1, trial, max_trials, "cost1.txt" ); + } catch ( stc_exception& e ) { + delete[] p10; + delete[] p20; + delete[] p30; + delete[] perm1; + delete[] perm2; + delete[] perm3; + delete[] stego1; + delete[] stego2; + delete[] stego3; + align_delete< float > ( c ); + align_delete< float > ( p ); + throw e; + } + delete[] p10; + delete[] p20; + delete[] p30; + max_trials = trial; + + /* FINAL CALCULATIONS */ + distortion = 0; + for ( uint i = 0; i < cover_length; i++ ) { + stego[i] = stego_values[8 * i + 4 * stego3[perm3[i]] + 2 * stego2[perm2[i]] + stego1[perm1[i]]]; + distortion += costs[8 * i + 4 * stego3[perm3[i]] + 2 * stego2[perm2[i]] + stego1[perm1[i]]]; + } + if ( coding_loss != 0 ) { + dist_coding_loss = 0; + for ( uint i = 0; i < cover_length; i++ ) + dist_coding_loss += c[i + n * (4 * stego3[perm3[i]] + 2 * stego2[perm2[i]] + stego1[perm1[i]])]; + float lambda_dist = get_lambda_distortion( n, 8, c, dist_coding_loss, lambda, 0, 20 ); // use 20 iterations to make lambda_dist precise + float max_payload = calc_entropy( n, 8, c, lambda_dist ); + (*coding_loss) = (max_payload - m_actual) / max_payload; // fraction of max_payload lost due to practical coding scheme + } + + delete[] perm1; + delete[] perm2; + delete[] perm3; + delete[] stego1; + delete[] stego2; + delete[] stego3; + align_delete< float > ( c ); + align_delete< float > ( p ); + + return distortion; +} + +// EXTRACTION ALGORITHMS ********************************************************************************************************** + +/** Extraction algorithm for any l-layered construction. + @param stego_length - ... + @param stego - ... + @param msg_bits - ... + @param stc_constraint_height - ... + @param message - ... + */ +void stc_ml_extract( uint stego_length, int* stego, uint num_of_layers, uint* num_msg_bits, // input variables + uint stc_constraint_height, // other input parameters + u8* message ) { // output variables + + u8* stego_bits = new u8[stego_length]; + u8* msg_ptr = message; + uint *perm = new uint[stego_length]; + + for ( uint l = num_of_layers; l > 0; l-- ) { // extract message from every layer starting from most significant ones + // extract bits from l-th LSB plane + if ( num_msg_bits[l - 1] > 0 ) { + randperm( stego_length, num_msg_bits[l - 1], perm ); + for ( uint i = 0; i < stego_length; i++ ) + stego_bits[perm[i]] = mod( stego[i], (1 << l) ) >> (l - 1); + stc_extract( stego_bits, stego_length, msg_ptr, num_msg_bits[l - 1], stc_constraint_height ); + msg_ptr += num_msg_bits[l - 1]; + } + } + + delete[] stego_bits; + delete[] perm; +} diff --git a/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.h b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.h new file mode 100644 index 0000000..d2494d1 --- /dev/null +++ b/stc/exp/ml_stc_linux_make_v1.0/ml_stc_src/stc_ml_c.h @@ -0,0 +1,64 @@ +#ifndef STC_ML_H +#define STC_ML_H + +#include +#include "common.h" +#include "stc_embed_c.h" +#include "stc_extract_c.h" + +typedef unsigned int uint; +typedef unsigned char u8; + +const float F_INF = std::numeric_limits::infinity(); +const float D_INF = std::numeric_limits::infinity(); + +// EMBEDDING ALGORITHMS *********************************************************************************************************** + +// MULTI-LAYERED EMBEDDING for plus/minus one changes +// payload limited case - returns distortion +float stc_pm1_pls_embed(uint cover_length, int* cover, float* costs, uint message_length, u8* message, // input variables + uint stc_constraint_height, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output variables +// distortion limited case - returns distortion +float stc_pm1_dls_embed(uint cover_length, int* cover, float* costs, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output variables + +// MULTI-LAYERED EMBEDDING for plus/minus one and two changes +// payload limited case - returns distortion +float stc_pm2_pls_embed(uint cover_length, int* cover, float* costs, uint message_length, u8* message, // input variables + uint stc_constraint_height, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output variables +// distortion limited case - returns distortion +float stc_pm2_dls_embed(uint cover_length, int* cover, float* costs, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, float wet_cost, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output variables + +// GENERAL MULTI-LAYERED EMBEDDING +// algorithm for embedding into 1 layer, both payload- and distortion-limited case +float stc_ml1_embed(uint cover_length, int* cover, short* direction, float* costs, uint message_length, u8* message, float target_distortion,// input variables + uint stc_constraint_height, float expected_coding_loss, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output variables +// algorithm for embedding into 2 layers, both payload- and distortion-limited case +float stc_ml2_embed(uint cover_length, float* costs, int* stego_values, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output and optional variables +// algorithm for embedding into 3 layers, both payload- and distortion-limited case +float stc_ml3_embed(uint cover_length, float* costs, int* stego_values, uint message_length, u8* message, float target_distortion, // input variables + uint stc_constraint_height, float expected_coding_loss, // other input parameters + int* stego, uint* num_msg_bits, uint &max_trials, float* coding_loss = 0); // output and optional variables + +// EXTRACTION ALGORITHMS ********************************************************************************************************** + +/** Extraction algorithm for 2 layered construction. Can be used with: stc_pm1_pls_embed, stc_pm1_dls_embed, stc_ml2_embed + @param stego_length - ... + @param stego - ... + @param msg_bits - ... + @param stc_constraint_height - ... + @param message - ... +*/ +void stc_ml_extract(uint stego_length, int* stego, uint num_of_layers, uint* num_msg_bits, // input variables + uint stc_constraint_height, // other input parameters + u8* message); // output variables + +#endif // STC_ML_H diff --git a/stc/exp/ml_stc_linux_make_v1.0/release/example1_ml_stc.o b/stc/exp/ml_stc_linux_make_v1.0/release/example1_ml_stc.o new file mode 100644 index 0000000000000000000000000000000000000000..3f4341785a9914b3d580e43d7b683ddba1d6465d GIT binary patch literal 5912 zcmb_ge{dXC9e2;?T7i+#0)M~=ouPxo&u8~-vN;BX z8Q;vi&-?!Ve&2ih-tK*~tM~FyC?xzA64hds5@P&RPtxi_lUO9`#gzriNhy}T-OMXS zHe);ag5jjH8D$`wS8T@|)HB(^yq-&LkJNT;)6+T2RI&rgRx>r2bj*Zu{_?0|ru)rA zB9$3b3O0XNc>ZiE#``+#NNugyP{?E`vmHarrK4KTvNhMPX_j{aX#o^{l>meb9ITsOxYqvjAme z^Lf*7tnCqz$Yx9$3&l$U^B5RnJkvVdobA-jrlMq&OJL#WPZPiS(UFX;q+K<4c*&(O za7PHXqBp+Ac5|BLkp)LsN~FgvqNg&Bl61F#lALiA2&HrcmeQie5M8X;K>e?aE-sn=w-ED1ScrjAQN5oEk9hDt z2GoSXw*W`(Q*Q%Aj~^+z13DmovZ&q-sO2!M;#cghqpM+z;DPY>9qKj=sa@_=x0NRU z_5SqqG_;4$JW06Y(*7}LsT}Uxd*bZ9uP+WAS~3lTWrs@PUyU3H?fl?@T_I6;iB{_u zd8*|$D2V8DrA{^RhB7c-YMxw;LXgPn8X<-+8`&2cnW)=&f|gEOx$dsfgU*XP-=o_} z^x?~-dVO&prUu%+oo`flrgX9DC3vxlD2_WGoyIWdG?zB1R(X@^M30Z{UdphZ=DxkJ zpB*|h@^Wa|q1(bONPX1@h1Z~G$%4mryA$RrgM~~5{B8E=PSq>Gn@RAKGyEhJp+6fa z?4{;KbyRh-Q*Gcfly<0f$Sn+IR$kgSR#boBMQOtPCrf>544xH?Hv=1gOqUoe2Ezd^ z1SWtruID3%T`0o{0p?^^REw~D(SxaZl)dy`>Fyx+@Y_dUpE`JCliG~F+H=_H65*1} zpI%R420k6wP!K%=(f=yD2|A*({L((u;TG#p#Q(kKBc1B%%8HM^ee@XX{baSGz_&iG zKoqsmeYCI~Ri2`|rUy`44r|ol*4U}m0lAoAH>~^fv8yFB-yK{lnR(35JccsntWpCK zDEX^|SV~3ajOb<;(77mJ!(7V?%egQWyJwBLA>E+ZxpM;c2aHS3T$vS+adX1S9NXc5 zobkp%2lo+q?$Z)T_U9EgkI&jn&Etc5_;&Y6n)3JZ6gB{eIf4ID;pEv_C;rSfAHJl{ z)8Z7*tky!jT=?@lI$dA97W9*R;fNl`^Sr6_4CcprW5GDil#3kIsxN*UGSu#1VsrI- z8dj`qXs*9|qJGbWvcK>G3amMou~Fz+cnKEI$(%z^mPL8>JLS%kcZ^Qd7ei1V-qtAU zi;uxU{hrn5)&G71QMtipPDD9xZYHB!aG;l_aLR2e9;_dI09K5s?EccK&5->BWNf4r2dIaYH5iG+Dr zdt0iEL3v?dv8OjIJ{IBigIcW0X_2`dy9^2gS|b-mT9!u(F0*Z!M+?E{k1cfb1`*m(6FRFd9KH=DG=taZN`&ZQjP?aJqg89> z&#Q`$%-a>dwYvIyC)Mt6KhQqe4vVMP@U@k`V(ier6ev0tC^s)a84-JX+R^)gPTs?$ zKXUL|B_avk(M6=+wnZeLB|*(-q;)PC1!-Clnn14SokGsz7)~}nYiigI42^7>Z-*k1 z$vS4Fd)>z6FfnfO49ui9kk`{Dll)}uET~~x#7R=UwZe>x#dZ!l^{PpreUu&-pQ{+u zLBT}YO4+A=Ql-;7SbejPEKe}3*@&x|)=9P}qX=h@RA{rLU{F{Zyo=xlxP=jTM4 zdh8B5^_tPy63{!}8@j)gv42CN%f!!jpcib^Vf!vR$Gi~P#-W$+hVCz8vW=k!>!?8; z%#VFOI`vr3Y3Tl(U?|>!zk4~5&5s+5Nzvv7LJT7b+OyLieKTgz-^*ZL<0lK5?+?Q{ zEyxdxxA~qr)8>A8(tp4qw5sPsB<;_F=b~ER6*thTu`@m^X=?J@_H3Yk9#lcz0@{;# z@-?9S^{0NYRlAZ|PPO|*5Tt`o4D;g(%(iNAs_2y@&#*;^|Fv1MJFiz)&^J`j{S~xT zK|fSM^LqCi*A0jEOe6iu4CSrsi3W^ZO=VJ!tK8`-yHY!kk8dzD`jC*rxYKIjL*F&D?4Gz2jT%WkukoYTv3rcJ zt_|R|^y_xY(6YEmOg-IW^l4r3HZ69A0lRhaY}LvgdW>M))jH5&2YBoOw3WV z1vP9T=&=&JPSj3yzc>4;c|GGh&$;qVgo)BCH*Qegaf7< z`yiR$Uj|(ze@h|lK+C_ze>cJ|4-s#A)2uN8Lu5! zb%qdYiQxBx2~;cq<=_P3Cacy|yH@B31IzvMqm8u1<_LjQ5e{|yoG{y>D^cZqlj zIw9#Q#AcjRh_G7;WSq4`#ED7yHIlzs(t||kTav$nh!@SGl;1A-Ka%uAMCd;%`A-s| zzgNl+O8)bbe?;{T=JI;dst^Y0B|_XJ`FY|}A+}O}o)9}Ff0sl&o+5-XQWRCdK8gPY315U1 literal 0 HcmV?d00001 diff --git a/stc/exp/python/dummy b/stc/exp/python/dummy new file mode 100644 index 0000000..4cafabb --- /dev/null +++ b/stc/exp/python/dummy @@ -0,0 +1,7 @@ +0.25 +[1, 1, 1, 1, 0, 0, 0, 0] +[1, 1, 0, 0, 0, 0, 0, 0] +[1, 0, 1, 1, 0, 0, 0, 0] +[1, 1, 1, 0, 1, 1, 0, 0] +[0, 1, 1, 1, 1, 0, 1, 1] +[[1, 1, 0, 0, 0, 0, 0, 0], [1, 0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 1, 1, 0, 0], [0, 1, 1, 1, 1, 0, 1, 1]] diff --git a/stc/exp/python/stc.py b/stc/exp/python/stc.py new file mode 100644 index 0000000..cb1c396 --- /dev/null +++ b/stc/exp/python/stc.py @@ -0,0 +1,210 @@ +from random import * +import numpy as np +from math import * + +infinity = 10000 + + + +# forward part + + +def dec(ch,n): + l = len(ch) + acc = 0 + for i in xrange(l): + if ch[i]==1: + acc = acc + 2**(n-i-1) + return acc + + +def bin(elem,n): + """Convertit un nombre en binaire""" + q = -1 + res = [0 for i in xrange(n)] + i = 1 + while q != 0: + q = elem // 2 + r = elem % 2 + res[n-i] = r + elem = q + i+=1 + return res + + + +def xorb(a,b): + return 1 if a != b else 0 + +def xor(e1,e2,h): + e1b,e2b = bin(e1,h),bin(e2,h) + d = dec([xorb(e1b[j],e2b[j]) for j in xrange(h)],h) + return d + +def lit(d,(indx,indy)): + if (indx,indy) in d : + return d[(indx,indy)] + else : + return 0 + + + + +def forward(H_hat,x,message,lnm): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + path = dict() + nbblock = lnm + wght = [infinity for _ in xrange(int(2**h))] + wght[0]=0 + newwght = [0 for _ in xrange(int(2**h))] + rho = 1 + indx,indm = 0,0 + i=0 + while i < nbblock: # pour chaque bit du message + if i%100 == 0 : + print i + for j in xrange(w): # pour chaque colonne de H_hat + #print indx, "en entrant",wght + k = 0 + while k < int(2**h): # pour chaque ligne de H + w0 = wght[k] + x[indx]*rho + w1 = wght[xor(k,H_hat[j],h)] + (1-x[indx])*rho + if w1 < w0 : + path[(indx,k)] = 1 + else : + if (indx,k) in path: + del path[(indx,k)] + newwght[k] = min(w0,w1) + k +=1 + indx +=1 + wght = [t for t in newwght] + #print " apres calcul",wght + + for j in xrange(int(2**(h-1))): # pour chaque colonne de H + wght[j] = wght[2*j + message[indm]] + wght = wght[:int(pow(2,h-1))] + [infinity for _ in xrange(int(pow(2,h)-pow(2,h-1)))] + indm +=1 + i +=1 + start = np.argmin(wght) + return (start,path) + + +def backward(start,H_hat,x,message,lnm,path): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + indx,indm = len(x)-1,lnm-1 + state = 2*start + message[indm] + indm -=1 + # l'initialisation de state n'est pas optimale... + nbblock = lnm + y=np.zeros(len(x)) + i=0 + while i < nbblock: + if i%10000 == 0 : + print i + l = range(w) + l.reverse() + for j in l: # pour chaque colonne de H_hat + y[indx] = lit(path,(indx,state)) + state = xor(state,y[indx]*H_hat[j],h) + indx -=1 + state = 2*state + message[indm] + indm -=1 + i +=1 + return [int(t) for t in y] + + + + + + +def trouve_H_hat(n,m,h): + assert h ==7 + alpha = float(n)/m + assert alpha >= 2 + index = min(int(alpha),9) + mat = { + 2 : [71,109], + 3 : [95, 101, 121], + 4 : [81, 95, 107, 121], + 5 : [75, 95, 97, 105, 117], + 6 : [73, 83, 95, 103, 109, 123], + 7 : [69, 77, 93, 107, 111, 115, 121], + 8 : [69, 79, 81, 89, 93, 99, 107, 119], + 9 : [69, 79, 81, 89, 93, 99, 107, 119, 125] + }[index] + return(mat, index*m) + + +def stc(x,message): + lnm = len(message) + (mat,taille_suff) = trouve_H_hat(len(x),len(message),7) + x_b = x[:taille_suff] + (start,path) = forward(mat,x_b,message,lnm) + return (x_b,backward(start,mat,x_b,message,lnm,path),mat) + + + + + +def nbdif(x,y): + r,it = 0,0 + l = len(y) + while it < l : + if x[it] != y[it] : + r +=1 + it += 1 + return float(r)/l + + + + + + +def prod(H_hat,lnm,y): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + i=0 + H =[] + while i < lnm: # pour chaque ligne + V=[0 for _ in range(len(y))] + k = max([(i-h+1)*w,0]) + dec = max([i-h+1,0]) + for j in range(min([i+1,h])): #nbre de blocks presents sur la ligne i + for l in range(w): # pour chaque collone de H_hat + V[k] = bin(H_hat[l],h)[h-i-1+j+dec] + k+=1 + + i+=1 + H += [V] + H = np.array(H) + y = np.array(y) + return list(np.dot(H,y)) + +def equiv(x,y): + lx = len(x) + assert lx == len(y) + i=0 + while i < lx : + if x[i] % 2 != y[i]%2 : + return False + i += 1 + return True + + +################ + +x = [randint(0,1) for _ in xrange(50000)] +message = [randint(0,1) for _ in xrange(10000)] + + +(x_b,y,H_hat) = stc(x,message) +# x_b est la sous partie de x qui va etre modifiee +# y est le vecteur des bits modifies +# H_hat est la sous-matrice retenue qui est embarquee dans H + + +print nbdif(x_b,y) + + + + + diff --git a/stc/exp/python/stc.py~ b/stc/exp/python/stc.py~ new file mode 100644 index 0000000..05c6fbf --- /dev/null +++ b/stc/exp/python/stc.py~ @@ -0,0 +1,206 @@ +from random import * +import numpy as np +from math import * + +infinity = 10000 + + + +# forward part + + +def dec(ch,n): + l = len(ch) + acc = 0 + for i in xrange(l): + if ch[i]==1: + acc = acc + 2**(n-i-1) + return acc + + +def bin(elem,n): + """Convertit un nombre en binaire""" + q = -1 + res = [0 for i in xrange(n)] + i = 1 + while q != 0: + q = elem // 2 + r = elem % 2 + res[n-i] = r + elem = q + i+=1 + return res + + + +def xorb(a,b): + return 1 if a != b else 0 + +def xor(e1,e2,h): + e1b,e2b = bin(e1,h),bin(e2,h) + d = dec([xorb(e1b[j],e2b[j]) for j in xrange(h)],h) + return d + +def lit(d,(indx,indy)): + if (indx,indy) in d : + return d[(indx,indy)] + else : + return 0 + + + + +def forward(H_hat,x,message,lnm): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + path = dict() + nbblock = lnm + wght = [infinity for _ in xrange(int(2**h))] + wght[0]=0 + newwght = [0 for _ in xrange(int(2**h))] + rho = 1 + indx,indm = 0,0 + i=0 + while i < nbblock: # pour chaque bit du message + for j in xrange(w): # pour chaque colonne de H_hat + #print indx, "en entrant",wght + k = 0 + while k < int(2**h): # pour chaque ligne de H + w0 = wght[k] + x[indx]*rho + w1 = wght[xor(k,H_hat[j],h)] + (1-x[indx])*rho + if w1 < w0 : + path[(indx,k)] = 1 + else : + if (indx,k) in path: + del path[(indx,k)] + newwght[k] = min(w0,w1) + k +=1 + indx +=1 + wght = [t for t in newwght] + #print " apres calcul",wght + + for j in xrange(int(2**(h-1))): # pour chaque colonne de H + wght[j] = wght[2*j + message[indm]] + wght = wght[:int(pow(2,h-1))] + [infinity for _ in xrange(int(pow(2,h)-pow(2,h-1)))] + indm +=1 + i +=1 + start = np.argmin(wght) + return (start,path) + + +def backward(start,H_hat,x,message,lnm,path): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + indx,indm = len(x)-1,lnm-1 + state = 2*start + message[indm] + indm -=1 + # l'initialisation de state n'est pas optimale... + nbblock = lnm + y=np.zeros(len(x)) + i=0 + while i < nbblock: + l = range(w) + l.reverse() + for j in l: # pour chaque colonne de H_hat + y[indx] = lit(path,(indx,state)) + state = xor(state,y[indx]*H_hat[j],h) + indx -=1 + state = 2*state + message[indm] + indm -=1 + i +=1 + return [int(t) for t in y] + + + + + + +def trouve_H_hat(n,m,h): + assert h ==7 + alpha = float(n)/m + assert alpha >= 2 + index = min(int(alpha),9) + mat = { + 2 : [71,109], + 3 : [95, 101, 121], + 4 : [81, 95, 107, 121], + 5 : [75, 95, 97, 105, 117], + 6 : [73, 83, 95, 103, 109, 123], + 7 : [69, 77, 93, 107, 111, 115, 121], + 8 : [69, 79, 81, 89, 93, 99, 107, 119], + 9 : [69, 79, 81, 89, 93, 99, 107, 119, 125] + }[index] + return(mat, index*m) + + +def stc(x,message): + lnm = len(message) + (mat,taille_suff) = trouve_H_hat(len(x),len(message),7) + x_b = x[:taille_suff] + (start,path) = forward(mat,x_b,message,lnm) + return (x_b,backward(start,mat,x_b,message,lnm,path),mat) + + + + + +def nbdif(x,y): + r,it = 0,0 + l = len(y) + while it < l : + if x[it] != y[it] : + r +=1 + it += 1 + return float(r)/l + + + + + + +def prod(H_hat,lnm,y): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + i=0 + H =[] + while i < lnm: # pour chaque ligne + V=[0 for _ in range(len(y))] + k = max([(i-h+1)*w,0]) + dec = max([i-h+1,0]) + for j in range(min([i+1,h])): #nbre de blocks presents sur la ligne i + for l in range(w): # pour chaque collone de H_hat + V[k] = bin(H_hat[l],h)[h-i-1+j+dec] + k+=1 + + i+=1 + H += [V] + H = np.array(H) + y = np.array(y) + return list(np.dot(H,y)) + +def equiv(x,y): + lx = len(x) + assert lx == len(y) + i=0 + while i < lx : + if x[i] % 2 != y[i]%2 : + return False + i += 1 + return True + + +################ + +x = [randint(0,1) for _ in xrange(50000)] +message = [randint(0,1) for _ in xrange(10000)] + + +(x_b,y,H_hat) = stc(x,message) +# x_b est la sous partie de x qui va etre modifiee +# y est le vecteur des bits modifies +# H_hat est la sous-matrice retenue qui est embarquee dans H + + +print nbdif(x_b,y) + + + + + diff --git a/stc/exp/python/stc_lght.py b/stc/exp/python/stc_lght.py new file mode 100644 index 0000000..61ce831 --- /dev/null +++ b/stc/exp/python/stc_lght.py @@ -0,0 +1,206 @@ +from random import * +import numpy as np +from math import * + +infinity = 10000 + + + +# forward part + + +def dec(ch,n): + l = len(ch) + acc = 0 + for i in xrange(l): + if ch[i]==1: + acc = acc + 2**(n-i-1) + return acc + + +def bin(elem,n): + """Convertit un nombre en binaire""" + q = -1 + res = [0 for i in xrange(n)] + i = 1 + while q != 0: + q = elem // 2 + r = elem % 2 + res[n-i] = r + elem = q + i+=1 + return res + + + +def xorb(a,b): + return 1 if a != b else 0 + +def xor(e1,e2,h): + e1b,e2b = bin(e1,h),bin(e2,h) + d = dec([xorb(e1b[j],e2b[j]) for j in xrange(h)],h) + return d + +def lit(d,(indx,indy)): + if (indx,indy) in d : + return d[(indx,indy)] + else : + return 0 + + + + +def forward(H_hat,x,message,lnm): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + path = dict() + nbblock = lnm + wght = [infinity for _ in xrange(int(2**h))] + wght[0]=0 + newwght = [0 for _ in xrange(int(2**h))] + rho = 1 + indx,indm = 0,0 + i=0 + while i < nbblock: # pour chaque bit du message + for j in xrange(w): # pour chaque colonne de H_hat + #print indx, "en entrant",wght + k = 0 + while k < int(2**h): # pour chaque ligne de H + w0 = wght[k] + x[indx]*rho + w1 = wght[xor(k,H_hat[j],h)] + (1-x[indx])*rho + if w1 < w0 : + path[(indx,k)] = 1 + else : + if (indx,k) in path: + del path[(indx,k)] + newwght[k] = min(w0,w1) + k +=1 + indx +=1 + wght = [t for t in newwght] + #print " apres calcul",wght + + for j in xrange(int(2**(h-1))): # pour chaque colonne de H + wght[j] = wght[2*j + message[indm]] + wght = wght[:int(pow(2,h-1))] + [infinity for _ in xrange(int(pow(2,h)-pow(2,h-1)))] + indm +=1 + i +=1 + start = np.argmin(wght) + return (start,path) + + +def backward(start,H_hat,x,message,lnm,path): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + indx,indm = len(x)-1,lnm-1 + state = 2*start + message[indm] + indm -=1 + # l'initialisation de state n'est pas optimale... + nbblock = lnm + y=np.zeros(len(x)) + i=0 + while i < nbblock: + l = range(w) + l.reverse() + for j in l: # pour chaque colonne de H_hat + y[indx] = lit(path,(indx,state)) + state = xor(state,y[indx]*H_hat[j],h) + indx -=1 + state = 2*state + message[indm] + indm -=1 + i +=1 + return [int(t) for t in y] + + + + + + +def trouve_H_hat(n,m,h): + assert h ==7 + alpha = float(n)/m + assert alpha >= 2 + index = min(int(alpha),9) + mat = { + 2 : [71,109], + 3 : [95, 101, 121], + 4 : [81, 95, 107, 121], + 5 : [75, 95, 97, 105, 117], + 6 : [73, 83, 95, 103, 109, 123], + 7 : [69, 77, 93, 107, 111, 115, 121], + 8 : [69, 79, 81, 89, 93, 99, 107, 119], + 9 : [69, 79, 81, 89, 93, 99, 107, 119, 125] + }[index] + return(mat, index*m) + + +def stc(x,message): + lnm = len(message) + (mat,taille_suff) = trouve_H_hat(len(x),len(message),7) + x_b = x[:taille_suff] + (start,path) = forward(mat,x_b,message,lnm) + return (x_b,backward(start,mat,x_b,message,lnm,path),mat) + + + + + +def nbdif(x,y): + r,it = 0,0 + l = len(y) + while it < l : + if x[it] != y[it] : + r +=1 + it += 1 + return float(r)/l + + + + + + +def prod(H_hat,lnm,y): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + i=0 + H =[] + while i < lnm: # pour chaque ligne + V=[0 for _ in range(len(y))] + k = max([(i-h+1)*w,0]) + dec = max([i-h+1,0]) + for j in range(min([i+1,h])): #nbre de blocks presents sur la ligne i + for l in range(w): # pour chaque collone de H_hat + V[k] = bin(H_hat[l],h)[h-i-1+j+dec] + k+=1 + + i+=1 + H += [V] + H = np.array(H) + y = np.array(y) + return list(np.dot(H,y)) + +def equiv(x,y): + lx = len(x) + assert lx == len(y) + i=0 + while i < lx : + if x[i] % 2 != y[i]%2 : + return False + i += 1 + return True + + +################ + +x = [randint(0,1) for _ in xrange(5000)] +message = [randint(0,1) for _ in xrange(2500)] + + + +(x_b,y,H_hat) = stc(x,message) +# x_b est la sous partie de x qui va etre modifiée +# y est le vecteur des bits modifiés +# H_hat est la sous-matrice retenue qui est embarquee dans H + +print nbdif(x_b,y) + + + + + diff --git a/stc/exp/python/stc_lght.py* b/stc/exp/python/stc_lght.py* new file mode 100644 index 0000000..cb11b21 --- /dev/null +++ b/stc/exp/python/stc_lght.py* @@ -0,0 +1,108 @@ +from random import * +import numpy as np +from math import * + +infinity = 10000 + + + +# forward part + + +def dec(ch,n): + l = len(ch) + acc = 0 + for i in range(l): + if ch[i]==1: + acc = acc + 2**(n-i-1) + return acc + + +def bin(elem,n): + """Convertit un nombre en binaire""" + q = -1 + res = [0 for i in range(n)] + i = 1 + while q != 0: + q = elem // 2 + r = elem % 2 + res[n-i] = r + elem = q + i+=1 + return res + + + +def xorb(a,b): + return 1 if a != b else 0 + +def xor(e1,e2,w): + e1b,e2b = bin(e1,w),bin(e2,w) + d = dec([xorb(e1b[j],e2b[j]) for j in range(w)],w) + return d + + +def forward(H_hat,x,message): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + path = [[0 for _ in range(len(message))] for _ in range(len(x))] + nbblock = len(message) + wght = [infinity for _ in range(int(2**h))] + wght[0]=0 + newwght = [0 for _ in range(int(2**h))] + rho = [1 for _ in range(len(x))] + indx,indm = 0,0 + + for i in range(nbblock): # pour chaque bit du message + for j in range(w): # pour chaque colonne de H_hat + for k in range(nbblock): # pour chaque ligne de H + w0 = wght[k] + x[indx]*rho[indx] + w1 = wght[xor(k,H_hat[j],w)] + (1-x[indx])*rho[indx] + path[indx][k] = 1 if w1 < w0 else 0 + newwght[k] = min(w0,w1) + indx +=1 + wght = [t for t in newwght] + + for j in range(int(2**(h-1))): # pour chaque colonne de H + wght[j] = wght[2*j + message[indm]] + wght = wght[:int(pow(2,h-1))] + [infinity for _ in range(int(pow(2,h)-pow(2,h-1)))] + indm +=1 + + + + return path + + +def backward(H_hat,x,message,path): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + state,indx,indm = message[len(message)-1],len(x)-1,len(message)-2 + # l'initialisation de state n'est pas optimale... + nbblock = len(message) + y=[0 for _ in range(len(x))] + for i in range(nbblock): + l = range(w) + l.reverse() + for j in l: # pour chaque colonne de H_hat + y[indx] = path[indx][state] + state = xor(state,y[indx]*H_hat[j],w) + indx -=1 + + state = 2*state + message[indm] + indm -=1 + return y + + + + +def stc(x,message): + H_hat = [3,2] + # reflechir a une optimisation du la matrice H_hat + path = forward(H_hat,x,message) + #print path + return backward(H_hat,x,message,path) + + + +x = [randint(0,1) for _ in range(50000)] +message = [randint(0,1) for _ in range(25000)] + +print stc(x,message) diff --git a/stc/exp/python/stc_lght.py~ b/stc/exp/python/stc_lght.py~ new file mode 100644 index 0000000..d645830 --- /dev/null +++ b/stc/exp/python/stc_lght.py~ @@ -0,0 +1,108 @@ +from random import * +import numpy as np +from math import * + +infinity = 10000 + + + +# forward part + + +def dec(ch,n): + l = len(ch) + acc = 0 + for i in range(l): + if ch[i]==1: + acc = acc + 2**(n-i-1) + return acc + + +def bin(elem,n): + """Convertit un nombre en binaire""" + q = -1 + res = [0 for i in range(n)] + i = 1 + while q != 0: + q = elem // 2 + r = elem % 2 + res[n-i] = r + elem = q + i+=1 + return res + + + +def xorb(a,b): + return 1 if a != b else 0 + +def xor(e1,e2,w): + e1b,e2b = bin(e1,w),bin(e2,w) + d = dec([xorb(e1b[j],e2b[j]) for j in range(w)],w) + return d + + +def forward(H_hat,x,message): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + path = [[0 for _ in range(len(message))] for _ in range(len(x))] + nbblock = len(message) + wght = [infinity for _ in range(int(2**h))] + wght[0]=0 + newwght = [0 for _ in range(int(2**h))] + rho = [1 for _ in range(len(x))] + indx,indm = 0,0 + + for i in range(nbblock): # pour chaque bit du message + for j in range(w): # pour chaque colonne de H_hat + for k in range(nbblock): # pour chaque ligne de H + w0 = wght[k] + x[indx]*rho[indx] + w1 = wght[xor(k,H_hat[j],w)] + (1-x[indx])*rho[indx] + path[indx][k] = 1 if w1 < w0 else 0 + newwght[k] = min(w0,w1) + indx +=1 + wght = [t for t in newwght] + + for j in range(int(2**(h-1))): # pour chaque colonne de H + wght[j] = wght[2*j + message[indm]] + wght = wght[:int(pow(2,h-1))] + [infinity for _ in range(int(pow(2,h)-pow(2,h-1)))] + indm +=1 + + + + return path + + +def backward(H_hat,x,message,path): + (h,w) = int(log(max(H_hat),2))+1, len(H_hat) + state,indx,indm = message[len(message)-1],len(x)-1,len(message)-2 + # l'initialisation de state n'est pas optimale... + nbblock = len(message) + y=[0 for _ in range(len(x))] + for i in range(nbblock): + l = range(w) + l.reverse() + for j in l: # pour chaque colonne de H_hat + y[indx] = path[indx][state] + state = xor(state,y[indx]*H_hat[j],w) + indx -=1 + + state = 2*state + message[indm] + indm -=1 + return y + + + + +def stc(x,message): + H_hat = [3,2] + # reflechir a une optimisation du la matrice H_hat + path = forward(H_hat,x,message) + #print path + return backward(H_hat,x,message,path) + + + +x = [randint(0,1) for _ in range(50000)] +message = [randint(0,1) for _ in range(25000)] + +print stc(x,message) -- 2.39.5